Skip to content
Meta Conversions API

Event Match Quality: What It Is and How to Improve It in Meta Events Manager

What Event Match Quality in Meta Events Manager measures, which customer parameters actually help matching, how to prepare them, and when EMQ does not appear at all.

Convs teamPublished: 8 min read
List of Meta Conversions API deliveries with the status of each event
On this page
  1. What is Event Match Quality?
  2. Which events does Meta calculate EMQ for?
  3. Which customer parameters actually help?
  4. Common causes of a low EMQ
  5. How this works in Convs
  6. How does EMQ relate to the Pixel and deduplication?
  7. A step-by-step plan to improve EMQ
  8. Limits: what EMQ does not tell you

Event Match Quality is Meta's hint about how many of your events it can attribute to real people. An event Meta cannot match to an account will not help optimisation or attribution, even if it was accepted without errors. Treat EMQ like a thermometer: it does not cure anything, but it shows where your data is too thin. This guide explains what the score measures, which parameters matter, how to prepare them, and why you will not see it for CRM leads at all.

What is Event Match Quality?

According to the Dataset Quality API documentation, EMQ is a score out of 10 that indicates how effective the customer information sent from your server may be at matching an event to a Meta account. Meta considers:

  • which customer information parameters it receives through the Conversions API,
  • the quality of those parameters,
  • the share of events matched to an account.

The score is calculated in real time and shown separately for each event, such as Purchase or AddToCart. Alongside it, Meta shows diagnostics (specific integration issues with suggested fixes) and data freshness, the delay between an event happening and Meta receiving it.

Why it matters: Meta's Conversions API best practices say plainly that only matched events can be used for ad attribution and delivery optimisation. Unmatched events are useful for basic measurement at most.

Which events does Meta calculate EMQ for?

Website events only. Meta notes that EMQ is not available for offline and physical store events, app events, or the CRM integration for leads (conversion leads). This matters because many teams look for a score where none exists.

Event typeExampleEMQ?Main matching key
Website (action_source: website)Purchase from an online shopyesemail, phone, IP, user agent, fbp, fbc, external_id
CRM lead stage (system_generated)QualifiedLead for a Meta form leadnolead_id, with email and phone as backup
Offline or spreadsheeta status from Google Sheetsnoemail, phone, lead_id if available

If you mostly send stages for form leads, do not chase an EMQ score. Make sure every event carries the original lead_id and that your stages are well designed, as covered in CRM lead stages for Meta.

Which customer parameters actually help?

Meta gives email, IP address, first and last name, and phone as examples of high-quality parameters, and recommends sending external_id and event_id with every event. The full list of fields and preparation rules is in the customer information parameters reference.

ParameterWhere it comes fromHow to prepare itHashing
Email (em)checkout form, customer accounttrim spaces, lowercaseSHA-256
Phone (ph)checkout formdigits only with country code, e.g. 447700900123SHA-256
IP address (client_ip_address)the customer's browser requestthe customer's real address, not your server'snever
User agent (client_user_agent)the customer's browserunchanged; required for website eventsno
fbpthe _fbp cookieunchangedno
fbcthe _fbc cookie or fbclid from the clickonly from a real ad clickno
external_idyour customer IDthe same for one person across all channelsrecommended
First, last name (fn, ln)formlowercase, no punctuationSHA-256

Two rules that are easy to overlook:

  • Overly broad events are rejected. If an event carries only fields such as gender, city, state and country, Meta treats it as invalid. City or postcode only help as extras.
  • Send test events with your own data. Meta says test events that do not match an account may be discarded, so test with your own email and phone, not test@test.com.

Common causes of a low EMQ

SymptomCauseFix
Email is sent, but few matchescapitals or spaces before hashingnormalise before SHA-256
Phone adds almost nothingnumber without country code or with a leading zerostore numbers in international format
No fbp or fbc on ordersbrowser identifiers never reach the orderpass them from the page to the order after cookie consent
IP is always the same addressyour server or proxy address is being sentpass the customer's IP; trust proxy headers only when the proxy overwrites them
Diagnostics flag delaysevents sent in a nightly batchsend each event right after the order
Score drops after a site changea new form no longer passes email or phonecheck parameter coverage after every release

How this works in Convs

Convs does not "boost" the score with tricks. It makes sure data is complete and correct before it leaves for Meta:

  • Email and phone are normalised and hashed on the server. An invalid email or a phone number without a country code stops the event with a clear error rather than sending a hash that will never match.
  • The shop collector gathers fbp and fbc only after consent from your CMP. It reuses an existing _fbp or creates its own identifier, and takes fbc only from a real fbclid; it never invents one without a click. It also records the customer's real IP and user agent, skipping private addresses.
  • A shop order is sent as a website event with a stable event_id, the customer's user agent and a page URL on the same domain as the source. Query parameters are stripped before sending.
  • Your own customer ID passed as user_id reaches Meta as a hashed external_id.
  • Events leave from a durable queue checked every minute, so data reaches Meta close to the time of the event.
Meta deliveries list with status and attempt count for each event
Meta deliveries list with status and attempt count for each event

How to carry the collector's identifier into the order and avoid double counting with the Pixel is covered in server-side purchase events for online shops and Pixel and CAPI event deduplication. The Meta Conversions API feature page describes delivery in general.

How does EMQ relate to the Pixel and deduplication?

EMQ rates events sent from your server, but in most shops the browser Pixel also reports the same order. If both send Purchase, Meta has to know it is one transaction. The best practices require either an event_id or a combination of external_id and fbp on both events; in practice, the simplest route is the same event name and the same event_id on both sides.

That is good news for EMQ: the identifiers that let Meta remove the duplicate also help it match. A server event carrying the customer's fbp, fbc, IP and user agent is both better matched and easier to deduplicate. The reverse holds too: a server event with no browser identifiers gives Meta less to work with on both counts.

One warning: do not invent an fbc to "fill the gap". Meta expects a value from a real ad click, and a fabricated one can distort attribution.

A step-by-step plan to improve EMQ

  1. Pick the events that matter. Usually Purchase and Lead on your website. PageView normally carries little customer data and is not worth forcing.
  2. Record a baseline. The score and the coverage of each parameter from Events Manager, so you have something to compare against.
  3. Fix the format first, before adding new fields. A badly normalised email is worse than none, because it looks as though data is being sent.
  4. Add browser identifiers (fbp, fbc, IP, user agent) after cookie consent.
  5. Add external_id if customers have accounts in your shop.
  6. Cut the delay: send each event right after the order.
  7. Check the score after a few days of traffic and compare it with your baseline.

Only collect data you need to fulfil the order. Adding form fields purely to lift EMQ conflicts with the data minimisation principle. More in GDPR and the Conversions API.

Limits: what EMQ does not tell you

  • EMQ does not measure lead quality or whether your event counts are right. A perfect 10 on a Lead event that fires for every spam submission still means optimising for spam.
  • EMQ does not apply to CRM lead stages. There, data quality depends on lead_id and sending stages regularly.
  • Convs sends email, phone, external_id, lead_id and browser data from the collector. It does not send first or last name, city, postcode or date of birth. If your approach depends on those fields, you need a different setup.
  • A higher score does not guarantee better campaigns. It gives Meta more matched events to learn from; Ads Manager shows the effect.

If you are new to server-side events, start with what the Meta Conversions API is. Plans and limits are on the pricing page.

Frequently asked questions

Where do I find Event Match Quality?

In Events Manager, in the details of a website event for the relevant data source. Meta shows the score there along with which customer parameters arrive and at what coverage. The same score is available through the Dataset Quality API.

What is a good EMQ score?

Meta's developer documentation gives a scale out of 10 and recommends monitoring the score per event together with the parameters you send, but no single threshold. Targets like 'at least 6' usually come from tool vendors. Compare against your own score before changes.

Why is there no EMQ for my lead form leads?

Because Meta only calculates EMQ for website events. Offline events, app events and the CRM integration for leads (conversion leads) do not have it. For leads, the key is the lead_id, which ties each event to a specific submission.

Will sending date of birth or city raise EMQ much?

Meta lists email, IP address, first and last name and phone as examples of high-quality parameters. City, gender or country help less, and an event with only such fields is rejected as too broad. Do not collect extra data just to raise the score.

Does a higher EMQ mean better campaign results?

Not automatically. A higher EMQ means more events can be matched to accounts, and only matched events can be used for attribution and optimisation. That is better material for Meta, not a guarantee of a lower cost per conversion.

Does hashing lower EMQ?

No, as long as the data is normalised before hashing. The problem is hashing a badly formatted value, such as an email with a capital letter or a phone number without a country code: that hash will not match anything. IP address, user agent, fbp and fbc are not hashed.

See what Meta sees

Connect your ad account and see which forms are ready and which need fixing. Free up to 100 leads a month, no card required.