Integrations and domains

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_ or firebase_ 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

EventName sentWhen it's sent
Widget Viewedwidget_viewOnce each time the widget loads on a page, when at least half of it has been on screen for one second
Testimonial Clickedtestimonial_clickA visitor clicks a testimonial, its link, Read more or a video
CTA Clickedcta_clickA visitor clicks the widget's call-to-action button, or opens a floating video launcher
Video Playedvideo_playA video starts playing
Video Progressvideo_progressA video reaches 25%, 50% and 75%, with a video_percent parameter
Video Completedvideo_completeA video reaches 95% of its length, or the end

Parameters sent with every event

Every event also carries these parameters on its own:

  • source: always ReTestimonial.
  • widget_id, widget_name and widget_type: which widget sent it. widget_id is 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 gtag tag): as a GA4 event with the name and parameters above.
  • Google Tag Manager: as a dataLayer entry whose event is 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

Was this page helpful?

On this page