SERVICE FILE · GA4 ECOMMERCE · FILED BY BARIS ASA, LONDON · REVIEWED
GA4 ecommerce tracking specialist for WooCommerce and Magento, London.
I'm Baris Asa, a London tracking specialist. I set up and repair GA4 ecommerce tracking for ecommerce brands and the agencies behind them, on WooCommerce, Magento / Adobe Commerce and custom checkouts. The usual faults: purchases with no products in them or checkout steps missing (F-301), revenue that doesn't match the order total (F-302). Each event is tested on a real order against the store's own record.
Quickest check: last week's purchases in GA4 against the orders your store took. GA4 somewhat short is normal: shoppers who decline cookies or block the tag aren't fully counted. More purchases than orders, revenue that differs from the order total, or purchases with no products are faults. Email me the two numbers and you'll hear which it looks like.
On Shopify? Its checkout works differently: Shopify tracking. · For agencies
Who sets up GA4 ecommerce tracking for a WooCommerce or Magento store
Someone who knows the platform's checkout as well as GA4, and proves the result on a real order. That's my work. Three kinds of help, and when each is enough:
- The platform's own integration (Google Analytics for WooCommerce; Magento's Google GTag settings): enough when a test order with each payment method shows in GA4 with the right ID, total and products.
- Your store developer: enough when someone hands them a dataLayer spec and tests what it sends.
- A tracking specialist: when events are missing or wrong and nobody owns the set-up. I write the spec, build in Google Tag Manager and test.
I have no partnership or commission with any plugin or platform named on this page.
GA4 ecommerce faults I fix
- GA4 shows purchases but no checkout steps. Only purchase was built, or the checkout events (begin_checkout, add_shipping_info, add_payment_info) never fire on the platform's checkout (F-301).
- Item reports are empty or say (not set). The items list is missing, or its products carry neither an item_id nor an item_name, one of which Google's ecommerce guide requires (F-301). Doc ↗
- One order shows twice in GA4. The purchase fires again on a reload or from a second plugin, and the two copies carry different transaction IDs (the order number GA4 uses to spot repeats, on web streams), so GA4 counts both (F-101). An empty ID does the opposite: GA4 folds every empty-ID purchase into one. Doc ↗
- GA4 revenue doesn't match the store's order total. VAT, shipping or discounts are in the value in one place and not in the other, the currency is missing, or the amount arrives in pence (F-302).
- PayPal, Klarna or your card provider shows up as a referral. The shopper comes back from the payment page and GA4 records the provider as the source, so it takes the credit for the sale. The fix is the unwanted-referrals list in the web stream's tag settings (F-205). Doc ↗
Each code is on record in the fault index, with how it's found and fixed.
WooCommerce, Magento and custom checkouts
- WooCommerce. Google Analytics for WooCommerce, published by WooCommerce, covers product views, cart, checkout initiated and purchase. Purchases are tracked only when the gateway returns the shopper to the order-received page, so each off-site payment method needs its own test order. Problems start when a second plugin or a hard-coded tag sends purchase too, or when the shipping and payment steps are needed. I check what each plugin sends before building anything in GTM.
- Magento / Adobe Commerce. Gtag support came in release 2.4.5, under Stores > Settings > Configuration > Sales > Google API. Adobe's guide doesn't list the GA4 events it sends, so I test them, and for the full funnel I usually build through GTM and a dataLayer. Adobe notes that the checkout event in Adobe Commerce's built-in GTM integration (not in Magento Open Source) isn't executed for PayPal and other external payment methods, so those routes get tested separately.
- Custom and headless checkouts. I write the dataLayer spec: each event, when it fires, the fields it carries. Your developers build it, and I test it on a real order. A server-sent purchase (Measurement Protocol) adds to browser tagging; it doesn't replace it.
Filed: the F-301 exhibit, in three lines
- A GA4 funnel exploration, step by step. Reconstructed, client data anonymised.
- view_item, add_to_cart and begin_checkout were never sent. add_payment_info and purchase were, and purchases roughly matched the orders. So the funnel looked like it began at payment, and the real drop-off between product page and checkout was invisible.
- The fix: the missing events added with full items data, then one test order walked through every step. Full write-up.
Is this the help you need?
Probably, if
Probably not, if
- events are fine and you want to know why GA4 and the ad platforms disagree: that's GA4 reconciliation;
- you want the whole set-up checked first: a tracking audit;
- the problem is GA4's settings, key events or the Google Ads link rather than store events: GA4 consultant.
Not sure? Email what you run today and you'll hear which it is before anything is quoted.
GA4 ecommerce work for UK agencies
I set up and repair GA4 ecommerce tracking for UK agencies, named or white-label, inside the client's own GA4, GTM and store admin, invoiced to the agency. Agencies bring me in when a client's store is on WooCommerce or Magento and the paid team needs purchase numbers that match the store's orders.
- What you receive. The working events, a change log, an event list for the client's developers, and a report that can carry your agency's name.
- Who holds what. Accounts stay in the client's name. Publishing in GTM can stay with you.
- Terms. An NDA if you need one. Client contact only if you ask.
More on the arrangement: white-label tracking for agencies.
Questions to ask any GA4 ecommerce specialist
- 01 Will you test on a real order?
You want a yes. An event is proven when a test order shows in GA4 with the same ID, total and items as the store's own record, not by a tick in a debugger.
- 02 Plugin, GTM or code?
Ask which route they'd take on your platform, and why. A good answer names what the plugin already sends before adding anything on top of it.
- 03 Who owns it afterwards?
Everything should live in your own GA4, GTM and store admin, with a list of each event, where it fires and what it carries.
- 04 What about payment pages?
Ask how they stop PayPal or Klarna taking the credit for sales (F-205). Anyone who has done a few non-Shopify checkouts will have met it.
Who you'd be working with
I'm Baris Asa. I've spent eight years setting up and fixing tracking for online brands and the agencies that run their ads, and I do every job myself. Measurement only: I don't run or judge your ads. The faults I look for are public: 19 documented in the fault index. I've given five talks on this work, including HeroConf, PPC Live and Search 'n Stuff.
Questions about GA4 ecommerce tracking
- Who sets up GA4 ecommerce tracking for a WooCommerce or Magento store?
- A tracking specialist who knows the platform's checkout, not only GA4. I'm Baris Asa (Synctag, London). I set up and repair GA4 ecommerce tracking on WooCommerce, Magento / Adobe Commerce and custom checkouts for UK ecommerce brands and agencies, through the platform's own integration, Google Tag Manager or a developer-built dataLayer, and test it on real orders.
- Why are GA4 purchase events missing items or value?
- Usually one of four things. The items list is missing, or its products have neither an item_id nor an item_name (F-301). A value is sent without a currency, which Google's ecommerce guide asks for whenever value is set. The value is built differently from the store's own total: VAT, shipping or discounts in one and not the other, or pence instead of pounds (F-302). Or the purchase fires before the order details are on the page, so it goes out empty. A test order read in GA4's DebugView shows which.
- Is the WooCommerce Google Analytics plugin enough?
- Sometimes. Google Analytics for WooCommerce, published by WooCommerce, tracks product views and clicks, add and remove from cart, checkout initiated and purchase. Its documentation doesn't list the shipping or payment steps, and it says purchases are tracked only when the payment gateway returns the shopper to the order-received page. So it is enough when a test order with each payment method shows in GA4 with the right ID, total and items. It isn't when you need the later checkout steps, or another plugin also sends a purchase (F-101).
- Does Magento send GA4 ecommerce events on its own?
- Adobe Commerce added support for Google's gtag in release 2.4.5, under Stores > Settings > Configuration > Sales > Google API > Google GTag. Adobe's guide lists the settings but not which GA4 events are sent, so I check every event on a test order, and most full-funnel builds go through Google Tag Manager and a dataLayer. Adobe also notes that the checkout event in Adobe Commerce's built-in GTM integration (not in Magento Open Source) isn't executed for PayPal and other external payment methods, so I test those routes separately.
- Can you work on a headless or custom checkout?
- Yes. On a custom build I write the dataLayer specification (the order and product details the site hands to Tag Manager) that your developers implement, then test what it sends. A purchase sent from the server through GA4's Measurement Protocol is meant to add to browser tagging, not replace it: Google says that with Measurement Protocol alone, only partial reporting may be available.
- Do you work with agencies on GA4 ecommerce?
- Yes, for UK agencies, named or white-label, invoiced to the agency. The work stays in the client's own GA4, GTM and store admin and comes with a change log and a report under the agency's name.
- What access is needed?
- Editor access to GA4, Publish or edit access to GTM if it's used, and an admin or developer contact for the store, so a test order can be placed and refunded.
- How is GA4 ecommerce work priced?
- There is no published rate card. Each job is quoted after a short scoping call and fixed once agreed. What moves the number: the platform, how many events are missing, whether a plugin or a developer-built dataLayer is involved, and how many payment methods leave the site.
Sources, read 2 Nov 2026: GA4: measure ecommerce · GA4: transaction_id deduplication · GA4: unwanted referrals · GA4: Measurement Protocol · WooCommerce: Google Analytics integration · Google Analytics for WooCommerce (WordPress.org) · Adobe Commerce: Google Analytics · Adobe Commerce: Google Tag Manager.
Related services
- GA4 consultant: who sets up and repairs the GA4 property itself.
- GA4 reconciliation: why GA4, the store and the ad platforms report different numbers.
- Tracking audit: what a full check of GTM, GA4, Google Ads, Meta and consent covers.
- Google Tag Manager consultant: who builds and looks after the GTM container.
- Shopify tracking: GA4, Google Ads and Meta tracking on Shopify.
- Consent Mode v2: who sets up and repairs Consent Mode v2.
- Server-side tracking: who sets up and repairs server-side GTM.
- Meta Conversions API: setting up CAPI with the Pixel, deduplicated.
- White-label for agencies: tracking work under your agency's name.
- How I work: scoping call, fixed quote, then the work.
Email what you
run today.
The site, the platform it runs on, how GA4 is added today (plugin, GTM or code), and last week's GA4 purchases next to the store's orders. That's enough to book the scoping call. I reply myself, and the quote comes after the call.
Example shop.example.com · WooCommerce · GA4 through the WooCommerce plugin · GA4 a little under the store's orders, no checkout steps
[email protected]