Google Analytics logo

Track survey completions with the rating attached

Every product survey response sends a custom feedback_submitted event carrying the rating, so respondents become a segment you can analyse.

When this happens

New submission on your product feedback survey

Do this

Send a custom GA4 feedback_submitted event with the rating and topic as event parameters

One-directional. A submission triggers the action — nothing is written back into your form.

Survey answers usually sit in one tool and behaviour sits in another, so a question like whether the people who rate you badly use the product differently takes a week and an export to answer.

Product teams close that gap by sending a small event on each completion. The rating and the product it refers to travel with it, which is enough to build an audience of low scorers in Google Analytics and watch where they go next. The written comments stay in formformform, where they are readable.

Setting it up

  1. 1

    Publish the product feedback survey in formformform and keep the rating scales as fixed options. A scale groups cleanly in a report; an opinion typed into a box does not.

  2. 2

    Agree the event name before building. feedback_submitted is a custom name, so it has to be spelled the same way in every Zap you point at Google Analytics.

  3. 3

    Copy the Measurement ID from your web data stream and create a Measurement Protocol API secret.

  4. 4

    Build the Zap: formformform as the trigger app, New Submission as the event, and the published survey form.

  5. 5

    Add the Measurement Protocol action, set the event name to feedback_submitted, and add parameters for rating, topic, tenure and recommend.

  6. 6

    Map "Ease of use" into rating and "Product Name or Model" into topic. Keep the topic list short — one value per product, not per model variant — so the dimension stays under GA4's limits.

  7. 7

    Register rating, topic, tenure and recommend in Admin → Custom definitions as event-scoped dimensions, then create an audience of anyone whose rating sits at the bottom of the scale.

  8. 8

    Complete the survey once yourself, confirm the event and its parameters in Realtime → Event count, then turn the Zap on and leave the audience to fill.

What maps where

Using the Product Feedback Survey as the starting point. These are its real fields — swap in your own and the mapping works the same way.

Form fieldGoogle Analytics
Ease of userating event parameter, the score the audience definition is built on
Product Name or Modeltopic event parameter, registered as an event-scoped custom dimension
Value for moneyvalue_rating event parameter, named apart from GA4's own value field so it is never mistaken for money
Would you recommend this product to a friend or colleague?recommend event parameter, recorded as a short yes or no
How long have you been using this product?tenure event parameter, so new and long-standing users can be compared
Email AddressHashed into user_id where you join sessions; the address itself is kept in formformform

Variations worth knowing

Build an audience from the low scores

Once rating is a registered dimension, create a GA4 audience for anyone who sent feedback_submitted with a score at the bottom of the scale. It fills from the day it is created, and explorations can then compare how that group moves through the site against everyone else.

Run one event name across several surveys

If you also field an onboarding survey and a churn survey, keep feedback_submitted as the single event name and separate them with a survey_name parameter. One event, three sources, and the rating dimension keeps working across all of them.

If something isn't arriving

The rating parameter arrives as text and will not average

GA4 treats a parameter as a string unless it is sent as a number. If your scale is worded rather than numbered, add a Zapier formatter lookup that maps each label to a digit before the Analytics step, and register it as a custom metric rather than a dimension.

The audience of low scorers stays empty

Audiences are not retroactive and need enough qualifying events to populate. Check the parameter value in Realtime first: a mismatch between the audience condition and the exact string the Zap sends, capital letters included, is the usual reason nothing qualifies.

Frequently asked questions

Can I read what someone wrote inside Google Analytics?

No, and it is not what the event is for. Comments stay in formformform, where you can filter, search and export them. Google Analytics receives the scores as parameters so responses can be counted and segmented without personal detail leaving the form.

Does a custom event name need registering anywhere?

The event name does not — GA4 records whatever it receives. The parameters do. Until each one is registered as a custom dimension or metric in Admin, it is collected but never shown in reports, and registration only applies from the day it is made.

Will anything I tag in Google Analytics update the response?

No. Nothing travels back. The submission fires the event and the connection ends there, so audiences, tags and annotations made inside Google Analytics stay there. Keep the response record in formformform as the source of truth.

Related automations

Build the form first

The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.

Start free