Free account review

E-commerce

GA4 e-commerce tracking: how to make sure every sale is counted

If the sales in GA4 don't roughly match the sales in your shop, your tracking needs fixing before you change anything else. Google Ads, Meta and your own decisions all rely on that data. A small gap is normal. A big or growing gap means something is broken.

Here is how to check it and what to fix.

Why it matters

Ad platforms use your conversion data to decide who to show ads to and how much to bid. If a third of your sales aren't recorded, they will undervalue the campaigns that drive them. If sales are counted twice, they will overvalue them and spend more than they should.

Bad tracking doesn't just give you a wrong report. It actively steers your budget in the wrong direction.

Step 1: Compare GA4 with your shop

Take a recent full week. Compare the number of orders and the revenue in your shop platform with the purchase count and purchase revenue in GA4.

Expect some difference. People decline cookies, use ad blockers or pay in ways that skip the confirmation page. But if the gap is large, or GA4 shows more orders than your shop, there is a problem.

Step 2: Check the purchase event

Open GA4's real-time or DebugView report and place a test order. Check that:

  • A purchase event fires once, and only once.
  • It includes a transaction ID that matches the order number.
  • The value and currency are correct.
  • The items in the order are passed through.

The transaction ID is important. GA4 uses it to avoid counting the same order twice when someone reloads the confirmation page.

Step 3: Look for duplicate tags

The most common cause of double counting is two different setups sending the same event. For example, a platform's built-in integration and a Google Tag Manager tag both sending purchases. Pick one method and remove the other.

Step 4: Check the rest of the funnel

A full e-commerce setup tracks more than purchases. At minimum:

  • view_item when someone views a product
  • add_to_cart when they add to basket
  • begin_checkout when they start checkout
  • purchase when they buy

With these in place you can see where people drop out, which is the starting point for improving conversion. Our guide to Shopify checkout drop-off shows how to use that data.

If you use a cookie banner, it needs to pass consent choices to Google through consent mode. If it is set up wrongly, GA4 and Google Ads may record far less than they should, or may record data you don't have consent for. Test the banner by accepting and declining, and check what fires in each case.

Step 6: Connect GA4 and your ad accounts properly

Link GA4 to Google Ads, and decide where conversions for bidding will come from. Many stores use the Google Ads conversion tag for bidding, with enhanced conversions switched on, and use GA4 for analysis. Whatever you choose, make sure the same purchase isn't counted twice in Google Ads.

For Meta, use the pixel together with the Conversions API and make sure events are deduplicated.

Step 7: Recheck after every site change

Theme changes, new apps, checkout updates and new cookie banners all break tracking. Make it a habit to place a test order and check the numbers after any significant change.

The quick health check

Once a month, ask three questions:

  1. Do GA4 orders roughly match shop orders?
  2. Do Google Ads and Meta conversions roughly match the sales they claim?
  3. Has anything on the site changed since the last check?

If you'd like someone to check your tracking properly, it's part of our free account review. Fixing it is usually the first job we do for a new client, because every decision after that depends on it.

Frequently asked questions

Why does GA4 show fewer sales than my shop?

Some difference is normal because of cookie choices, ad blockers and payment flows that skip the confirmation page. A large gap usually means the purchase event is missing on some orders or consent mode is set up wrongly.

Why does GA4 show more sales than my shop?

Usually because purchases are being sent twice, often by two different integrations, or because the purchase event fires again when the confirmation page is reloaded without a transaction ID.

Should Google Ads use GA4 conversions or its own tag?

Either can work. What matters is that each purchase is counted once in Google Ads. Many stores use the Google Ads tag with enhanced conversions for bidding and GA4 for analysis.

Find out where your ad spend is going

Free, no obligation review of your Google Ads or Meta account, with the three changes we'd make first.

Book a free account review or call 07380 148 161