The Ecomm Analyst

Growing stores, one honest take at a time.

Why GA4 and Shopify Disagree About Your Revenue

Every operator I work with has hit this. GA4 shows last month’s revenue at $84k. Shopify shows $91k. The two systems are looking at the same store, the same orders, and reporting different totals. Which one is right?

Shopify is right about how much money came in. Shopify is the system of record for orders and payments. The revenue number on the dashboard is the actual revenue, net of cancellations and refunds, recorded against actual transactions. There’s no attribution model involved. It’s just sales.

GA4 is reporting a different thing. GA4 is reporting transactions it observed and successfully tracked. If the analytics tag fired, the transaction made it into GA4. If something blocked the tag (ad blocker, privacy extension, ITP, slow page load, mobile network drop), the transaction didn’t.

The gap is the tracking gap. Most stores I audit have a 5 to 15% tracking gap between GA4 and Shopify. Some have more. The gap has been growing year over year as browser privacy features expand and ad blocker usage rises.

This matters more than it might seem because everyone uses GA4 to compute conversion rate, channel performance, and attribution paths. If 15% of transactions never made it into GA4, every channel performance number GA4 reports is missing 15% of the picture, and the missing transactions aren’t randomly distributed. Privacy-conscious users skew toward certain demographics, certain channels, and certain price points. The gap is biased.

What I do about this.

Treat Shopify as the revenue source of truth for any number going into a P&L or operator review. GA4 numbers don’t go into financial reporting in any business I run.

Use server-side tracking where possible. Shopify’s checkout extensibility and the platform’s Pixels API let you fire events server-side, which captures conversions that client-side tracking misses. This narrows the gap.

Look at the GA4-to-Shopify ratio as a tracking health metric over time. When the ratio drops, your tracking is degrading. When it stabilizes after a fix, your fix worked.

For attribution, I use ThoughtMetric because it pulls server-side transaction data and combines it with other signals (UTM, pixel, post-purchase survey). The tracking gap that affects GA4 doesn’t affect server-side data the same way, so the channel mix lines up closer to actual revenue.

GA4 is useful for site behavior analytics. Page paths, session duration, conversion funnels, search terms. For revenue attribution, it’s reporting a subset of reality and the subset is shrinking.

Leave a comment

Navigation

About

Six years in e-commerce. Three Shopify stores across different niches, one scaled past seven figures. I’ve tested hundreds of ad creatives, obsessed over email flows, and learned more from my failures than my wins.

Now I focus on conversion optimization, retention marketing, and the analytics behind it all. This blog is where I share what actually works, backed by real numbers. No fluff, no guru energy.