GA4 Ultimate Stack

Find tracking breaks between GTM and GA4 across brands

Bond each GTM container to its GA4 property, verify the bond, then compare what GTM sends with GA4's key events and what GA4 actually recorded, for every brand in one run.

What parity compares

A tracking break usually sits between two systems: GTM sends an event and GA4 never sees it, or GA4 still treats an event as a key event when nothing produces it any more. The GTM ↔ GA4 Parity Checker compares three things per brand:

  • the GA4 event tags GTM actively fires;
  • the key events configured in GA4;
  • the events GA4 has actually recorded in the lookback window.

It is read-only. It changes neither GTM nor GA4.

GTM tags, GA4 key events and recorded events, compared per brand, become specific findings.

A diagram linking GTM event tags and GA4 key events to the events actually recorded, producing findings.

Bond each container to its property

Parity runs on mappings you control, not on a guess. A mapping pairs one GTM container with the GA4 property its Google tag sends to, plus an optional roll-up property. ODDVX verifies the bond by reading the Measurement ID from the container's Google tag (following a constant variable if that's how it is set) and matching it to the property's web stream.

Container, Measurement ID, property: verified when they match.

A GTM container linked through its Measurement ID to a GA4 property's web stream, marked verified, with an optional roll-up property.

Fix the bond before you trust the run

Bond statusWhat it means
VerifiedThe Measurement ID matches a web stream on the property
MismatchThe container sends somewhere else. The run is blocked until it is fixed
No GA4 config tagThere is no Google tag to read the ID from
Dynamic Measurement IDThe ID is set by a lookup and can't be confirmed
No web streamThe property has no web stream to match
Not verifiedYou can still run, with a warning
A mismatch blocks the run. The other statuses tell you how much to trust it.

A two-column list of six bond statuses.

Run the check

  1. Select the mappings to include. Free keeps one saved bond; Premium keeps as many as you need.
  2. Choose the lookback: 7 days, or 30 days for low-volume events that don't fire every week.
  3. Run it.
Saved bonds and a lookback. Use 30 days for events that are naturally quiet.

A run form with four mappings ticked and a 7-day lookback selected.

Read the findings

The findings list one row per event per brand, with the GTM tag, the GA4 key event and what parity concluded. The four findings that need action are on by default: orphaned tracking, rug-pulled key events, unaccounted key events and portfolio consistency. Two informational ones are off by default: not a key event and GA4-derived. Each has a precise meaning; see Read parity findings. On Premium, export the findings to Excel.

One row per event per brand, each with a specific finding.

A findings table with OK, orphaned, rug-pulled, unaccounted and GA4-derived rows across five brands.

Check consistency across the portfolio

Some problems only exist at portfolio level. purchase is a key event on six brands and not on two. Each property looks fine on its own; the inconsistency only appears side by side. Parity flags it so you can decide which way to align.

A key event on six of eight brands: a gap you only see across the portfolio.

A grid of eight brands showing purchase as a key event on six and missing on two, while the GTM tag fires on all eight.

ODDVX for Windows

Every property, one screen.

Start free on one GA4 brand per run. Premium adds every brand in one run, batch writes, exports and scheduled checks.