Meta Conversions API in 2026: Event Match Quality, Deduplication and the Setup That Actually Works
Most Conversions API setups we audit are switched on and quietly wrong: duplicate purchases, missing match keys, leads that never report back. This is the checklist we use to fix them.
By Ads Ninza · Published 18 October 2026 · 5 min read
What the Conversions API is for
The Meta Pixel runs in the browser and loses events to ad blockers, browser privacy controls, consent choices and pages that close before the script fires. The Conversions API (CAPI) sends events from your server directly to Meta, so you recover some of those events and, more importantly, can send events the browser never sees, such as a lead becoming qualified in your CRM or an order shipping. Meta's own guidance is to run both together. We covered the basics in our server-side tracking guide; this post goes deeper.
Deduplication: the most common mistake
If the pixel and the server both send a Purchase, Meta needs to know they are one purchase. It deduplicates when the browser and server events share the same event_name and the same event_id, received within a 48-hour window. Generate the event_id once, in the browser or the server, and pass it to both. An order ID works well for purchases; a generated UUID works for leads.
Symptoms of broken deduplication: reported purchases near double your real orders, ROAS that looks too good, and the deduplication section in Events Manager showing low overlap. Symptoms of over-deduplication: the same event_id reused for different events, so real conversions disappear.
Event Match Quality: what moves it
Event Match Quality (EMQ) is Meta's score for how well an event's customer information can be matched to a Meta account. Better matching means better attribution and better optimisation. The levers, roughly in order of impact:
Hashed email and phone. Normalise first: lowercase and trim emails; phone numbers with country code, digits only. Then SHA-256 hash. Indian numbers need 91 in front; UK 44; UAE 971; US and Canada 1.
fbp and fbc. The _fbp cookie identifies the browser; _fbc carries the click ID from the fbclid URL parameter. Capture both on the landing page and pass them with server events.
Client IP address and user agent. Send them unhashed from the request that triggered the event.
External ID. Your own hashed customer ID, sent consistently.
Send these on every event you can, not just Purchase. Lead and ViewContent events with good match keys help optimisation earlier in the funnel.
Lead generation: send what happens after the form
A form fill is a weak signal; a qualified lead or a closed deal is a strong one. When your CRM marks a lead as qualified or won, send a server event such as QualifiedLead or Purchase with the value, the original lead's match keys and, for Meta lead ads, the lead ID. Then optimise toward that event once volume allows, typically 30 to 50 a week per ad set. This single change does more for lead quality than any targeting setting. See lead quality, not volume and what to set up in a CRM first.
Implementation options
Platform integrations: Shopify and many CRMs offer native CAPI connections. Fastest to set up, least control.
Conversions API Gateway: Meta's hosted option, running on your own cloud account.
Server-side Google Tag Manager: one server container feeding Meta, Google and others. Most flexible. See server-side GTM for Google and Meta.
Direct API from your backend: best for custom systems and CRM events. We build these in our Conversion API and signal infrastructure work.
The weekly check
In Events Manager, review each key event: event count against your real numbers, deduplication rate, EMQ score and its suggested improvements, and diagnostics warnings. Meta also offers a Dataset Quality API for checking this programmatically across many datasets. Compare Meta-reported conversions with your backend weekly; a gap of more than 10 to 15 per cent in either direction means something is broken.
Consent rules apply. In the UK and Europe, server events still need a lawful basis; see UK consent for advertisers. India's DPDP Act and US state privacy laws also shape what you can send. This is not legal advice.
Sources
Meta: Conversions API documentation; Meta: deduplicating pixel and server events; Meta: Event Match Quality.
Frequently asked questions
What is the Meta Conversions API?
A way to send events from your server directly to Meta, alongside the browser pixel, to recover lost events and send offline outcomes.
Do I still need the Meta Pixel with CAPI?
Yes. Meta recommends running both, with deduplication.
How does Meta deduplicate events?
By matching event_name and event_id between browser and server events received within 48 hours.
What is a good Event Match Quality score?
Higher is better; aim to act on every improvement Meta suggests in Events Manager, especially adding email, phone, fbp and fbc.
How do I format phone numbers for CAPI?
Digits only with country code, such as 91 for India, then SHA-256 hash.
What are fbp and fbc?
Meta cookie values: fbp identifies the browser, fbc carries the ad click ID. Pass both with server events.
Can CAPI send CRM outcomes?
Yes. Send qualified or won stages as server events with the original lead's match keys.
Is CAPI allowed under GDPR or UK rules?
It can be, with a lawful basis and proper consent handling. Get legal advice for your case.
Why are my Meta purchases double my real orders?
Usually broken deduplication: missing or mismatched event_id between pixel and server.
How do we start with Ads Ninza?
Apply through the form on this page. The first step is a paid discovery call, INR 499 in India and $9 elsewhere, 45 to 60 minutes with a senior consultant on your numbers. Services start at INR 35,000 per month in India and $500 per month outside India.