Published · 5 min read · By the FCAnalytics team
WooCommerce analytics vs Google Analytics 4: what each one can and cannot tell you
Every WooCommerce store owner eventually opens Google Analytics and WooCommerce Analytics side by side and finds different numbers for the same week. The instinct is to ask which one is wrong. Neither is. They measure different things, from different places, under different rules, and the useful question is which one to trust for which decision. This article sets out what each can and cannot tell you.
Two different sources
WooCommerce Analytics is built from the orders in your database. Its documentation defines gross sales as sale price times quantity, net sales as gross sales minus returns and coupons, and total sales as net sales plus taxes and shipping. Refunds appear as negative numbers on the date they occurred. Pending, cancelled and failed orders are excluded by default and the refunded status cannot be excluded. Since WooCommerce 10.5, new stores refresh these reports by scheduled imports every 12 hours, with a data status indicator and a manual Update Now; existing stores opt in from Analytics Settings. Every order counts, whether it came from a browser, the admin, a phone call or an API.
Google Analytics 4 is built from events sent by the shopper’s browser. The official Google Analytics for WooCommerce extension sends purchases, add to cart, product detail views, checkout start and more to a GA4 property. Its documentation lists the conditions: the connection “can take up to 48 hours” to start, purchase tracking “requires a payment gateway that redirects to the thank you/order received page after payment”, and in the EEA, UK and Switzerland visitors “must grant cookie consent before analytics tracking is activated”, with the note that this can create “a discrepancy between your store and Google Analytics/Ads data”. An order whose shopper declined consent, used a blocker, closed the tab before the thank-you page or paid through a gateway that never returned to it is simply not in GA4.
Why the counts differ, and by how much
Put the two sources together and the gap explains itself. GA4 will always show fewer orders than WooCommerce, because it only sees the orders whose purchase event reached Google. The size of the gap is roughly your consent decline rate plus blocker use plus gateway misses. It is not a bug and it is not stable: it moves when you change the banner, when a browser update changes cookie handling, when you add a wallet payment. Refunds widen it further, since GA4 does not reflect them unless you send refund events, while WooCommerce subtracts them.
So when the numbers disagree, use the rule: WooCommerce for money, GA4 for behaviour. Revenue, orders, average order value, refunds, products sold: WooCommerce. Sessions, pages, where visitors came from, what they looked at before buying, how mobile differs from desktop: GA4.
What WooCommerce Analytics can tell you
- Exact revenue, net of refunds and coupons, by day, product, category, coupon and tax rate.
- Order counts by status, so unpaid and failed orders are visible even though they are excluded from totals.
- Customer lists with order counts and totals.
- Stock levels and downloads.
- Last-click order attribution (since 8.5) on each order, and, with the early-access Order Attribution reports, orders by channel, source, campaign and device.
And cannot
- Anything before the checkout: sessions, product views, add-to-cart rates. WooCommerce has no record of a visit that did not produce an order.
- Profit. The analytics documentation does not mention cost, profit or margin. The core Cost of Goods Sold field (WooCommerce 10.3) stores a cost; it does not add a profit report.
- Cohorts, lifetime value over time or abandoned-cart analysis.
What GA4 can tell you
- Sessions, users, pages and events, with source and medium for each session and campaign reporting for your UTMs.
- A behaviour funnel: view item, add to cart, begin checkout, purchase, across the shoppers who consented.
- Device, landing page, site search, engagement time, and the paths people take through content.
- Ad platform linking, so Google Ads conversions can be reported alongside sessions.
And cannot
- Give you a complete order count or exact revenue, for the consent and gateway reasons above.
- Reflect refunds, cancellations or status changes made after the purchase event.
- Know what an order cost you: product cost, fees, shipping, ad spend are not in the browser.
- Report on orders placed outside the browser: admin, phone, API, subscription renewals.
When GA4 alone is enough
A store with little ad spend, simple products and a single gateway that returns to the thank-you page can run on WooCommerce Analytics for sales and GA4 for traffic, and never need a third tool. The owner looks at WooCommerce on Monday for revenue and at GA4 when a campaign runs. The numbers will not match and that is fine, because nobody is using the GA4 revenue figure for anything that matters.
GA4 stops being enough when the question becomes money rather than traffic: which channel is profitable after ad spend, which product sells well but earns nothing, which customers are worth a win-back, what the abandoned carts last month were worth. GA4 cannot answer those because it does not have costs or complete orders; WooCommerce Analytics cannot because it has no profit model and no funnel.
Analytics without Google Analytics
Some stores would rather not run GA4 at all, for privacy or for simplicity. That is workable for the money questions, since orders live in WooCommerce whatever the browser does. For the behaviour questions you need some first-party measurement of visits. The minimum is a small script that counts sessions, product views, add-to-cart and checkout steps with a random session id and no personal profile; it answers the funnel question without a Google account and still needs to respect your consent settings.
Where FCAnalytics sits
FCAnalytics reads the orders, refunds and attribution WooCommerce recorded, through read-only API keys, and adds what WooCommerce Analytics lacks: product costs, payment fees, shipping and monthly ad spend to get net profit; cohorts and lifetime value; abandoned carts by step and product; attribution mapped to channels with profit per channel. The optional tracking snippet adds the funnel steps before checkout with a random session id, so a store can have a funnel without GA4. It does not replace GA4 for content, site search or ad-platform linking, and it says so on the features page. Its counting rules, including which statuses are paid and how refunds are dated, are published on the methodology page, so when its number disagrees with GA4 you can see exactly why.
The practical setup for most WooCommerce stores is therefore three things, not one: WooCommerce Analytics for the record of what sold, GA4 or a first-party snippet for what visitors did, and a profit layer for what it all earned. Pick the tool for each by reading what it measures, and stop expecting the three to agree to the order.
Related guides
Written by the FCAnalytics team, the people who build the product. Definitions and formulas in this article are the ones FCAnalytics uses in its dashboards; see how net profit is calculated and the FAQ.