Facebook Conversion API: Data Deduplication and Best Practice


Siddharth Dwivedi

Siddharth Dwivedi

July 10, 2021

Siddharth Dwivedi

Siddharth Dwivedi

I have already talked about how Facebook Conversion API works. However, people have been asking me how to actually use it considering Facebook Pixel is still active.

One of the most asked question was:

Should we replace Facebook Pixel with Facebook Conversion API?

The short answer is: NO.

The long answer is: You should use both. At the same time.

How does Facebook Pixel and Facebook Conversion API work together?

Right now, your Facebook Ads Manager dashboard is receiving data from both Pixel and Conversion API. If same data is sent from both the sources, one of the data is naturally redundant.

In such a case, Facebook keeps event data from browser (sent using Facebook Pixel) and discards the one coming from server (sent using Conversion API).

This process is called data deduplication.

Is Data Deduplication Necessary?

No, it is not.

It depends on how you implement Facebook Conversion API. Facebook suggests there are two ways you can do so.

Share different events from browser and server: Deduplication won’t happen

You can ask your developer to implement some events using Conversion API which you have not implemented using Facebook Pixel.

For instance, you can implement Initiate Checkout events using Facebook Pixel while implementing Purchases events using Conversion API. In this case, the data coming from users’ browser and your server will be different.

That means, no data redundancy and hence, no deduplication.

Share same events from browser as well as your server: Deduplication will happen

What you’re doing in this case is implementing all the events using Pixel as well as using Conversion API. So, what happens is browser as well as the server is sending same event data to Facebook.

For example, if a purchase event happens from an Android device, the purchase event and associated data of purchase value is sent from the browser as well as your server. In this case, data will be redundant and Facebook will only keep the data from browser.

Deduplication is in fact necessary in this case because you DO NOT want one purchase to be logged as two. And a conversion value of $100 to be registered as $200 in your Facebook Ads Manager.

How does Facebook implement deduplication?

To successfully achieve this, you need to convey to your developer to implement two event parameters: event name and event ID. Facebook uses these two event parameters to identify data redundancy. Event name can be (Purchase or Initiate Checkout or AddToCart).

After an event is received, Facebook deduplicates all events that:

  • Have the same event ID and the same event name
  • Are received by the same pixel ID, or
  • Are received within the 48 hours of receiving the first event

If you want to check which events have been duplicated, you can see that in Tests Events tool available in Events Manager.

Conclusion: The Best Practice for Implementing Conversion API

In general, like Facebook, we also recommend using deduplication—where you send event from browser as well as the pixel.

On the other hand, there are cases where you can use both browser and server to send different events. For instance, if you only want to track a specific eBook download from your website that you’ve just launched and DO NOT want to scale for long.

Related Posts

Read from following categories