Meta

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

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 free

Where 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 & pricing

Related guides

What is server-side tracking? Fix duplicate conversions Server-side vs client-side GTM Pricing

Datahound 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.