Logo of TAGGRS, written in blue and with a small favicon
HomeServer-side Tracking
Start for free
Introduction
Get started
Get started with TAGGRSSet up Google Tag ManagerAdd the GTM Data LayerConfigure GTM transformationsTest the setupDebuggingAnalytics dashboard
Migrate from Google CloudMigrate from hosting
Shortcuts
GTM Copy PasteReady-made templates
GA4 Server-side Tracking
Setup in GTMCreate GA4 Event TagsGA4 tag setup in server containerE-commerce events in GTM
Google Ads Server-side Tracking
Install Conversion LinkerSet up Conversion TrackingConfigure Enhanced ConversionsDeploy Remarketing Tags
Facebook Server-side Tracking
Set Meta PixelImprove your EMQ ScoreInstall Meta CAPIMeta Events DeduplicationMeta CAPI Gateway
LinkedIn Server-side Tracking
Install LinkedIn Insight TagSet up LinkedIn CAPILinkedIn Events Deduplication
TikTok Server-side Tracking
Set up TikTok PixelInstall TikTok Events APITikTok Events Deduplication
Pinterest Server-side Tracking
Set up Pinterest TagConfigure Pinterest Conversions APIPinterest Events Deduplication
Snapchat Server-side Tracking
Set up Snap PixelSnapchat Conversions APISnapchat Events Deduplication
TAGGRS Tracking Tags and Tools
Tracking TagsGoogle Service Account integrationsGTM LogsProfit TrackingData Enricher ToolWebhooks TesterEnhanced Tracking ScriptMulti Domain ToolClick ID RecoveryConsent Tool
Configurations
Billy Grace Server-side TrackingLeadPages Server-side TrackingPiwik PRO Server-side TrackingCDN Server-side TrackingShopify Server-side TrackingActiveCampaign Server-side TrackingKlaviyo Server-side Tracking
Server-side Tracking for e-commerce
Shopify Data LayerShopware Data LayerMagento Data LayerWooCommerce Data LayerPrestashop Data LayerLightspeed Data Layer
Consent Management server-side
Activate Consent ModeConfigure TAGGRS with Axeptio

Set up Meta event duplication

This guide provides a clear, actionable process for implementing event deduplication between Meta Pixel (client-side) and Meta CAPI (server-side) using Google Tag Manager (GTM) and TAGGRS.

Deduplication is crucial for:
  • Accurate attribution: It prevents the same conversion from being counted twice when tracked by both Pixel and CAPI.
  • Budget integrity: Ensures you don’t over-report conversions, leading to better spend allocation.
  • Prevention of pixel-blocking by Intelligent Tracking Prevention (ITP) mechanisms and AdBlockers, improving data reliability.
  • Prevention of pixel-blocking by Intelligent Tracking Prevention (ITP) mechanisms and AdBlockers, improving data reliability.
  • Increased lifespan of Facebook cookies, enhancing long-term tracking accuracy.
  • Compliance with Meta’s recommendation that all setups using both Pixel and CAPI implement deduplication.

Set up the event deduplication client-side

1. Create variable

First, the required variable must be set up before beginning further configuration. Within the web container (client side), go to "Variables" and click on "New."

Screenshot from Google Tag Manager, where to set a variable client-side for the meta deduplication

2. Set variable

Click on "Variable configuration" and then choose "Discover more variable types in the template gallery....". Here, search for unique event id and add the "Unique Event ID" variable to the workspace. Then save the variable.

Screenshot from Google Tag Manager where to set the unique event ID for the variable

3. Setting Meta pixels

Go to "Tags" within the web container and click on the Facebook Pixel.

Logo of TAGGRS Server-side Tracking: a light blue circle with two blue angle brackets
Expert insight
There are multiple ways to install the Facebook pixel through GTM. The most common are through a custom HTML script (which META provides when creating a new pixel), or a template from the template gallery.

Setup with template

In this guide, we are using a template. Due to the transition from UA to GA4, it is necessary to create multiple tags from this template. One per event you want to measure. Do you also have multiple tags from the Facebook Pixel? Then add the event_id to each tag as described below.

Screenshot from Google Tag Manager where the Facebook Pixel is selected to et Meta event deduplication

Click on the pencil and go to "More settings". Here, click on the + sign and select the Unique Event ID variable you just created. Then save the tag by clicking "Save".

Screenshot from Google Tag Manager to set the unique Event ID variable

Setup with custom HTML script

Are you using a custom HTML script or multiple HTML scripts per event? Then you need to add an event ID parameter to the Facebook event you want to measure. Add the following code after the event you want to track:

fbq('track', 'EVENTNAME', {},{eventID: '{{Facebook event ID}}'});

Example change in code PageView:

fbq('track', 'PageView'); -> fbq('track', 'PageView', {},{eventID: '{{Facebook event ID}}'});

Then click on "Save".

Screenshot from Google Tag Manager to set up the variable via a custom HTML script

4. GA4 Google Tag setup

Go to "Tags" → "Google Tag". Then under "Configuration parameter", add the following parameter: event_id - {{Unique Event ID}}. Then save the tag and Facebook is deduplicated on the Client Side.

Setup the meta deduplication via GA4 Google Tag

Then repeat this for all GA4 Event Tags. When all tags are set press "Submit" at the top right to put the container live

Screenshot from Google Tag Manager to set the tag for all GA4 Event Tags

Set up the event deduplication server-side

1. Create variable

Now that the event deduplication client-side is set up we will now set it up server side. Go to the server container and click on "Variables". Then click on "New".

How to set up the event deduplication for Meta on the server side

Click on the pencil icon. Then click on "event data" and select it. Next, under key path, enter event_id. Give the variable a name, for example: Facebook Event ID. Then save the variable. Don't see event data? Then you're probably working in the client-side container instead of the server container.

Screenshot from Google Tag Manager to setup Meta event deduplication in the server container

2. Selecting Facebook conversion API

Within the server container, go to "Tags" and select the "Facebook Conversion API".

Need to configure the Facebook CAPI? Go to the dedicated guide.

3. Setting up Facebook Conversions API

Click on the pencil and go to "server event data to override". Then click on "add property".

At "Property Name", select "Event ID". At "Property Value", click on the plus sign and select "Facebook Event ID". Click "Save" to save the tag.

All you have to do now is to put the server container live, and then you will have completed the entire Meta implementation sequence. From now on, all Meta events will be measured and deduplicated both client side and server side.

Test the deduplication

You can validate Facebook Event Deduplication in Facebook's Business Manager. Go to your Pixel --> Select Event --> View Details. Here you can see how much % of the event is deduplicated.

We have added the Event ID, so we look at Event ID in Deduplication Keys. We see that from the Facebook Pixel 95.35% is deduplicated and from the Conversion API 100%.

Useful resources

Facebook server-side tracking - The full manual
Find expert support
Previous
Install Meta Conversions API
Next
Set up Meta CAPI Gateway
Copyright © 2025 TAGGRS. All right reserved.
TABLE OF CONTENTS
Set up event deduplication client-sideSet up event deduplication server-sideTest deduplicationUseful resources