ananas.team
§ 07·ARTICLE
CapiThe ananas.team crew··

Meta Pixel and CAPI Deduplication: Why Your Conversions Are Doubled and How to Fix It

If you're running both the pixel and CAPI — and almost everyone is these days — there's a good chance you're counting purchases twice. The browser sends the event through the pixel, the server sends the same event through CAPI, and without deduplication Meta sees two purchases instead of one.

The consequence: you think the campaign performs better than it does. Inflated conversions, overstated ROAS on paper, budget decisions built on a lie. And the sneakiest part is that the doubling is uneven, so you can't even just "divide by two."

How Meta recognizes a duplicate

Two fields have to match across both sources: event_id and event_name. If the browser and server events share the same event_id and the same name, and they arrive within a 48-hour window, Meta collapses them into one. Miss on either field and the events won't collapse.

Sounds simple. In practice it falls apart on the details.

Where it all breaks

First: event_id gets generated independently in two places. The browser made its own ID, the server made its own, they're different, and deduplication never fires. There should be one ID, generated in one place and passed into both channels.

Second: a mismatched event_name. Purchase in the browser, purchase on the server. Case matters. No match, no collapse.

Third, the most mundane one: the server event has no event_id at all. Someone simply forgot to pass it. At that point there's nothing to deduplicate on, by design.

How to do it right

You generate event_id once — usually on the front end at the moment of the event — and put it in the dataLayer. From there it goes to both the browser pixel and the server container via sGTM. One source of truth for the ID. You fix event_name to a single spelling and make sure both branches use exactly that.

The principle: one ID, one name, two channels. That's all.

Checking in Events Manager

Meta shows the percentage of deduplicated events. Go into Events Manager, open the event, and look for the deduplication column. A low percentage there, or a warning that events aren't collapsing, means you have a leak in one of the three places above.

The take: half of the "great ROAS" in the reports of hybrid setups is undeduplicated conversions. Before you celebrate a campaign's results, check the deduplication rate. Sometimes after the fix "performance" drops by a third — but that was the honest performance, not the one you believed in.

§ 08·RELATED