Veracend

Why doesn’t GA4 purchase revenue match Shopify?

Short answer

GA4 only records purchases from visitors it can measure and usually records gross revenue at purchase time, while Shopify’s totals include every order and take off refunds and returns. Compare order counts first, then revenue, and check for duplicate GA4 tags.

By , founder of Veracend · Updated

Why it happens

  • Consent and blockers. Visitors who decline cookies or block scripts aren’t recorded, or only appear in modelled data.
  • Gross vs net. GA4 purchase revenue is gross; Shopify’s Total sales removes refunds and returns.
  • Duplicate tags. Two GA4 tags (theme plus app, or GTM plus app) can count one purchase twice.
  • Orders outside the online store. POS, draft and subscription orders never pass through a tracked checkout.
  • Data thresholds. With Google signals on, GA4 can hide rows on small days in some reports.

How to fix it

  1. Count purchases two waysIn a GA4 exploration, compare the purchase event count with the Transactions metric for the same days. More events than transactions means duplicates.
  2. Compare like with likeCompare GA4 with Shopify’s gross sales for the Online Store channel, not total sales for all channels.
  3. Find duplicate tagsCheck theme code and Settings › Customer events for more than one GA4 measurement ID.
  4. Match transaction IDsExport a week of Shopify orders and match order numbers to GA4 transaction IDs to see which ones are missing.

Check it worked

For a recent week, GA4 purchase events and transactions should be close to each other, and the orders missing from GA4 shouldn’t share one payment method or country.

Common questions

Why are recent days lower in GA4?

GA4 can take a day or two to finish processing. Judge complete days only.

Which matters more, count or revenue?

Start with counts. Revenue only lines up once the order counts do.

See what your own store is losing.

Paste your store address for a free check in under a minute. No login and no app to install.