Meta Conversions API (CAPI) explained
The Meta pixel alone is no longer enough: iOS, ad-blockers and browser limits hide a large share of your conversions from it. The Conversions API (CAPI) is Meta’s server-side fix. Here is what it is, the deduplication trap that catches most setups, and how to do it properly.
Pixel vs Conversions API
The pixel runs in the browser and sends events to Meta from there, which is exactly where iOS 14+, Safari and ad-blockers interfere. The Conversions API sends the same events from your server directly to Meta, bypassing the browser’s limitations. The goal is not to replace the pixel but to run both, so Meta sees the events the browser would otherwise lose.
The deduplication trap
Here is where most setups go wrong. If the pixel and CAPI both send the same purchase and Meta can’t tell they are the same event, it counts it twice and your reported results inflate. The fix is deduplication: every event needs a shared event ID (and matching event name) so Meta can recognise the browser and server versions as one. Get this wrong and CAPI makes your data worse, not better.
What a good CAPI setup includes
- Both pixel and CAPI sending key events (Purchase, Lead, etc.).
- A consistent event_id on both so Meta deduplicates correctly.
- Strong customer information parameters (hashed email, phone, etc.) to improve match quality.
- Respect for consent, so you only send what users have agreed to.
Is your CAPI double-counting or under-sending?
We’ll check your pixel and CAPI setup and deduplication. Free 10-second scan.
Check my tracking freeWhere to run it
You can send CAPI directly from your backend, via a partner integration, or through a server-side GTM container. Server-side GTM is often the cleanest route because it handles the pixel-and-CAPI split, deduplication and other platforms in one place. The Conversions API Gateway is another managed option, though its implementation is easy to get wrong, especially across multiple markets.
Why it matters
Better conversion signal means Meta’s optimisation finds more real buyers, your reported ROAS reflects reality, and your retargeting and lookalike audiences are built on complete data. For any serious Meta advertiser, CAPI done properly is no longer optional.
Get Meta CAPI set up and deduplicated
We implement the Conversions API with proper deduplication and match quality, across every market. The audit comes off any build.
See how it works & pricingRelated guides
What is server-side tracking? Fix duplicate conversions Server-side vs client-side GTM PricingDatahound are analytics and ad-tracking specialists. We fix broken GA4, Google Ads, Meta and server-side tracking. See pricing · All guides · Back to datahound.agency
Meta Conversions API: common questions
What is the Meta Conversions API (CAPI)?
It’s Meta’s way of sending conversion events to Meta from your server rather than only from the browser pixel. That recovers conversions that iOS, Safari and ad-blockers hide from the pixel, improving both reporting and ad optimisation.
Does CAPI replace the Meta pixel?
No. You run both. The pixel captures browser events and CAPI captures them server-side, and they’re deduplicated with a shared event ID so the same conversion isn’t counted twice.
Why are my Meta conversions double-counting?
Almost always a deduplication problem: the pixel and CAPI are both sending the same event without a matching event ID, so Meta can’t tell they’re the same and counts both. Setting a consistent event_id on both fixes it.