Why you get duplicate events between your pixel and CAPI
You added the Conversions API to recover lost conversions, and now Meta shows roughly double the events. That is the classic deduplication gap: the pixel and CAPI are both reporting the same purchase, and Meta cannot tell they are one.
Why it double-counts
The whole point of running the pixel and CAPI together is redundancy: if the browser pixel is blocked, the server still reports. But when both succeed, Meta receives the same conversion twice. Without a way to match them, it counts both.
The fix: deduplication
- Send the same event ID (and ideally the same event name) from both the pixel and CAPI for each conversion.
- Meta uses that shared ID to recognise the pair and keep only one.
- Confirm the match in Events Manager, which reports a deduplication rate.
Why it is worth getting exactly right
Too little dedup and your conversions and ROAS inflate, flattering campaigns that are not really performing; too aggressive and you drop real conversions. The sweet spot needs the event IDs wired consistently on both sides, which is precisely the kind of server-side detail an audit or build handles. If your Meta numbers look too high, start here.
Want us to check your tracking in 10 seconds?
Pop in your domain and we will show you what is firing, what is not, and where data is leaking. Free, no signup.
Check my tracking freeGet a plain-English audit
We check your live GA4, Google Tag Manager and consent setup by hand and tell you exactly what is wrong. The audit comes off any build.
See how it works & pricingDatahound are analytics and ad-tracking specialists. We fix broken GA4, Google Tag Manager and server-side tracking so every sale, form and call gets counted. Back to datahound.agency · All tracking guides · Why your Facebook pixel undercounts