Deduplication is the process Meta uses to recognize that a Pixel event and a Conversions API event describe the same action, and to count that action once. It matters when you send events from both the browser and a server, which Meta recommends.
Why duplicates happen
When you run the Meta Pixel and the Conversions API together, every purchase can arrive twice: once from the visitor's browser and once from your server. Without a way to tell they are the same order, reports show two purchases, revenue looks doubled and ROAS looks better than it is.
Let Madgicx's AI do the work
Its AI marketer finds what's working and prepares the next move. You approve.
Try for Free ($0 Trial)How Meta matches events
Meta's deduplication guide says Meta deduplicates when the event name and the event_id match across the browser and server copies. Meta generally keeps the event it received first. Both events must also go to the same Pixel ID.
| Field | Browser (Pixel) | Server (Conversions API) |
|---|---|---|
| Event name | Purchase | Purchase, the same name |
| Event ID | eventID, passed with the track call | event_id, the same value |
| Pixel ID | Your Pixel | The same Pixel ID |
How to set it up
- Create one unique ID for each action, such as the order number, when the action happens.
- Pass it in the browser call. Meta recommends adding an eventID to each fbq('track') call when you also run the Conversions API.
- Send the same value as event_id in the server event for that action.
- Keep the event name identical in both, such as Purchase on each side.
- Place a test order and check in Events Manager that it shows once.
If you use a store platform or partner integration, it usually generates and passes the ID for you. Confirm that rather than assuming.
Signs deduplication is broken
- Purchases look doubled. Events Manager or Ads Manager shows about twice as many purchases as orders.
- Revenue is inflated. ROAS jumps after you add the Conversions API.
- Event IDs are missing or differ. The browser sends one value and the server sends another, so they never match.
- Names differ. One side sends Purchase and the other sends a custom name, so they never match.
- A duplicate install. The Pixel is installed twice, for example by a theme and through Google Tag Manager, which is a separate problem from browser-versus-server duplicates.
Deduplication, redundancy and the numbers you see
A redundant setup is the goal, not the problem. Sending an event from two places means that if the browser misses a sale, the server still reports it. Deduplication is what makes that safe. Expect your totals to stay close to your real orders, not to jump when you add the server connection.
Example. A coffee subscription brand adds the Conversions API to its Pixel setup. The next week, Ads Manager reports 180 purchases against 92 orders in the store. The team finds the server event uses the order number as event_id, while the browser event generates a random value. They pass the order number in the browser call too. The next week's report shows 95 purchases against 93 orders, a gap small enough that the team stops chasing it.
In Madgicx. Madgicx Cloud Tracking sends conversions to Meta from the server through Meta's Conversions API Gateway and Signals Gateway, so you aren't hand-building the server side of the setup.
FAQ
What is deduplication in the Meta Pixel and Conversions API?
It is how Meta avoids counting one action twice when the browser and the server both report it. Meta matches the events by name and event ID, and keeps the first one it receives.
How do I deduplicate Pixel and Conversions API events?
Send the same event name and the same event ID with both copies of the event, to the same Pixel ID. The event ID is usually something already unique to the action, like an order number.
Why are my Meta purchases counted twice?
The most common cause is a missing or mismatched event ID between the Pixel and the Conversions API. Check that both send the same ID and the same event name, then test with one order.
Do I lose data if Meta drops the duplicate?
No. The two copies describe the same action, so Meta keeps one and discards the other. You only lose data if the IDs wrongly match two different actions, which is why each ID must be unique.
Does deduplication matter if I only use the Pixel?
Not for browser versus server, since there is only one source. You still need to avoid installing the Pixel twice, because that sends the same browser event two times.
Related
- Related terms: Meta Pixel, Conversions API, Server-side tracking, Conversion tracking
- Answer: Conversions API vs Meta Pixel
Sources
- Meta's developer page on deduplicating Pixel and server events, Meta for Developers