<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=482955330209157&amp;ev=PageView&amp;noscript=1">
Skip to content
  • There are no suggestions because the search field is empty.

Measure Aqurate Personalize performance in Google Analytics 4

Measure Aqurate Personalize performance in Google Analytics 4 Track clicks and influenced revenue from your Aqurate recommendations inside your own GA4 property, using Google Tag Manager.

⏳ Duration: 45 minutes 
🎚️ Complexity: high

⚠️ Prerequisites:

  • Aqurate labels applied to your widgets using either the ⚓ Anchors option or the 🔗 UTM option
  • Google Tag Manager installed on your site
  • Google Analytics 4 connected to that GTM container

If you already measure Aqurate Personalize inside Aqurate and want the same signals next to your other channels in GA4, this guide shows you how. You will use Google Tag Manager to detect interactions with your Aqurate recommendations, send a custom event to GA4, and build a report.

The setup follows the labeling option you chose in the prerequisite guide. Use Part 1A if you applied the ⚓ Anchors option, or Part 1B if you applied the 🔗 UTM option. After that, Parts 2 and 3 are the same for everyone.


Read this first: what the numbers mean

GA4 and your Aqurate dashboard measure different things, so the figures will not match. GA4 will show higher numbers, and that is expected.

  • Aqurate uses direct click-and-buy attribution over a 30-day window. It credits a recommendation only when a shopper clicks it and then buys, within 30 days.
  • GA4 also counts assisted conversions, not just direct ones. A shopper can click a recommendation, leave, return through another channel, and still have the purchase associated with the recommendation interaction. That is why GA4 numbers run higher.

Treat GA4 as a directional, in-your-own-tool view of how shoppers engage with recommendations. Treat your Aqurate dashboard as the source of truth for recommendation revenue. Comparing the two side by side will create more questions than answers.

This method tracks interactions with recommended products reliably. Tying those to revenue is possible but indirect in GA4, covered in Part 3.


How it works

Both labeling options carry the same four pieces of information. GTM reads them, sends them to GA4 as a custom aqurate_select event, and GA4 stores them for reporting.

Information Anchors option UTM option
It's an Aqurate recommendation .aqurate-personalize class aqurate_personalize=true in the URL
Widget location .aqurate-location-[location] aqurate_location=[location]
Recommendation type .aqurate-endpoint-[endpoint] aqurate_endpoint=[endpoint]
Action taken .aqurate-action-[action] aqurate_action=[action]

The difference is when the event fires. The Anchors option fires on the click itself. The UTM option fires when the shopper lands on the destination page carrying the parameters. Both work. Pick the one matching your labeling.

We send events under an aqurate_ namespace on purpose. They stay separate from GA4's standard reports and will not interfere with any data you already collect.


Part 1A: GTM setup for the ⚓ Anchors option

Skip to Part 1B if you used the UTM option.

Create the click trigger

  1. In GTM, go to Triggers → New. Name it Aqurate - Recommendation Click.
  2. Choose trigger type Click - Just Links, firing on Some Link Clicks.
  3. Set the condition: Click Elementmatches CSS selector → enter:
    .aqurate-personalize, .aqurate-personalize * 

    The second part (.aqurate-personalize *) catches clicks that land on an image or button inside the link, not just the link itself.

  4. Save.

If Click Element is not in the dropdown, go to Variables → Configure and enable all the built-in Clicks variables first.

Capture location, endpoint, and action

These values live inside the link's class list. Create three Custom JavaScript variables (Variables → New → Custom JavaScript).

Variable: Aqurate Location

function() {   var el = {{Click Element}};   var link = el.closest ? el.closest('.aqurate-personalize') : null;   if (!link) return undefined;   var m = link.className.match(/aqurate-location-([a-z-]+)/);   return m ? m[1] : undefined; } 

Variable: Aqurate Endpoint — same code, change location to endpoint:

function() {   var el = {{Click Element}};   var link = el.closest ? el.closest('.aqurate-personalize') : null;   if (!link) return undefined;   var m = link.className.match(/aqurate-endpoint-([a-z-]+)/);   return m ? m[1] : undefined; } 

Variable: Aqurate Action — same code, change location to action:

function() {   var el = {{Click Element}};   var link = el.closest ? el.closest('.aqurate-personalize') : null;   if (!link) return undefined;   var m = link.className.match(/aqurate-action-([a-z-]+)/);   return m ? m[1] : undefined; } 

Each variable walks up from the clicked element to the labeled link, then reads the value out of the class list. Now go to Part 2.


Part 1B: GTM setup for the 🔗 UTM option

Use this if your recommendation links carry parameters like ?aqurate_personalize=true&aqurate_location=pdp.

Create the URL variables

The values sit in the URL of the page the shopper lands on. Create four URL variables (Variables → New → URL, component type Query).

Variable name Query key
Aqurate Personalize (URL) aqurate_personalize
Aqurate Location (URL) aqurate_location
Aqurate Endpoint (URL) aqurate_endpoint
Aqurate Action (URL) aqurate_action

For each: set Component Type to Query, then enter the query key in the Query Key field.

Create the page-view trigger

  1. Go to Triggers → New. Name it Aqurate - Recommendation Landing.
  2. Choose trigger type Page View, firing on Some Page Views.
  3. Set the condition: {{Aqurate Personalize (URL)}} equals true.
  4. Save.

This fires once when a shopper arrives on a page from an Aqurate recommendation. Now go to Part 2. When Part 2 asks for variable values, use the (URL) variables you just created.


Part 2: Send the event to GA4

  1. Go to Tags → New. Name it GA4 - Aqurate Recommendation.
  2. Choose tag type Google Analytics: GA4 Event.
  3. Select your GA4 configuration tag (or enter your Measurement ID).
  4. Set Event Name to:
    aqurate_select 
  5. Under Event Parameters, add these rows. Use the plain variable names if you did Part 1A, or the (URL) variants if you did Part 1B.
    Parameter name Value (Anchors) Value (UTM)
    aqurate_location {{Aqurate Location}} {{Aqurate Location (URL)}}
    aqurate_endpoint {{Aqurate Endpoint}} {{Aqurate Endpoint (URL)}}
    aqurate_action {{Aqurate Action}} {{Aqurate Action (URL)}}
  6. Under Triggering, select Aqurate - Recommendation Click (Anchors) or Aqurate - Recommendation Landing (UTM).
  7. Save, then click Submit in the top right to publish the container.

Part 3: Register the dimensions and build the report

GA4 ignores custom parameters until you register them.

Register the custom dimensions

  1. In GA4, go to Admin → Custom definitions → Create custom dimension.
  2. Create one dimension for each parameter:
    Dimension name Scope Event parameter
    Aqurate location Event aqurate_location
    Aqurate endpoint Event aqurate_endpoint
    Aqurate action Event aqurate_action
    The Event parameter field must match the name from GTM exactly, including lowercase and underscores.
  3. Save each one.

Two things to know: registration is not retroactive (you only see data collected after you register), and it can take up to 48 hours for values to appear.

Build the report

  1. Go to Explore → Free-form.
  2. Add Aqurate location, Aqurate endpoint, and Aqurate action as Dimensions.
  3. Add Event count as a Metric.
  4. Apply an event-name filter for aqurate_select.
  5. Drag the dimensions into Rows and Event count into Values.

You now see which widget locations and recommendation types drive the most engagement.

Connect to revenue (indirect)

GA4 will not attribute purchase revenue to a recommendation interaction on its own. To approximate influence:

  1. In your Exploration, create a SegmentUser segment → "Include users when Event aqurate_select".
  2. Add a second segment for users without that event.
  3. Compare purchases and purchase revenue across the two segments.

This shows whether shoppers who engage with recommendations convert and spend more. It is a directional comparison, not strict attribution. For accurate recommendation revenue, use your Aqurate dashboard.


Optional: native GA4 promotion events

GA4 has built-in promotion events (view_promotion, select_promotion) that feed its standard Promotions report automatically.

We do not recommend them as the default. Those events write into GA4's standard Monetization reports. If you already track banners, campaigns, or other internal promotions there, Aqurate data will mix in with that data and can distort reports you already rely on. The custom-event method above keeps Aqurate data cleanly separate.

Use promotion events only if you do not track any other promotions in GA4 and you want the built-in report. The setup mirrors Part 2, but you map the Aqurate values to promotion_name, creative_slot, and creative_name.


Testing and troubleshooting

Before you publish: Use GTM Preview mode. Trigger a recommendation on your site and confirm the GA4 - Aqurate Recommendation tag fires and your variables return values, not undefined.

After you publish: Open GA4 Admin → DebugView (with GTM Preview active) and confirm the aqurate_select event arrives with its parameters.

Common issues:

  • Variables return undefined: The link is missing the Aqurate labels. Re-check your labeling against the setup guide.
  • No data in reports after a day: Custom dimensions take up to 48 hours and are not retroactive. Confirm the parameter names match exactly between GTM and GA4.
  • (Anchors) Tracking stops after a redesign: This method depends on the .aqurate-* classes staying on your widget links. Re-verify after any theme change or template update, since reskins often drop or rename classes.
  • (UTM) The same visit counts more than once: The event fires on page load while the parameters are in the URL, so a refresh can re-fire it. The parameters are custom, not standard utm_ tags, so they will not start new sessions or affect your traffic-source attribution. They do appear in the Page location dimension but not in the default Page path report.
  • Single-page-app storefronts (React, Vue): If your store re-renders content without full page reloads, GTM triggers can misfire. Tell us at support@aqurate.ai and we will advise on a dataLayer-based setup.

Questions about setting this up? We're happy to help: support@aqurate.ai