Webclat / Ecommerce
ecomm.webclat.com

Find out why GA4 and Shopify disagree

Shopify says one revenue number for the month. GA4 says another. The gap is big enough that it comes up every time someone opens both dashboards, and nobody has ever actually explained it.

Quick answer

GA4 only counts purchase events from visitors who consented to tracking and whose browser let the tag fire; Shopify counts every completed order. We trace test orders end to end and reconcile GA4's purchase events against your Shopify order ledger - a purchase-event integrity audit - so the gap is attributed to specific, named causes instead of a shrug.

The situation

Two systems, two revenue totals for the same period, and the size of the gap keeps changing month to month. It's become the thing someone always brings up in the Monday meeting, and the honest answer so far has been "we're not sure."

The pain

When nobody trusts either dashboard fully, decisions default to gut feel or whoever argues loudest. A growing, unexplained gap is worse than a small, explained one - it usually means something is actively breaking, not just consent doing what consent does.

What we implement

We trace test orders through your checkout and reconcile GA4's purchase events against your Shopify order ledger - a purchase-event integrity audit - so every gap is attributed to a specific, named cause: consent declines, ad blockers, a duplicate-firing tag, or a checkout path that never got instrumented.

What you get

  • Every report in the company defining "revenue" and "conversion" the same way, drawn from the same reconciliation.
  • A documented, stable gap instead of one that grows quietly and nobody notices until it's large.
  • One number for leadership that both marketing and finance can point to without a caveat.

The end-customer benefit here is indirect: fewer internal reporting errors mean fewer downstream mistakes that customers would otherwise feel - the wrong segment, the wrong follow-up, a loyalty program built on numbers that didn't add up.

Illustrative, not a measured result: a store whose GA4 revenue ran meaningfully under Shopify's might find most of the gap traces to consent declines and one duplicate-purchase bug on a single checkout path - fixing the bug closes a real slice of the gap outright. This is a scenario meant to show the shape of the outcome, not a client figure.

Common questions

Why doesn't GA4 match Shopify?

GA4 only counts purchases from visitors who consented to tracking and whose browser let the tag fire, while Shopify counts every completed order regardless of consent or browser. The gap is the sum of consent declines, ad blockers, and any bugs in how the purchase event fires.

Is one of them wrong?

Usually neither is wrong on its own terms - Shopify counts orders, GA4 counts consented, successfully-tagged purchase events. The problem is treating either one as the whole truth without knowing what the gap is made of.

Can this gap ever fully close?

Not entirely - some gap from consent declines and browser blocking is structural. The goal is shrinking the gap to a small, stable, explained number instead of a large or growing unexplained one.

Find out what your tracking actually reports.

A runtime audit of your store: every tag that fires, every event that reaches your analytics and ad platforms, and where the numbers diverge from the orders table. Evidence first, opinions second.

Request an audit