GA4 for ecommerce: revenue you can trust

Your platform, GA4 and the ad platforms each report different revenue. Marc Alexander finds out why, fixes the tracking and explains in writing how big the remaining gap should be.

What gets fixed.

  • Purchase events that fire once, with the right value and currency.
  • Duplicate purchases from plugins, page reloads and stale dataLayer items.
  • Revenue reconciled against Shopify, WooCommerce or your own platform.
  • Attribution kept through PayPal, Klarna, 3D Secure and external checkouts.
  • Consent Mode v2 working on both sides of the checkout.
  • Complete item data, with IDs that match your catalogue.
  • A written explanation of the gap that remains.

How it works.

  1. Measure the gap

    Marc compares GA4 with your platform's orders over the same period: how much is missing, how much is doubled, and whether it is stable.

  2. Fix the purchase first

    Each order recorded once, with the right value, currency and items. Then the funnel events from view_item to begin_checkout.

  3. Test the real journey

    Desktop and mobile, with and without consent, through every payment route, with test orders checked against the order records.

  4. Hand over proof

    Marc hands over a reconciliation before and after, the remaining gap explained, and documentation for the next time the shop changes.

Where to start.

  • GA4 mini audit, from £175: purchases, duplicates, consent and checkout attribution.
  • Full 38-point audit, from £600, or from £1,000 with fixes included.
  • GA4 setup for WooCommerce and custom checkouts: advanced setups typically £850 to £1,300.
  • Shopify build, from £850: GTM and GA4 across storefront and checkout.
  • Conversion tracking: purchases passed to Google Ads and Meta.
More detail: what usually goes wrong

Revenue that doesn't match the platform

Some gap is normal. A large or moving one usually means purchase events that never fire: the thank-you page closes before the tag runs, a script error on the confirmation page, or tax and shipping sent on one side only. Running the platform's own GA4 integration alongside GTM makes it worse.

UK stores also need to take VAT out: see VAT in GA4 revenue.

Duplicate purchases

The same purchase sent by a plugin and by GTM, a tag that fires on every reload of the confirmation page, or old items carried into the next order. The guide to duplicate purchases covers the usual causes.

Attribution lost at checkout

Customers leave for PayPal, Klarna, 3D Secure or a checkout on another domain, then come back. Without the right settings GA4 starts a new session and credits the payment provider or Direct. See cross-domain tracking in GA4.

Consent that blocks the wrong things

A banner that holds every tag until someone clicks, or a checkout that ignores the choice. More on GA4 under UK GDPR and PECR.

Item data that says (not set)

The purchase arrives with an empty or half-filled items array: no item IDs, categories or variants. You know revenue happened, not which products drove it.

Events GA4 ignores

An event named order_complete instead of purchase, a price sent as text with a currency sign, or a missing transaction_id, and the data is dropped or can't be deduplicated. Nothing warns you.

Straight answers.

Should GA4 match Shopify or WooCommerce exactly?

No, and nobody can promise that. GA4 only sees orders from browsers that ran the tag and, where required, consented. Refunds, test orders, tax, shipping and timezones are also handled differently. Expect a gap that is small, stable and explained in writing. A gap that moves week to week, or suddenly widens, means something is broken.

How long does it take to fix broken ecommerce tracking?

A wrong event name or a missing parameter can be fixed in a day. A rebuild takes weeks: 4 to 6 weeks for an advanced setup, 2 to 4 weeks for a Shopify build. The mini audit tells you which one you're facing before you commit to either.

Do I need server-side tagging?

Not always. A well-built browser setup with Consent Mode v2 is enough for many shops. Server-side GTM earns its place when paid spend is significant and ad platforms need a server feed, such as the Meta Conversions API. It is first-party data collection that still respects consent, not a way around it.

Will this work with our checkout app or payment gateway?

Usually, but it has to be tested on your actual flow. Hosted checkouts, payment redirects and older or heavily customised setups each need their own handling. The audit finds out which applies to you.

Our developers already tried to fix this. What's different?

Developers build good sites, but GA4's ecommerce schema, the dataLayer and consent timing are a narrow specialism with rules that aren't obvious from Google's documentation. Marc specialises in exactly this, and checks every change against real orders.

Not sure what's broken? The mini audit tells you whether it's a few fixes or a rebuild, before you pay for either. Tracking already sound and sales still slow? That's conversion rate optimisation.

Last updated

Free tool

What does your site fire before consent?

Paste a page address. The tracking checker shows what a first-time visitor triggers before agreeing to anything, ranked by how much it matters.

Related work.

Talk to Marc about it.

Tell Marc what's happening with your tracking. The quickest place to start is usually a GA4 mini audit: a prioritised list of what's broken and what to fix first.

Mini audit from £175.

Prefer to talk first? Choose "20-minute intro call" in the form.
Or email [email protected].

Marc replies personally, usually within one working day.