Meta Pixel and Conversion API Deduplication: How event_id Really Works

Meta Conversion API deduplication guide by Rubel Hasan Rokib

The most common message I get after someone installs the Meta Conversion API is: “My purchases doubled in Ads Manager, but my sales did not.” That is not a CAPI success story. It is a deduplication problem. The Pixel and the server are both reporting the same sale, and Meta has no way to know they are one order.

In this guide I explain how Meta Conversion API deduplication works, what event_id actually needs to look like, and how to check it in Events Manager in a few minutes.

Quick Answer

When you run the Meta Pixel and Conversion API together, each event must be sent with the same event_name and the same event_id from both the browser and the server. Meta then keeps one copy and discards the duplicate. If the IDs do not match, Meta counts the event twice, which inflates purchases and confuses optimization.

  • Deduplication needs a matching event_name and event_id.
  • Use a stable unique value, such as the order ID for purchases.
  • The browser event and server event should arrive close together in time.
  • Check the deduplication status in Events Manager.
  • Duplicated purchases make ROAS look better than reality and mislead optimization.
Browser and server events deduplicated with the same event_id

Why Duplicate Events Happen

With a redundant setup, the same purchase is sent twice: once from the visitor’s browser through the Pixel, and once from your server through the Conversion API. That redundancy is the point, because if the browser event is blocked, the server event still arrives. But when both arrive, Meta needs a way to recognize they describe one action.

How Meta Matches the Two Events

Meta compares two fields. The event name must match, for example Purchase and Purchase. The event ID must match too. In the Pixel this is passed as eventID, and in the Conversion API as event_id. When both match, the duplicate is removed.

SourceEvent nameEvent ID
Pixel (browser)Purchaseorder_10457
Conversion API (server)Purchaseorder_10457
ResultCounted onceDeduplicated

Choosing a Good event_id

  • Purchase: use the order ID. It is unique and available on both browser and server.
  • Lead: use a form submission ID or a generated unique ID stored in the page.
  • AddToCart and ViewContent: generate a unique ID in the browser and pass the same value to the server, which is easiest with server-side GTM.
  • Never reuse the same ID for different events or different orders.

Step by Step: Check Deduplication in Events Manager

  1. Open Events Manager and select your dataset (Pixel).
  2. Click on the Purchase event and look at the event details for deduplication information.
  3. Compare browser and server event counts with your real orders for the same day.
  4. Use the Test Events tool, place a test order and confirm both events show the same event ID.

If server and browser counts are both close to your real orders and the deduplicated total matches reality, your setup is healthy.

Common Causes of Broken Deduplication

  • Pixel installed by a plugin and CAPI by another tool, each generating its own random IDs.
  • Event names that differ, such as Purchase on one side and purchase or CompletePayment on the other.
  • The server event sent hours later from a batch process.
  • Thank-you page reloads that fire the browser event again with a new ID.

The cleanest fix is often to send both events from one place. A server-side tracking setup through Google Tag Manager lets you generate the ID once and reuse it, which I explain step by step in Meta Conversion API setup with Google Tag Manager.

Meta CAPI Deduplication FAQ

What is deduplication in Meta Conversion API?

It is how Meta removes duplicate events when the same action is reported by both the Pixel and the Conversion API, using a matching event name and event ID.

What should I use as event_id?

Use a unique, stable value. For purchases, the order ID is the best choice because both the browser and server know it.

Why are my purchases doubled after installing CAPI?

Usually because the Pixel and server send different event IDs or slightly different event names, so Meta cannot match them.

Does deduplication affect Event Match Quality?

Not directly. Event Match Quality depends on customer information parameters, but clean deduplication keeps your reported conversions accurate.

Can I run CAPI without the Pixel?

You can, but Meta recommends a redundant setup with both for the most complete data.

Final Thoughts

Deduplication is a small detail with a big effect. Match event names, reuse the same event ID, and check Events Manager after every tracking change. Once that is clean, focus on match quality, which I cover in how to improve Event Match Quality.

Official Resources

Need help with Meta Pixel and CAPI deduplication?

I am Rubel Hasan Rokib, a data-driven digital marketer based in Bangladesh. Send me your website or ad account details on WhatsApp and I will reply with a clear plan.

Found this useful? Share it
Picture of Rubel Hasan Rokib

Rubel Hasan Rokib

Data-driven digital marketer and tracking expert from Bangladesh with 5+ years of agency experience. I help brands grow with Meta Ads, Google Ads, TikTok Ads, GA4, Conversion API and server-side tracking. Upwork Verified Expert with 100% Job Success.

Join the Discussion

Have a question about this guide or your own setup? Leave a comment below. I read and reply to every comment.

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Keep Reading

More Articles You Might Like