CRO & Analytics

GA4 Ecommerce Tracking Audit: A 15-Point Checklist Before You Trust Your Data

By Divya Singh, CRO & Analytics LeadFebruary 202610 min read

Every optimisation decision (which campaign to scale, which page to test, which product to promote) rests on your analytics. In most stores we audit, GA4 is reporting something, but not quite the truth: revenue that doesn't match the store, conversions credited to the payment provider, or funnels with steps missing. Run this checklist before you make another decision based on the data.

Revenue and Transactions

1. GA4 revenue reconciles with your store

Compare a full month of GA4 purchase revenue with your Shopify or WooCommerce orders. Some gap is normal because of ad blockers and consent choices, but a large or changing gap means something is broken. Note whether both include tax and shipping consistently.

2. No duplicate purchases

Purchase events that fire again when a customer reloads the confirmation page inflate revenue. Every purchase must send a unique transaction_id, and the tag should only fire once per order.

3. Purchase event carries full item data

Check that items includes item ID, name, price, quantity and category. Without it, product performance reports are empty.

4. Currency is set

Missing or wrong currency values break revenue reporting, especially for multi-currency stores.

The Funnel

5. All key ecommerce events fire

view_item_list, view_item, add_to_cart, begin_checkout, add_shipping_info, add_payment_info and purchase. A missing step makes your funnel report meaningless at exactly the point you need it.

6. Events fire once, at the right moment

Use DebugView to walk through a real purchase. add_to_cart firing on page load, or begin_checkout firing twice, are common.

7. Refunds are tracked

If refunds aren't sent back to GA4, revenue by channel overstates channels that bring high-return customers.

Attribution

8. Payment providers are unwanted referrals

If PayPal, Stripe, Razorpay or a buy-now-pay-later provider appears as a referral source for purchases, customers returning from the payment page are being credited to the provider. Add them to the list of unwanted referrals.

9. Cross-domain tracking where checkout lives elsewhere

If checkout or booking happens on a different domain, configure cross-domain measurement so the session isn't broken in two.

10. Campaign tagging is consistent

Use one UTM naming convention across email, paid social and influencer links. "facebook", "Facebook" and "fb" become three sources in your reports.

11. Ads platforms are linked

Link Google Ads and import GA4 key events deliberately, so bidding optimises on the conversions you actually care about.

Consent and Configuration

12. Consent mode is implemented correctly

If you have visitors in regions that require consent, such as the EEA and UK, your consent banner and consent mode setup determine what GA4 can measure. Test that choices are respected and tags behave accordingly.

13. Data retention is extended

GA4's default event data retention is short. Increase it in the property settings so explorations can look back further.

14. Internal and developer traffic is filtered

Staging sites and your own team's test orders should not appear as revenue.

15. Key events are defined

Mark purchase and lead events as key events, and remove noisy ones that inflate conversion counts.

The one-hour version: place a real test order, watch it in DebugView, then check it appears once, with the right value, items and source, in reports the next day. That single test catches most of the serious problems on this list.

After the Audit

Clean data is the foundation for everything else: attribution, budget allocation and conversion rate optimisation. Our A/B testing programmes always start with a tracking audit, because a test measured on broken data is worse than no test at all. If you want a second pair of eyes on your setup, book a tracking audit.

FAQ

Why doesn't GA4 revenue match my Shopify or WooCommerce revenue?

Some difference is normal because ad blockers and consent choices prevent some tracking. Large or changing gaps usually come from duplicate or missing purchase events, missing transaction IDs, inconsistent tax and shipping handling, or refunds not being sent to GA4.

How do I stop duplicate transactions in GA4?

Send a unique transaction_id with every purchase event and make sure the purchase tag only fires once per order, not every time the confirmation page is reloaded or revisited.

Why is PayPal showing as a traffic source in GA4?

Customers who leave your site to pay and return to the confirmation page can start a new session attributed to the payment provider. Add payment providers to GA4's list of unwanted referrals so purchases stay credited to the original source.

Which GA4 events should an ecommerce store track?

At minimum view_item_list, view_item, add_to_cart, begin_checkout, add_shipping_info, add_payment_info and purchase, with full item data, currency and value, plus refunds so revenue reporting stays accurate.

DS

Written by

Divya Singh · CRO & Analytics Lead

Divya runs conversion optimisation and analytics. Her A/B testing programmes have delivered an average 34% conversion uplift across client stores.

Meet the team →

Not sure your GA4 numbers are right?

Book a call. We will check your tracking against your store data and show you where the gaps are.

Book a tracking audit →