What is Event Match Quality (EMQ)?
Event Match Quality is Meta’s published score for whether a conversion event can be tied back to a known Meta user. A high EMQ means Meta successfully matched the event to a real Facebook or Instagram account; a low EMQ means Meta received the event but couldn’t confidently match it to a user, so the event is less useful for optimization, attribution, and audience building.
EMQ is exposed in Meta Events Manager under the Data Sources tab for each pixel. The score appears at three levels: per-event-type (e.g., the EMQ for your Purchase event), per-data-source (the Pixel vs. the CAPI integration), and as an account-level aggregate. The per-event-type view is the most useful for diagnosis.
EMQ was introduced alongside the broader Conversions API rollout in 2020–2021 as Meta’s way of giving advertisers a public-facing diagnostic for whether their server-side data was actually being used. Before EMQ, advertisers had no way to tell whether the events they were sending to CAPI were doing anything; the score made the black box transparent.
How does Meta calculate the EMQ score?
EMQ is calculated from two underlying components: match-key quality (how many high-value parameters the event includes) and event-level match rate (what percentage of recent events Meta successfully matched to a user). The two are combined into the 0–10 score shown in Events Manager.
| Component | What it measures | Improves by |
|---|---|---|
| Match-key quality | Number and weight of customer-data parameters per event | Sending hashed email, phone, name, IP, fbp, fbc on every event |
| Event-level match rate | Share of last 7 days of events Meta successfully matched | Sending parameters Meta can actually resolve (correct hashing, real values) |
Match-key quality is the lever you can move directly. Adding hashed email to events that didn’t have it raises the score. Sending the _fbp and _fbc cookies that the browser-side Pixel sets raises it. Sending IP and user-agent from the server raises it slightly. Sending nothing but event_name and event_time floors the score.
Event-level match rate is partially out of your control — it depends on whether your customers actually have Meta accounts and whether their data matches Meta’s records. A B2B audience with work emails will have a structurally lower match rate than a B2C consumer audience with personal emails, regardless of implementation quality.
What do the EMQ score ranges mean (great, good, poor)?
Meta publishes four EMQ tiers in Events Manager, each with a different practical implication for ad performance:
| Score range | Tier | What it means |
|---|---|---|
| 8.0 – 10.0 | Great | Events are reliably matched; algorithm sees full signal |
| 6.0 – 7.9 | Good | Most events match; some optimization signal is lost |
| 4.0 – 5.9 | OK | Half-strength signal; campaigns can run but optimization is noisy |
| 0 – 3.9 | Poor | Events landing but not usable for optimization |
The target operators consistently aim for is 8.0 or higher. Below that, ad performance degrades in proportion to how far below — a 5.0 score means Meta is treating roughly half your conversions as untrustworthy for optimization purposes.
EMQ is not a vanity score. The difference between a 6 and a 9 typically shows up in real campaign performance within 7–14 days of the change — usually as lower cost per result and more stable scaling.
Which customer-data parameters carry the most weight?
Not all parameters contribute equally to EMQ. Meta weighs identifying parameters heavily and fingerprinting parameters lightly. Hashed personal data is the lever; browser fingerprint data is the cushion.
| Parameter | Field name | Weight | Required hashing |
|---|---|---|---|
| Email address | em |
Highest | SHA-256, lowercased, trimmed |
| Phone number | ph |
High | SHA-256, digits only, country code |
| First name | fn |
Medium-high | SHA-256, lowercased |
| Last name | ln |
Medium-high | SHA-256, lowercased |
| Date of birth | db |
Medium | SHA-256, YYYYMMDD |
| Gender | ge |
Low-medium | SHA-256, f or m |
| City, state, ZIP, country | ct, st, zp, country |
Low-medium | SHA-256, lowercased |
| External ID | external_id |
Variable | Optional hashing |
| Facebook browser ID | fbp |
Medium | Plain text (no hashing) |
| Facebook click ID | fbc |
Medium | Plain text (no hashing) |
| IP address | client_ip_address |
Low | Plain text |
| User agent | client_user_agent |
Low | Plain text |
The single highest-impact action for low EMQ is adding hashed email. The second is adding hashed phone. After those two, the marginal lift from each additional parameter drops quickly — but adding fbp/fbc and IP/user-agent is essentially free for any setup that already has the Pixel installed.
Hashing format matters. Meta rejects mis-hashed parameters silently — they’re accepted by the API but don’t contribute to matching. The most common mistakes are forgetting to lowercase email before hashing, not stripping whitespace, and hashing phone numbers with formatting characters (+1 (415) 555-1234 instead of 14155551234).
Why does EMQ matter for ad performance?
EMQ directly drives three things: how much conversion signal the algorithm sees, how accurately Meta builds lookalike and retargeting audiences, and how confidently Meta reports your campaign performance. All three matter.
Meta has publicly stated that advertisers running CAPI alongside the Pixel see meaningfully lower cost per result than Pixel-only setups; the EMQ score is the operational metric that quantifies how much of CAPI’s benefit you’re capturing. A CAPI integration with a 4.0 EMQ is structurally close to running Pixel-only — Meta has the events but can’t use most of them.
The compounding effect: campaigns with high EMQ scale more cleanly because Meta’s machine learning has more data to train on per dollar spent. Campaigns with low EMQ tend to plateau early, with cost per result drifting up as Meta runs out of qualified audiences to bid for. This is why the gap between a 6 and an 8 EMQ score often looks bigger in real campaign performance than the absolute score difference suggests.
How often does Meta refresh the EMQ score?
EMQ in Events Manager updates approximately every 48 hours and is computed from a rolling 7-day window of events. Changes you make to your integration take effect on the next 48-hour refresh and continue to improve over the following 7 days as the older (lower-quality) events age out of the window.
The practical implication: if you add hashed email to your CAPI payload on Monday, you won’t see the full EMQ benefit in Events Manager until the following Monday. Don’t iterate on EMQ daily; iterate on a 5–7-day cycle. The Test Events tool in Events Manager is the right place to validate changes in real time before they hit the rolling window.
This delay is one of the reasons EMQ debugging is often misdiagnosed — operators add a parameter, see no immediate change, conclude the parameter isn’t being received, and revert the change. Validate in Test Events first; wait at least 48 hours before declaring success or failure on the live score.
How can PartialLeads improve your EMQ without a developer?
The traditional path to high EMQ requires a developer. You need to capture customer-data parameters on every conversion event, hash them with SHA-256 to Meta’s specification, generate matching event_id values for Pixel/CAPI deduplication, store and rotate the Meta access token, POST the payload to Meta’s CAPI endpoint, and debug the inevitable hashing and parameter-format issues. For most mid-sized advertisers, this is 1–3 days of backend engineering plus ongoing maintenance.
PartialLeads is built to skip that path. The platform installs as a single tag on your site (or via a no-code platform connector for Shopify, WordPress, and similar), captures form fields as the visitor types them, hashes the customer-data parameters server-side to Meta’s spec, generates the shared event_id so the Pixel and CAPI deduplicate cleanly, and sends the events to Meta’s CAPI endpoint with the access token managed inside the platform.
The structural EMQ advantage:
- More events with full match data. Pixel-only setups fire on submit, which means abandoned forms contribute nothing to EMQ. PartialLeads captures email and phone at the moment they’re typed, so partial leads — not just completed submissions — feed Meta’s matching engine. The larger pool of high-quality events lifts the rolling event-level match rate.
- No developer in the loop. The SHA-256 hashing, the access token rotation, the event_id generation, and the parameter formatting all happen inside the platform. There’s no application code to write and no integration to maintain when Meta updates the CAPI spec.
- Deduplication is automatic. PartialLeads’ tag sets the matching
event_idon both the browser-side Pixel call and the server-side CAPI call, so Meta deduplicates cleanly and counts each conversion once — not twice (which lowers EMQ) and not zero times (which loses it entirely). For advertisers who would otherwise be sending CAPI events with only IP and user-agent — or not sending CAPI events at all — moving to a managed partial-capture-and-relay setup typically lifts EMQ from the 3–5 range into the 7–9 range within the first 48–72 hours of installation.
Sources
- Meta Business Help — About Event Match Quality: https://www.facebook.com/business/help/765081237991954
- Meta for Developers — Customer information parameters: https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters
- Meta for Developers — Conversions API best practices: https://developers.facebook.com/docs/marketing-api/conversions-api/best-practices
- Meta Business Help — About the Conversions API: https://www.facebook.com/business/help/353532912433684
- TAGGRS — Meta Event Match Quality Score: https://taggrs.io/docs/server-side-tracking/facebook/event-match-quality-score
- CustomerLabs — Improving Event Match Quality: https://www.customerlabs.com/blog/improve-your-event-match-quality-from-ok-to-great/