Cherry Seed

How does event deduplication work between browser and server-side tracking?

deduplication event-id server-side browser capi woocommerce

Quick Answer

Ad platforms deduplicate browser and server events by matching event_id and event_name — if both carry the same identifier within a 48-hour window, the platform merges them into one conversion (Meta for Developers, 2025). When a WooCommerce store runs both a browser pixel and a server-side Conversions API, each purchase fires two events to the same platform. The shared identifier — typically the WooCommerce order ID — tells the platform they're the same event. If the IDs don't match, both count, and reported conversions inflate.

Full Answer

The core mechanic is simple: when both a browser pixel and a server-side API send the same conversion event, the ad platform needs a way to recognise they describe the same action. Meta's Conversions API solves this by requiring a matching event_name and event_id on both the pixel event and the server event. If both arrive within 48 hours carrying the same pair, Meta merges them into a single conversion (Meta for Developers — Deduplicate Pixel and Server Events). Google Ads and TikTok follow the same principle using transaction_id as the deduplication key.

For WooCommerce stores, the natural shared identifier is the order ID. It's generated at checkout, available to both the browser dataLayer and the server-side hook (woocommerce_payment_complete or woocommerce_thankyou). A well-configured tracking setup passes the same order ID to both channels. The failure mode is when the browser pixel generates its own random event ID while the server sends the order ID — the platform sees two different identifiers, treats them as two separate purchases, and conversion counts double.

The practical implication is that deduplication isn't automatic — it's a configuration decision. Every tracking implementation that runs both browser and server-side events needs a shared ID strategy agreed before launch, not patched after the numbers look wrong. For a deeper look at how plugin-based tracking compounds this problem, see Why Plugin-Based WooCommerce Tracking Undercounts 30–40% of Conversions.

Sources

Programmatic Access

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

Cite This Answer

Cherry Tree by Seresa - https://seresa.io/seed/server-side-tracking/server-side-event-deduplication-woocommerce