Guides

How to Track Ecommerce Events Guide

Ecommerce event tracking is the data layer your marketing spend optimises against: get the events right and every downstream system (GA4, Google Ads, Meta) improves; get them wrong and you’re optimising toward noise. This guide covers implementing the event set properly on any store.

Related services: GTM ecommerce tracking, GA4 events implementation, and the audit if you suspect your current setup.

What it takes in practice

  • Build on a dataLayer, always. Events read from a structured dataLayer your templates populate, never scraped from page HTML. This single decision determines whether tracking survives theme changes.
  • Implement the funnel event set. view_item, add_to_cart, begin_checkout, add_shipping_info, add_payment_info, purchase: the sequence that makes funnel analysis real. Each with complete item arrays (id, name, price, quantity, variant).
  • Make purchase server-truthful. The purchase event carries backend-confirmed values: transaction ID, revenue, tax, shipping. This ends the eternal ‘analytics vs ERP numbers’ argument at its source.
  • Kill duplicates with transaction IDs. Duplicate purchase events are the most common tracking disease, inflating revenue and corrupting ROAS. Deduplicate on transaction ID and verify with backend reconciliation on a sample.
  • Wire consent mode properly. UK/EU compliance means tags respect consent state. Consent mode preserves modelling capability where lawful; ignoring consent is a legal problem wearing a data hat.
  • Track refunds too. Refund events keep reported revenue trending toward net truth. Stores that skip refunds permanently overstate performance and slowly mistrust their own dashboards.

Where a specialist earns the fee

This is real engineering, not configuration, and the design decisions matter more than the code. We’ve built these systems at production scale, from real-time WIP accounting carried live across Odoo v15 to v19 to a platform running 150-plus tenants, and the value we add is the judgement to avoid the expensive wrong turns rather than just the hours to type. If the scope here matches something you need built properly, we scope it with a fixed quote and an hours breakdown before anyone commits.

Common questions

Which platforms does this feed beyond GA4?
The same dataLayer feeds Google Ads, Meta, TikTok and others consistently, which is the point of doing it once in GTM rather than per-pixel.
How do we verify events are actually correct?
DebugView for real-time inspection, then reconciliation: a sample of backend orders checked against tracked purchases for count and value. Evidence beats confidence.
Our numbers were wrong for a year. Is history fixable?
Historical data can't be repaired, but annotate the fix date and trends stay interpretable. The sooner the fix ships, the sooner clean history accumulates.
Who should own the tag container, us or an agency?
Whoever will maintain it with discipline. We're happy to build and hand it over documented, or to co-own it, but the failure mode is a container nobody owns where tags accumulate untested. See the tracking audit.

Not sure where to start? Book a free discovery call and we’ll map your current setup, or request a free Odoo health check if you’re already running Odoo.

Next step

Ready to fix your ops?

Book a free discovery call. We'll look at your current setup and tell you honestly whether Odoo is the right move and what it would involve.