What is E-commerce tracking?

Also called: enhanced ecommerce, GA4 ecommerce, purchase event, ecommerce dataLayer

The purchase event is the one that has to be perfect. It needs a transaction_id (for deduplication), a value, a currency, and an items array with per-item id, name, price, and quantity. Any missing piece degrades revenue reporting, ROAS calculation, and ad bidding at the same time.

transaction_id is the deduplication key. Without it, a customer refreshing the order-confirmation page books a second purchase, and a returning customer bookmarking that page books more. Sites without transaction IDs routinely over-report revenue by double digits.

The funnel events matter for diagnosis, not just completeness. Without begin_checkout you cannot distinguish a checkout that nobody starts from a checkout that everybody abandons — two problems with entirely different fixes.

Why it matters

E-commerce events are the only tracking that maps directly to money, which makes them both the highest-value thing to get right and the most expensive thing to get wrong.

Common questions about E-commerce tracking

What GA4 e-commerce events should every store send?

At minimum view_item, add_to_cart, begin_checkout, and purchase. Add view_item_list, select_item, add_shipping_info, and add_payment_info to diagnose where in the funnel buyers drop.

Why is GA4 revenue lower than my store's reported revenue?

Standard causes, in order: consent denial suppressing tags for some visitors, ad blockers, the purchase event failing on some payment methods that skip the confirmation page, and missing or malformed currency values. A 5–15% gap is normal; more than that indicates a specific fault.

How do I stop duplicate purchase events?

Send transaction_id on every purchase event and let the platform deduplicate. Additionally, fire the event from server-confirmed order data rather than on page load of the thank-you page, so a refresh cannot resend it.

Related terms

See how your site handles this

TagEasy's free auditor checks any URL for Consent Mode v2 signals, PII in tracking, duplicate pixels, and 10 other tracking-quality faults. No signup.