Analytics
Conversions API match quality for B2B
Server events only help when the platform can match them to a person and count them once. What to send, how to hash it, and how to avoid double counting.
Key takeaways
- Meta’s Event Match Quality scores web server events out of 10.
- Hash contact details after normalizing them; never hash IP, user agent or click IDs.
- Share one event_id and event_name between Pixel and server to deduplicate.
- Send the real event time; Meta rejects events older than 7 days.
- Send CRM stages, not just form fills, so bidding learns what pipeline looks like.
Match quality improves when each server event carries the customer details the platform can match: a normalized, SHA-256 hashed email and phone, an external ID, the click ID, IP address and user agent. Meta scores this as Event Match Quality, out of 10, for web events. Send a shared event_id so browser and server events count once.
What does a conversions API do?
A conversions API sends events from your server to an ad platform, instead of relying only on a script in the visitor’s browser. Meta recommends running its Conversions API alongside the Meta Pixel, which it calls a redundant setup.[1] LinkedIn and Google offer their own versions for server and CRM events.[6][7]
For B2B the value is less about the browser and more about the CRM. The events that matter, such as a qualified meeting or an opportunity, happen days or weeks after the click and never touch a browser tag. A server feed is the only way to tell the platform about them.
How does Meta score match quality?
Event Match Quality is Meta’s score, out of 10, for how effective the customer information on your server events may be for matching each event to a Meta account.[2] It is currently available only for web events.[2]
Definition
Event Match Quality (EMQ) is a score from Meta that shows how well the customer details on a server event can be matched to a person on its platforms. Events that cannot be matched cannot be attributed to an ad.
The score reflects inputs, not results. A high score means the platform can recognize the people behind your events. It does not tell you whether those events are the right ones to optimize for.
Which parameters improve the match?
Meta requires the user agent for website events and asks for external_id and event_id on all events.[2] It says additional customer details, such as email, IP address, first and last name, and phone number, may help increase Event Match Quality.[2]
For B2B lead events, the usual set is:
-
Email and phone, captured on the form, normalized and hashed.
-
External ID, such as your CRM contact or lead ID; Meta describes it as any unique ID from the advertiser and recommends hashing it.[4]
-
Click ID (fbc), read from the _fbc cookie on your domain, in the format Meta documents.[4]
-
Browser ID (fbp), IP address and user agent, captured at the time of the form fill.
LinkedIn says the same in its own words: send multiple identifiers where you have them, because only matched events can be used for attribution and optimization.[6]
How much conversion data are you losing?
A free growth diagnostic checks your consent setup, tags and conversion feeds, and shows where data drops out before it reaches your ad platforms. Your top 3 findings and a 30-day fix plan in writing within 2 business days.
How should data be hashed?
Meta requires SHA-256 hashing for contact fields such as email, phone, first name, last name, city and country, and does not accept them unhashed.[4] Normalize first: for email, trim leading and trailing spaces and convert to lowercase.[4] A stray capital letter produces a different hash and a missed match.
Some fields must not be hashed. Meta says the IP address must never be hashed, and the user agent, fbc and fbp are sent as is.[4] Google’s enhanced conversions also use SHA-256 on normalized data, such as an email address or phone number, before it is sent.[7]
How does event_id deduplication work?
When the Pixel and the Conversions API both send the same conversion, Meta decides whether they are identical by their ID and name.[1] The Pixel’s eventID must match the server’s event_id, and the Pixel’s event must match the server’s event_name.[1]
Two details catch teams out:
-
The 48-hour window. Meta deduplicates only events received within 48 hours of the first event with a given event_id.[1]
-
The fallback is weaker. Deduplicating on fbp or external_id generally works only when the browser event arrives first, followed by the server event.[1]
The practical rule: generate the event ID once, in the page, and pass the same value to the form handler that sends the server event. Two systems that each create their own ID will double count.
Which timestamp should you send?
The time the action happened. Meta defines event_time as when the actual event occurred, accepts it up to 7 days before you send the event, and fails the whole request if any event in it is older.[3] Every event also needs an action_source; for offline events Meta says it should not be website.[2]
LinkedIn accepts conversion times within the past 90 days.[6] Batch jobs that resend old records should filter by age first, or one stale row can fail a batch.
How do CRM stages reach the platforms?
Form fills are easy to send and weakly tied to revenue. The stronger signal is a later stage.
-
Meta offers a Conversions API integration for CRM data, used with the Conversion Leads goal for Meta lead ads.[5] Meta asks for the 15 to 17 digit lead ID in your CRM, a stage that happens within 28 days of the lead, uploads at least once a day, and at least 200 leads per month.[5]
-
LinkedIn added marketing qualified lead and sales qualified lead conversion types from its 202608 API version.[6]
-
Google Ads enhanced conversions for leads use hashed form data to attribute offline sales that started as website leads.[7]
Our guide to closing the loop from CRM to ad spend covers the data model, and server-side GTM for attribution covers the browser side.
Where should a B2B team start?
-
Check that every form captures email, the click IDs and consent, and stores them in the CRM.
-
Generate one event ID per conversion and send it from both the Pixel and the server.
-
Normalize and hash contact fields; leave IP, user agent and click IDs unhashed.
-
Add one qualified CRM stage as a conversion on your highest-spend platform.
-
Review match and deduplication reports monthly, and plan around signal loss without third-party cookies.
Our analytics and attribution service covers these steps as part of our B2B demand generation work.
Sources
Written under our Editorial and AI Policy. Sources checked 19 Oct 2026. Reviewed by DGo Digital on 19 Oct 2026.
FAQ
Questions about Conversions API
Event Match Quality is Meta’s score, out of 10, for how effective the customer information on a server event may be for matching it to a Meta account. It is available only for web events. Adding parameters such as email, phone, name and IP address may raise it.