Black Friday · Sale on every paid plan See prices →

StorePinger / Blog

WooCommerce Google Analytics or WooCommerce Analytics: which numbers should you trust?

Last updated: November 4, 2026

Open WooCommerce Analytics and it says you had 212 orders last month. Open the WooCommerce Google Analytics integration, Google Analytics 4 (GA4), for the same month and it says 178 purchases. Both are "right" by their own rules, and neither tells you which rule applies to the decision in front of you. If you set an ad budget on the GA4 number you will underfund a channel by about 16%. If you report the WooCommerce number to a partner who measures in GA4, you will spend an hour explaining the gap.

This guide explains what each tool counts, why they never match, what each one is for, and which to open each morning. It uses only what WooCommerce and Google say in their own documentation, checked in November 2026, plus worked examples you can redo with your own numbers.

Key takeaways

  • WooCommerce Analytics counts orders from your database. GA4 counts events from shoppers' browsers. They measure different things and will never agree.
  • WooCommerce Analytics has no visitors, sessions or traffic sources. GA4 has no order statuses, refunds by status or stock.
  • GA4 misses purchases when a shopper blocks tracking, when the thank-you page is cached, or when a payment gateway sends the shopper back the wrong way.
  • WooCommerce Analytics uses "date paid" by default and excludes pending, cancelled and failed orders. GA4 counts the purchase event the moment it fires.
  • Use WooCommerce Analytics for money, GA4 for marketing attribution, and an in-WordPress analytics plugin when you want both without leaving the dashboard.

What does WooCommerce Analytics actually count?

WooCommerce Analytics counts orders, revenue, products, customers, coupons, taxes, stock and order attribution from your store's own database. It does not count visitors, sessions, page views or traffic sources. Every number comes from an order record, so it is exact for money and blind to everything that happened before the order.

The reports, per the WooCommerce Analytics documentation, are Categories, Coupons, Customers, Downloads, Orders, Order attribution, Products, Variations, Revenue, Stock and Taxes. The overview lives at WooCommerce > Overview and the settings at Analytics > Settings.

Two settings change the totals more than most owners realise.

  • Date type. The Revenue and Orders reports can use the date created, the date paid or the date completed. The default is date paid. An order placed at 11:50 pm on the 31st and paid on the 1st belongs to next month.
  • Excluded statuses. By default, pending payment, cancelled and failed orders are excluded. Processing, on hold and completed are included. Refunded cannot be excluded. Custom statuses from plugins are included unless you untick them.

So "212 orders" in WooCommerce Analytics means 212 orders that reached a paid status in that period, under those rules. Change the date type to "date created" and the number can move by a few percent.

What does Google Analytics 4 count on a WooCommerce store?

GA4 counts events sent from the shopper's browser: page views, add to cart, begin checkout and purchase. A purchase is counted when the purchase event fires on the thank-you page. If that event never fires, or fires twice, GA4 is wrong and has no way to check itself against the order list.

On WooCommerce the usual setup is the free Google Analytics for WooCommerce extension from woocommerce.com. It sends the ecommerce events listed on its page: product views, add to cart, remove from cart, checkout steps and completed purchases. GA4 then turns those events into reports about users, sessions, channels and conversion paths.

The strength is obvious. GA4 knows the shopper came from a Google Ads campaign, looked at four products, left, came back from an email and bought. WooCommerce Analytics knows none of that. The weakness is that every one of those events depends on a script running in a browser that may be blocking it.

Why do the two never match?

They never match because one counts database rows and the other counts browser events. Consent banners, ad blockers, cached thank-you pages, payment gateway redirects and different date rules each remove or move a few percent. Together they explain gaps of 10 to 25 percent on an ordinary store.

Here are the causes, from most to least common on the stores whose owners post in the WooCommerce forums.

  1. Consent. GA4 uses first-party cookies to tell users and sessions apart, per Google's cookie documentation. Where a consent banner is required and the shopper declines, the purchase is either not sent or sent without the user. The order still exists in WooCommerce.
  2. Ad blockers and privacy browsers. Some browsers and extensions block the analytics script. Those orders exist in WooCommerce only.
  3. Cached thank-you page. If a caching plugin serves the order-received page from cache, the purchase event can fire with the wrong order or not at all. Google's AI Overview for this topic repeats the same point from its help community.
  4. Payment gateway return path. When a shopper pays on PayPal or a bank page and closes the tab before returning, WooCommerce receives the payment by webhook and marks the order paid. GA4 never sees a thank-you page.
  5. Date rules. WooCommerce uses date paid by default. GA4 uses the time the event fired, in the property's time zone.
  6. Status rules. A refund lowers WooCommerce net revenue. GA4 keeps the original purchase unless you send a refund event.
  7. Thresholds. In some GA4 reports Google withholds rows to prevent anyone from inferring a person's identity, per the data thresholds page. Small stores looking at demographic or search-term reports see "(other)" or missing rows.

A worked example, not a customer result: a store has 212 paid orders in October. Twenty shoppers declined cookies, eight used an ad blocker, four paid by bank redirect and never came back to the site, and two orders were paid on November 1. WooCommerce Analytics shows 210 orders for October by date paid. GA4 shows 212 minus 20 minus 8 minus 4, which is 180 purchases. Neither tool is broken. The 30-order gap is 14% of the WooCommerce number.

QuestionWooCommerce AnalyticsGoogle Analytics 4
What is countedOrders in your databaseEvents from browsers
Visitors, sessions, page viewsNoYes
Traffic source per orderOrder attribution report (last click, session cookies)Yes, several attribution models
Refunds and order statusesYes, with per-status rulesOnly if you send refund events
Stock, coupons, taxesYesNo
Affected by consent and ad blockersNoYes
Where the data livesYour WordPress databaseGoogle's servers
PriceIncluded with WooCommerceFree tier. GA Pro extension is $79 per year on woocommerce.com as of November 2026
Read it whereWordPress adminanalytics.google.com

Which one is free?

Both are free at the level most stores use. WooCommerce Analytics ships with WooCommerce. The Google Analytics for WooCommerce extension is free and GA4 has a free tier. Paid add-ons exist on both sides, but you can run a store for years without paying for either.

The costs are in time, not money. GA4 takes an afternoon to set up properly, a consent banner to run legally in many regions, and regular checks that the purchase event still fires after every plugin update. WooCommerce Analytics takes nothing to set up and nothing to maintain, because it reads the orders you already have.

How do I check that GA4 is counting my WooCommerce purchases?

Place a test order while logged out, then look for the purchase event in the GA4 Realtime report within a minute. If it does not appear, the usual causes are a cached thank-you page, a second GA4 tag, or a payment method that returns the shopper by webhook instead of the browser. Fix those before you trust any GA4 revenue figure.

  1. Open a private browser window so you are not logged in as an admin. The WooCommerce extension excludes administrator visits by default, so a logged-in test never shows up.
  2. Buy a cheap product with a real payment method, or a cash-on-delivery method if you have one enabled for testing.
  3. In GA4, open Reports and then Realtime. Look for the purchase event and the order value.
  4. Check the order in WooCommerce. Confirm the order number and the total match what GA4 shows.
  5. Repeat with your most used payment gateway. PayPal, Stripe and bank redirects each return the shopper differently.
  6. Allow 24 to 48 hours before judging the standard reports. Realtime is fast, the rest is not.

If the purchase event fires twice, you have two tags. Common sources are a theme option, a separate analytics plugin and Google Tag Manager all adding the same measurement ID. Remove all but one.

Which is better for a small store with under 100 orders a month?

For a store with under 100 orders a month, WooCommerce Analytics plus an in-dashboard analytics plugin covers the daily questions, and GA4 adds little until you run paid ads. At that size GA4's thresholds hide rows, its sample is small, and the time it takes to learn is better spent on the store.

A worked example, not a customer result. A store with 60 orders a month and a 14% tracking gap sees about 52 purchases in GA4. Split across five channels, several channels show fewer than ten purchases. Any change of two or three orders looks like a 30% swing. The same store in WooCommerce Analytics sees the exact 60, with the refunds and the coupon codes next to them, and in StorePinger sees which of the 60 came from Google, email or ChatGPT. The decision you can act on comes from the second pair of reports, not the first.

Once ad spend passes a few hundred dollars a month, add GA4 for the ad platforms. Keep it as a feed for Google Ads rather than a dashboard you read.

What are the downsides of using Google Analytics on a store?

The downsides are incomplete purchase data, a consent requirement in many regions, data that leaves your site, a learning curve that most store owners never finish, and reports that can withhold rows on small properties. None of these is a reason to delete GA4. They are reasons not to make it your only source of truth.

"What is replacing Google Analytics?" is one of the questions Google itself shows under this search. The honest answer for a store owner is that nothing replaces it as an ad-attribution tool, and several things replace it as a daily dashboard. The replacements are in-WordPress analytics plugins that store data in your own database and read orders directly. StorePinger is one of them. Others, as of November 2026, include Independent Analytics and Burst Statistics, each with its own scope. Our Google Analytics alternative page covers what to look for.

Can I use both?

Yes, and most stores that advertise should. Use WooCommerce Analytics for revenue, refunds and stock. Use GA4 to feed Google Ads and to study multi-visit paths. Expect the two to disagree by a predictable amount and write that amount down so you stop re-investigating it.

A simple routine:

  1. At the start of each month, note WooCommerce paid orders and GA4 purchases for the previous month.
  2. Divide GA4 by WooCommerce. In the example above it is 180 divided by 210, or 0.86.
  3. If next month's ratio stays near 0.86, nothing is broken. If it drops to 0.60, a plugin update probably broke the purchase event. If it rises above 1.0, the event is firing twice.
  4. Judge channels inside GA4 by relative share, not absolute count. If Google Ads is 30% of GA4 purchases, assume it is near 30% of real orders.

How do I get traffic sources without leaving WordPress?

Turn on WooCommerce Order Attribution for a free last-click source on each order, and add an analytics plugin that records the visit before the order if you want visitors, sources and carts in the same place. Order Attribution alone shows "Unknown" for a share of orders, so plan for that.

Order Attribution is at WooCommerce > Settings > Advanced > Features. Per the documentation it records the referring URL, UTM parameters, device type and session page views, but only when an order is placed, and it holds the data in cookies that mostly expire with the session. It cannot show you a visit that did not end in an order. Our UTM tracking guide covers the Unknown problem and how to tag links so it happens less.

StorePinger's sales by source records the source at the start of the visit and matches the paid order later, so a cached checkout page or a gateway redirect does not lose the source. It names AI tools such as ChatGPT and Perplexity as their own source, keeps the data in your database, and its visitor tracker sets no cookies.

Which should you check each morning?

Check revenue, orders and refunds in WooCommerce Analytics or a report email, then check live visitors and sales by source in your WordPress dashboard. Open GA4 weekly, for campaigns and paths, not daily. Daily GA4 checking is how store owners end up anxious about numbers that are 15% low by design.

Five minutes a day is enough. Yesterday's orders and revenue. Any refunds. Which source brought the orders. Who is on the store right now, which the live visitors view shows without a report. Abandoned carts from yesterday, which the cart recovery screen lists with their value. If you get a sales report email each morning, the first three are already in your inbox.

Common mistakes

  • Comparing GA4 purchases to WooCommerce orders and calling one of them wrong. They count different things. Compare the ratio over time instead.
  • Leaving the date type on "date paid" without knowing it. Month-end orders paid the next day move months. Pick the rule that matches your accounting and leave it.
  • Caching the cart, checkout and thank-you pages. WooCommerce support advises excluding cart and checkout from caching plugins. The thank-you page should never be cached.
  • Judging a channel on visits. A channel is only as good as the orders it brings. The traffic sources report should always sit next to revenue.
  • Running two tags. A theme setting, a plugin and Google Tag Manager can each add GA4. Three tags means three purchase events per order.
  • Forgetting refunds. WooCommerce net revenue falls when you refund. GA4 revenue does not, unless you send the refund event.

Conclusion

WooCommerce Analytics is the ledger. Google Analytics 4 is the map of how people got to the shop. The ledger is exact about money and silent about marketing. The map is detailed about marketing and loses between a tenth and a quarter of the purchases on an ordinary store, for reasons that have nothing to do with you. Once you accept that, the monthly argument about which number is right goes away. Write down the ratio, watch it for changes, and judge channels by their share.

The next step is to get the two halves into one screen. Turn on Order Attribution today, tag your own links with UTM parameters, and look at the StorePinger features page to see how live visitors, sources and orders look together inside WordPress.

FAQ

Frequently asked questions

Why does Google Analytics show fewer purchases than WooCommerce?

GA4 counts a purchase only when the purchase event fires in the shopper's browser on the thank-you page. Declined consent, ad blockers, a cached thank-you page or a payment gateway that never returns the shopper to the site all stop that event. The order still exists in WooCommerce, which reads the database. A gap of 10 to 25 percent is normal.

Does WooCommerce Analytics show visitors or traffic sources?

No. Per the WooCommerce documentation it reports categories, coupons, customers, downloads, orders, order attribution, products, variations, revenue, stock and taxes. The order attribution report gives a last-click source per order, but there are no visitor, session or page-view numbers. You need an analytics plugin or GA4 for those. An in-dashboard plugin such as StorePinger fills that gap inside WordPress.

Is Google Analytics for WooCommerce free?

Yes. The official Google Analytics for WooCommerce extension is free on woocommerce.com and WordPress.org, and GA4 itself has a free tier. A paid Google Analytics Pro extension is listed at $79 per year on woocommerce.com as of November 2026. Most stores do not need it. The real cost is the time to set up consent and to re-check tracking after plugin updates.

Which date does WooCommerce Analytics use for revenue?

By default it uses the date the order was paid. You can change it to date created or date completed at Analytics > Settings. The choice moves orders placed near midnight or at month end between periods, so pick the rule that matches your accounting and keep it. Date paid is usually the right choice for revenue reporting.

Can I use Google Analytics with WordPress and WooCommerce at the same time?

Yes. Install the free Google Analytics for WooCommerce extension, paste your G- measurement ID, and enable ecommerce tracking. Keep WooCommerce Analytics for revenue and refunds, and use GA4 for channel paths and Google Ads. Expect the purchase counts to differ and track the ratio month to month. Write the ratio down so you stop re-checking it.

What is replacing Google Analytics for store owners?

For ad attribution, nothing yet. For the daily dashboard, in-WordPress analytics plugins that store data in your own database and read orders directly are replacing it. They show visitors, sources and sales in one screen without cookies or a consent banner for the tracker. StorePinger, Independent Analytics and Burst Statistics are examples as of November 2026.

What are the downsides of using Google Analytics on a store?

Incomplete purchase data when shoppers block tracking, a consent requirement in many regions, visitor data stored on Google's servers, a steep learning curve, and reports that withhold rows on small properties to protect identity. None of these makes GA4 useless, but they make it a poor single source of truth for money.

Why does my order attribution show Unknown?

WooCommerce support lists manual orders, order meta that did not save, cached cart or checkout pages, browser privacy settings, payment gateway redirects and links without tracking parameters. Exclude cart and checkout from caching, keep query strings on UTM links, and expect some Unknown rows to remain. An analytics plugin that records the source at the start of the visit reduces them.

See every visitor. Feel every sale.

Start free with live visitors, or get every feature with Pro.

See plansStart free