GA4 and WooCommerce sales don't match: why and how to fix it
When GA4 and WooCommerce disagree on sales, the gap almost always comes from a handful of specific faults, not from GA4 being unreliable. Here is what to check, in the order worth checking it.
First, decide which way the gap goes
GA4 lower than WooCommerce means conversions are being lost before GA4 sees them. GA4 higher means something is being counted twice. The direction tells you which half of this guide to read, so compare GA4 revenue against WooCommerce’s own order total for the same dates first.
When GA4 is lower than WooCommerce
- The purchase event isn’t firing reliably on the order-received page, often because a plugin or theme change moved or broke it.
- A cookie banner is blocking the tag for everyone who doesn’t accept, so those orders never register.
- Customers leave to a separate payment domain (some gateways) and the session breaks, so the purchase isn’t tied back.
- Ad-blockers and iOS quietly remove a slice of browser-side events.
Not sure why your WooCommerce numbers are off?
We’ll scan your live tracking and show where orders are being lost or double-counted. Free, 10 seconds.
Check my tracking freeWhen GA4 is higher than WooCommerce
This is nearly always duplication. Two common causes: both a WooCommerce GA4 plugin and a GTM setup are firing the purchase, so every order is counted twice; or the order-received page gets reloaded or revisited and re-fires the event. The fix is a single source of truth for the purchase event and a consistent transaction_id so GA4 can recognise and drop duplicates.
The transaction_id that quietly fixes a lot
Every purchase event should carry the WooCommerce order ID as its transaction_id. With it, GA4 can deduplicate repeated reports of the same order automatically. Without it, GA4 has no way to tell two pings of order 1234 apart, which inflates revenue and is one of the most common WooCommerce mismatches.
How close is acceptable
A healthy WooCommerce setup lands GA4 within a few percent of actual revenue and stays steady. A persistent 15 to 30 percent gap, or one that drifts, is a tracking fault worth fixing rather than a quirk to live with.
Get your WooCommerce tracking fixed
We find the exact cause and fix the purchase event, duplicates and transaction_id so GA4 matches your orders. The audit comes off any build.
See how it works & pricingDatahound are analytics and ad-tracking specialists. We fix broken GA4, Google Ads, Meta and server-side tracking. See pricing · All guides · Back to datahound.agency
GA4 vs WooCommerce: common questions
Why is GA4 revenue lower than my WooCommerce sales?
Usually orders are lost before GA4 records them: the purchase event not firing on the order-received page, a cookie banner blocking the tag, a broken hand-off to a separate payment domain, or ad-blockers and iOS.
Why is GA4 showing more revenue than WooCommerce?
Almost always duplication: both a WooCommerce GA4 plugin and a GTM tag firing the purchase, or the order-received page re-firing on reload. A single purchase event with the order ID as transaction_id fixes it.
How close should GA4 and WooCommerce be?
Within a few percent for a healthy setup. A steady gap of 15 to 30 percent or one that keeps drifting points to a tracking fault worth fixing.