Cherry Seed

How do transaction IDs help with attribution?

transaction id deduplication attribution accuracy woocommerce order cross-platform tracking roas calculation

Quick Answer

Transaction IDs serve as a universal key that connects the same purchase event across every platform that recorded it, enabling deduplication and accurate attribution. When your WooCommerce store sends the same order ID — say, WC-10472 — to GA4, Meta CAPI, Google Ads, and BigQuery, each platform logs it independently. Without a shared identifier, you have no reliable way to confirm that all four platforms are counting the same sale. With the transaction ID, you can join records across systems, identify which platform over- or under-reports, and calculate true ROAS against actual revenue. Google's Enhanced Conversions documentation specifically requires transaction IDs for server-side deduplication.

Full Answer

Attribution accuracy depends on two capabilities: knowing which platform claims credit for a conversion, and verifying that each claimed conversion corresponds to a real, unique transaction. Transaction IDs provide the second capability.

In a typical WooCommerce setup, a single purchase fires multiple tracking events: a GA4 purchase event, a Meta CAPI purchase event, a Google Ads conversion tag, and possibly events for TikTok, Pinterest, or other platforms. Each platform records its own version of the conversion. Without a shared identifier, these records are isolated — five platforms might report five conversions for what is actually one order.

The transaction ID creates a join key across all systems. When BigQuery receives the GA4 event with transaction_id WC-10472, the Meta CAPI event with the same ID, and the Google Ads conversion with the same ID, a simple GROUP BY query reveals that all three platforms are claiming the same sale. Deduplication becomes trivial. True ROAS can be calculated by dividing actual revenue by actual ad spend, rather than relying on each platform's self-reported numbers.

Server-side tracking makes this pattern more reliable. When purchase events are captured from the WooCommerce order hook rather than from client-side JavaScript, the transaction ID is available from the order object itself — not from a data layer variable that may fail to populate. The server sends the same ID to every destination in the same batch, guaranteeing consistency. For stores processing hundreds of orders daily, this consistency is the difference between actionable attribution data and noise.

Sources

Programmatic Access

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

Cite This Answer

Cherry Tree by Seresa - https://seresa.io/seed/utm-attribution/platform-numbers-mismatch-transaction-id-deduplication