Send widget events to Google Analytics 4 and Google Tag Manager
Track widget views, testimonial clicks and video plays in your own Google Analytics 4 or Tag Manager, with no code, from the widget's settings.
A widget can send its own events, such as a view, a testimonial click or a video play, to the Google Analytics 4 or Google Tag Manager already on your website. You turn it on per widget, with no code. It's on Pro, Premium and Business, and the workspace owner and project Admins can set it up.
Google Analytics or Tag Manager must already be installed on the pages where the widget appears.
Turn it on
Open the widget in the builder: on the Widgets page under Share, click the widget's name. On the Settings tab, turn on the switch of the Google Analytics row.
Add the events you want
Click the Google Analytics row to open it. Every event the widget can send is listed with a switch of its own: turn on the ones you want. See Events you can send.
An event you switch off keeps its name and parameters for the next time you switch it on.
Rename events or add parameters (optional)
- Sent as: the name Google receives. Use lowercase letters, numbers and underscores, start with a letter and keep it to 40 characters. Names starting with
google_,ga_orfirebase_are reserved by Google. - Param: click it to add a parameter of your own, and fill in a name and a value, up to 10 per event. A name starts with a letter, uses letters, numbers and underscores, and is up to 40 characters; a value can be up to 100 characters.
For the parameters every event carries on its own, see Parameters sent with every event.
Check it on your live site
Your changes save as you make them, and a published widget picks them up without new embed code. Events aren't sent from the builder preview or anywhere in the ReTestimonial dashboard, so test on your own site: open a page with the widget, scroll to it and click a testimonial, then look for the events in Google Analytics' Realtime report or in Tag Manager's Preview mode.
Events you can send
| Event | Name sent | When it's sent |
|---|---|---|
| Widget Viewed | widget_view | Once each time the widget loads on a page, when at least half of it has been on screen for one second |
| Testimonial Clicked | testimonial_click | A visitor clicks a testimonial, its link, Read more or a video |
| CTA Clicked | cta_click | A visitor clicks the widget's call-to-action button, or opens a floating video launcher |
| Video Played | video_play | A video starts playing |
| Video Progress | video_progress | A video reaches 25%, 50% and 75%, with a video_percent parameter |
| Video Completed | video_complete | A video reaches 95% of its length, or the end |
Parameters sent with every event
Every event also carries these parameters on its own:
source: alwaysReTestimonial.widget_id,widget_nameandwidget_type: which widget sent it.widget_idis the widget's embed key.testimonial_id: on events about one testimonial, such as a click or a video play.video_percent: on Video Progress only.
A custom parameter with one of these names is replaced by the widget's own value, so the editor marks it and asks you to use another name.
How the events reach Google
The widget sends each event two ways, whichever your page has:
- Google Analytics 4 (the
gtagtag): as a GA4 event with the name and parameters above. - Google Tag Manager: as a
dataLayerentry whoseeventis the event name, with each parameter alongside it. In Tag Manager, a Custom Event trigger with that name can fire your tags, and Data Layer Variables can read the parameters.
If you also forward these entries to GA4 through a Tag Manager tag while the page loads gtag directly, GA4 counts each event twice. Pick one route.
To use a parameter such as widget_name in GA4 reports, register it as a custom dimension in GA4.
Things to know
- Consent. The widget sends events to your Google tags only for visitors whose tracking is allowed. It follows your project's Proof Impact privacy settings: with GPC and DNT signals on Honor privacy signals (recommended), the default, it sends nothing for a visitor with Do Not Track or Global Privacy Control on, and it sends nothing for one who declined tracking through the widget's consent setting. For everyone else, your Google consent settings, such as Consent Mode, decide what Google stores.
- Iframe embeds. A plain iframe sends nothing to Google. An iframe with its helper script (Automatic sizing and Proof Impact when you copy the code) sends events under the same rule as the script embed.
- Plan changes. If your plan no longer includes this feature, widgets stop sending the events; your settings are kept.
- Wall of Love. A Wall of Love doesn't have this setting. On Business, its Custom JavaScript setting, under Developer in the wall builder's Embed tab, has a Google Analytics clicks snippet, under Snippets, that sends a click event for its cards.
What happens next
- Your widget views and clicks are also counted in ReTestimonial: see Read your widget analytics.
- To change what the widget shows or looks like, see Customize a widget.
- To add the widget to more pages, see Embed a widget on any website.
Was this page helpful?
Send a form's submissions to a webhook
Send each testimonial submitted through one form to your own server or automation tool as a signed JSON request, and test the connection.
Use your own domain for forms and your Wall of Love
Serve a project's collection forms and Wall of Love from a subdomain you own, such as reviews.yourbrand.com, by adding one DNS record.