Event match quality is Meta's score for how well your event data matches Meta accounts. Here is how to check it and raise it, step by step, and which tools help.
Event match quality (EMQ) is the score Meta gives to how well the customer information you send with each event matches a Meta account. To improve it, send more customer parameters (hashed email and phone first), run the Conversions API alongside the Pixel with deduplication, and keep the click ID and browser ID on your events. Better match quality can lead to more reported conversions and a lower cost per result, which is why it feeds straight into ROAS.
Tools that help include Meta's own Events Manager, which shows the score, and Madgicx, where Madgicx Cloud Tracking sends conversions to Meta from the server and the Copilot checks dataset quality and event match quality from your own account data. This guide covers every step, with Meta's documentation as the source for the rules.
Copilot checks your dataset quality, and Cloud Tracking sends your conversions to Meta from the server.
What is event match quality in Meta (Facebook) Events Manager?
Meta defines event match quality as an indicator of how effectively customer information parameters match events with a Meta account. Each event you send, such as a Purchase, can carry details like an email address or phone number. Meta compares those details with its own accounts, and the share that match becomes the event's score.
The score matters because Meta uses matched events to attribute conversions and to find more people like your buyers. Meta says better event match quality can increase the additional conversions reported. In short, the more events Meta can tie to a person, the more of your sales it can see.
How do you check your event match quality score?
- Open Events Manager and go to the Data sources tab.
- Select your dataset (your Pixel).
- Open the Event matching tab for the server events you send through the Conversions API.
- Read the score for each event and the tips Meta lists to improve it.
Scores are set per event, so a Purchase and a PageView will differ. Meta's Events Manager also shows a trendline of additional conversions, so you can see the effect of a data quality change over time.
What is a good event match quality score?
Meta does not publish one target that fits every event. A useful way to read the score is to compare events at different funnel stages. A PageView has little customer data behind it, because the visitor has not given an email yet, so its score is lower. A Purchase carries an email, phone and address from checkout, so it should score highest. Focus on raising Purchase and Lead events first, since those are the conversions Meta optimizes toward, and treat a lower top-of-funnel score as normal.
Which customer data fields raise event match quality?
Meta recommends you prioritize customer information parameters by how likely they are to improve matching, and Events Manager shows the general priority of each. More events with these parameters means a better chance of a match. The common fields are:
| Parameter | What it is | Hash it? |
|---|---|---|
| em | Customer email address, the most reliable identifier across devices | Yes |
| ph | Phone number with country code | Yes |
| fn, ln | First and last name | Yes |
| ct, st, zp, country | City, state, zip code and country | Yes |
| external_id | Your own customer ID | Hashing recommended, not required |
| fbc | Click ID from the Meta ad click | No, send as is |
| fbp | Browser ID set by the Pixel | No, send as is |
Website events sent through the Conversions API also need client_user_agent, action_source and event_source_url. Collect an email or phone earlier in the funnel (a newsletter sign-up, an account step, a lead form) so more events carry them.
How do you hash and format customer data correctly?
Meta requires email, phone, name, gender, date of birth, city, state, zip code and country to be hashed before they are sent, while the click ID (fbc) and browser ID (fbp) must not be hashed. Hash with SHA-256 after you clean the value: trim spaces and lowercase emails, and use digits only, with the country code, for phones. A value cleaned differently on the Pixel and on the server will hash differently, so use one cleaning routine everywhere. Most platform integrations and hosted tools do this for you.
How do you set up deduplication between Pixel and Conversions API events?
If the same event goes through both the Pixel and the Conversions API, you must set up deduplication so Meta counts it once. Meta's guide to handling duplicate Pixel and Conversions API events gives two methods, and recommends the first:
- Event ID and event name: the Pixel's eventID (the fourth argument of the fbq track call) must match the Conversions API event_id, and the event names must match too.
- FBP or external ID: works when the browser event is sent first and the server event after it.
Deduplication only applies when both sources send the event. Two browser events, or two server events, are not merged. Check the Event deduplication tab in Events Manager to see which keys you share, and use the Test events tool to confirm the match.
How do you set up the Conversions API for better matching?
The Conversions API sends events from a server, so they do not depend on a browser. Meta's own Conversions API documentation lists three routes, which you can pick by effort:
- One-click from Events Manager: if you already run the Pixel, Meta offers a no-code setup for website events with no setup fees.
- A partner or store integration: a platform app or a hosted tool sends the events for you. Madgicx Cloud Tracking hosts Meta's Conversions API Gateway and Signals Gateway and sends conversions from the server.
- Direct integration: your developers send POST requests to the API, which gives control and takes the most work.
Meta's best practice is a redundant setup: the Conversions API alongside the Pixel, sharing the same events. Aim for an event coverage ratio of 75% (server events to unique browser events) and send events in real time or as close to it as you can. Our guides on the Facebook Conversions API and server-side tracking go deeper on the setup.
How do you keep click identifiers in landing page URLs?
When someone clicks a Meta ad, Meta adds a click ID (fbclid) to the landing page URL, and the Pixel turns it into the fbc value that helps match the later purchase to the ad click. Anything that strips URL parameters breaks that link. Check three places: redirects from short links or a www-to-root redirect, landing page builders that rewrite URLs, and consent tools that block the Pixel until the visitor opts in. Open your landing page from a test ad click and confirm the full URL, with its parameters, reaches the final page.
What are the consent and privacy rules for customer data?
Meta says to get lawful permissions and the necessary consents before you share customer information with third parties, and hashing does not replace consent. Collect only the fields you need, state the use in your privacy policy, and pass a visitor's choice to your tags so that opted-out visitors are not sent. Your legal team should confirm the rules that apply in your markets.
What tools help improve event match quality in Meta Events Manager?
| Tool | What it helps with | Where it fits |
|---|---|---|
| Meta Events Manager | Shows the score per event, the Event matching and Diagnostics tabs, Event coverage and the Test events tool | Checking and testing, free to use with an ad account |
| Meta Conversions API setup in Events Manager | One-click, no-code server events for website events | Pixel users who want the quickest start |
| Madgicx Cloud Tracking | Hosts Meta's Conversions API Gateway and Signals Gateway and sends conversions from the server | Advertisers who want hosted server-side tracking for Meta |
| Madgicx Copilot | Answers questions from your account data and runs dataset quality and event match quality checks | Ongoing checks without opening Events Manager |
| Madgicx Facebook MCP | Brings your Meta account data into Claude, ChatGPT or another AI assistant | Teams that work through an AI assistant |
Read how to check event match quality with the Madgicx Facebook MCP if you use an AI assistant.
What should you fix first when match quality drops?
- Server events stopped: open the Data freshness and Event overview tabs and check whether the Conversions API is still sending.
- Customer data missing: a site or checkout change may have broken the email or phone capture.
- Pixel and server numbers disagree: confirm the same event_id and event name on both sides.
- A payload problem: use the Test events tool and Meta's payload helper to check the structure.
Once the score is healthy, focus on missing conversion events rather than a few tenths of a point. For attribution questions after tracking is fixed, see our Meta ads revenue attribution guide and our notes on first-party data strategy.
How to improve event match quality with Madgicx
Madgicx Cloud Tracking sends your conversions to Meta from the server through Meta's own gateways, so Meta sees and attributes more of them. The Madgicx Copilot can check your dataset quality and event match quality and answer questions about your ad account in plain language, and AI Marketer prepares optimization recommendations that you review and approve in one click. Madgicx is an Official Meta Business Partner and is rated 4.6 out of 5 on G2 from 220+ reviews.
Try Madgicx Cloud Tracking and the Copilot with a 7-day free trial
FAQ
What is event match quality in Meta?
It is Meta's score for how well the customer information you send with an event matches a Meta account. Higher scores can lead to more reported conversions and lower cost per result.
What tools help improve event match quality in Meta Events Manager?
Events Manager shows the score, the Event matching tab and the Test events tool. For improving it, Madgicx Cloud Tracking sends server events through Meta's gateways, and the Madgicx Copilot checks dataset quality and event match quality from your account data.
How do I improve my event match quality score?
Send hashed email and phone with Purchase and Lead events, run the Conversions API with the Pixel, deduplicate with a matching event ID, and keep the fbc and fbp values on every event.
Do I need to hash customer data for the Conversions API?
Yes for email, phone, name, address fields, gender and date of birth, which Meta requires hashed. The click ID (fbc) and browser ID (fbp) must not be hashed.
Why is my Pixel event count different from my Conversions API count?
The counts differ when events fail to deduplicate or one source misses events. Check that the event ID and event name match, and look at the Event coverage tab; Meta advises a 75% ratio.
Do I still need the Conversions API if my score is already good?
Yes. Meta's best practice is to run the Conversions API alongside the Pixel and share the same events, because server events do not depend on the browser.





