Cherry Seed

What is GA4 purchase event deduplication?

ga4 deduplication transaction-id woocommerce purchase-event

Quick Answer

GA4 deduplicates purchase events using the transaction_id parameter — when a customer reloads the WooCommerce thank-you page, GA4 recognises the identical transaction_id and discards the repeated event automatically (MDNiamul, 2026). This prevents phantom revenue from inflating your reports. The mechanism only works when your tracking sends the actual WooCommerce order number as the transaction_id with every purchase event. Implementations that generate random or session-based IDs instead of the stable order number bypass deduplication entirely, and every page reload or back-button visit creates a duplicate conversion in GA4.

Full Answer

The thank-you page is the most fragile point in WooCommerce purchase tracking. Customers reload it to check their order confirmation, bookmark it, or navigate back to it from their email. Each visit re-executes the JavaScript that fires the GA4 purchase event. Without deduplication, a single order can generate two, three, or more purchase events — each one adding the same revenue to your GA4 reports. Over a month, the cumulative effect inflates reported revenue by enough to distort campaign ROAS calculations and budget decisions.

GA4's built-in deduplication matches on the transaction_id parameter within a 24-hour window. If two purchase events carry the same transaction_id, GA4 keeps the first and drops the second. The critical requirement is that the transaction_id maps deterministically to the WooCommerce order — typically the order number or order ID. Some tracking plugins generate a random hash per page load instead, which defeats deduplication because each reload produces a unique ID that GA4 treats as a new transaction.

Conversios' 2026 analysis of WooCommerce GA4 implementations found that misconfigured transaction_id mapping is one of the most common causes of revenue discrepancies between GA4 and WooCommerce order reports. The fix is verifying — in GA4 DebugView or the Realtime report — that the transaction_id value matches your WooCommerce order number exactly. For a broader look at where WooCommerce purchase tracking breaks down, deduplication is one piece of a larger structural problem.

Sources

Programmatic Access

GET https://seresa.io/wp-json/cherry-tree-by-seresa/v1/seeds/1106

Cite This Answer

Cherry Tree by Seresa - https://seresa.io/seed/data-loss-recovery/what-is-ga4-purchase-event-deduplication