GDPR and Ad Tracking in the EU: What Needs Consent
What GDPR and the ePrivacy rules mean for Google Ads and Meta tracking in the EU and UK: what needs consent, what Google requires, and server-side limits.
Set up Meta's Conversions API step by step: which events to send, how to deduplicate with the Pixel, how to hash customer data and check match quality.

The Meta Pixel runs in the visitor’s browser, and browsers and devices limit it in several ways:
The Conversions API (CAPI) is Meta’s server-to-server connection. Your server sends the event straight to Meta, so browser limits don’t block it. For the wider picture on signal loss, read why your ad data goes missing.
fbp, fbc, IP and user agent, which helps Meta match events to accounts.Get the third step right. A setup that double-counts conversions inflates your reporting and feeds Meta’s bidding wrong numbers.
If you’re choosing between self-hosted and managed GTM server-side, see TAGGRS vs GTM server-side.
Send the events you optimize on, not only Purchase:
Attach customer information to each event: hashed email and phone, hashed name and location fields where you have them, plus IP address, user agent, fbp and fbc.
Meta deduplicates a Pixel event and a CAPI event when the Pixel’s eventID matches the server’s event_id and the event names match. It only does so if the second event arrives within 48 hours of the first (Meta, deduplication).
Two rules:
event_id once, send it with the Pixel event, pass it to your server, and send the same value with the CAPI event.Check deduplication in Events Manager. Meta’s dataset quality metrics show the share of events received with each deduplication key (Meta, Dataset Quality API).
Meta requires SHA-256 hashing for contact fields such as email, phone, name, city, state, zip and country. It tells you not to hash IP address, user agent, fbp or fbc (Meta, customer information parameters).
Normalize before you hash:
16505551212).Common mistakes:
Meta matches on two cookies: _fbp (browser ID) and _fbc (click ID, built from the fbclid URL parameter). Send the current value of both with every CAPI event when they exist.
If you run GTM server-side on your own subdomain, such as metrics.yourbrand.com, your server can set these as first-party cookies through HTTP headers. Safari’s seven-day cap applies to cookies created in JavaScript, so server-set cookies hold up better.
Open Events Manager and look at three metrics for your dataset (Meta, Dataset Quality API):
ACR answers the question of whether the work paid off, using your own data instead of someone else’s benchmark.
If you haven’t set up CAPI, start with Purchase or Lead plus deduplication, then add the funnel events. If you set it up a while ago, audit EMQ, event coverage and deduplication keys, because broken setups often look fine in Ads Manager.
Our tracking service builds and audits CAPI setups, and our Meta Ads management runs campaigns on that data. For online stores, see how we work with e-commerce brands.
Yes. Meta recommends running both with deduplication. The Pixel captures browser signals, and CAPI fills the gaps when the browser drops events.
Meta reports EMQ out of 10 and higher is better. Compare your score before and after changes, and focus on sending more customer fields, normalized and hashed to Meta’s rules.
48 hours. Meta deduplicates a Pixel and server event with the same event name and event ID if the second arrives within 48 hours of the first.
No. Meta asks you not to hash IP address, user agent, fbp or fbc. Normalize contact fields such as email and phone, then hash them with SHA-256.
You still need consent where the law requires it, such as for EU visitors under GDPR. CAPI changes how you send data, not whether you may send it.
We use cookies for analytics and advertising. You can opt out of the sale or sharing of your data at any time.Cookie Policy
Your browser's Global Privacy Control signal is on, so we don't share your data for advertising.