Full Answer
When running Pixel and server-side API together, both fire for the same purchase: the Pixel fires in the browser at checkout completion, and the server-side API fires from your server when the order completes. Without deduplication, the ad platform receives two events for one sale. For Facebook CAPI, deduplication is handled via a shared event_id: both the Pixel and CAPI events include an identical identifier (typically the WooCommerce order ID), and Meta's system merges them into one. GA4 Measurement Protocol uses client_id and session_id matching. Google Ads Enhanced Conversions uses transaction ID. The deduplication logic runs on the platform side when it receives a matching pair within a short time window. Correct deduplication is critical not just for reporting accuracy but for algorithm health: Smart Bidding and Facebook's campaign delivery algorithms learn from conversion data, and inflated signals from duplicate events skew bid decisions the same way missing signals do.