Cherry Seed

Why does WooCommerce show more orders than GA4?

woocommerce ga4 order-discrepancy tracking-gap purchase-event data-loss

Quick Answer

WooCommerce records every completed order at the database level, regardless of what happens in the browser. GA4 depends on client-side JavaScript to fire a purchase event on the confirmation page — and 30–40% of those events fail to fire because of ad blockers alone (SignalBridge, 2026). Safari ITP, consent rejection, off-site payment gateways like PayPal, and caching plugins serving stale confirmation pages each widen the gap further. The order exists in WooCommerce; GA4 simply never saw it happen.

Full Answer

The root cause is architectural. WooCommerce writes an order to the database the moment a payment clears — it doesn't need a browser, a cookie, or a JavaScript tag to do it. GA4, by contrast, fires its purchase event from a script running inside the visitor's browser on the order-received page. Anything that blocks or interrupts that script means the order is invisible to GA4.

Ad blockers are the single largest factor. A SignalBridge benchmark found that 30–40% of GA4 purchase events fail to fire due to ad blockers alone — and that figure compounds with other breakpoints. Safari's Intelligent Tracking Prevention shortens first-party cookies to seven days, breaking returning-visitor attribution. iOS App Tracking Transparency further restricts cross-site tracking. GDPR consent banners, when a visitor declines, prevent the GA4 tag from loading at all.

Off-site payment gateways add another layer. When a customer pays via PayPal, Klarna, or a hosted checkout, they leave your site. If the redirect back to the confirmation page fails, times out, or lands on a cached version, the purchase tag never fires. The sale completes — WooCommerce and Stripe both know — but GA4 doesn't.

Server-side tracking closes this gap by capturing purchase events at the WooCommerce hook level, outside the browser entirely. Tools like Transmute Engine fire the event from your server the moment the order status changes, so the data reaches GA4, Google Ads, and Meta regardless of what happened in the browser. Related: Why GA4 and WooCommerce order counts never match.

Sources

Programmatic Access

GET https://seresa.io/wp-json/cherry-tree-by-seresa/v1/seeds/1093

Cite This Answer

Cherry Tree by Seresa - https://seresa.io/seed/wordpress-tracking/why-does-woocommerce-show-more-orders-than-ga4