Skip to content
Guide

Event Match Quality: what Meta's score means and how to improve it

Updated October 23, 2026

Event Match Quality (EMQ) is the score Meta gives your Conversions API events for how well the customer information you send can match each event to a Meta account. Here's what the score covers, where to find it, which parameters Meta ranks highest, and what Meta's own docs say to do to raise it.

What Event Match Quality measures

Meta calculates a score out of 10 for each server event. It's based on the quality of the customer information parameters you send with that event and the share of its instances that were matched to Meta accounts. The score uses the last 48 hours of data, so it moves as your setup changes, and you need to keep sending events for it to stay current.

  • Matched events help Meta attribute conversions to your ads and show ads to people more likely to convert. Meta says better event match quality can lead to better ad performance and a lower cost per action.
  • Meta's developer docs recommend aiming for a score of 6.0 or higher where possible.
  • Each event is scored on its own. Purchase can score well while AddToCart scores poorly, so check them one at a time.

Which events get a score

  • Event Match Quality is available for website events sent through the Conversions API with action_source set to website.
  • That covers standard and custom web events, such as PageView, AddToCart and Purchase.
  • Meta's Dataset Quality API docs say the score is currently available only for web events. App events and offline events aren't covered.
  • If you only run the browser pixel, there's no server event to score. See Conversions API vs Meta Pixel for how the two work together.

Where to find Event Match Quality in Events Manager

  • Go to Events Manager and select the name and ID of your dataset (your pixel).
  • Find the event you want to look at and click View details.
  • Open the Event matching tab to see that event's score.
  • Click the score to see more detail and Meta's recommended actions for improving it.
  • If you manage many datasets, the Dataset Quality API returns the same score as composite_score, along with how often each match key is present.

The customer information parameters Meta ranks highest

Meta publishes a general priority for each parameter. It notes that your audience affects which ones work best, but this is the default order. The Conversions API field name is in parentheses.

  • High: Email (em) and Click ID (fbc).
  • Medium: Facebook Login ID (fb_login_id), Birthdate (db), Country (country), Phone number (ph), External ID (external_id) and Browser ID (fbp).
  • Low: Lead ID (lead_id), First name (fn), Last name (ln), City (ct) and Zip or postal code (zp).
  • client_ip_address and client_user_agent aren't in that table, but Meta says sending them with all events may help event matching. client_user_agent is required for website events sent through the Conversions API.

Hashing and formatting

  • Must be hashed with SHA-256: em, ph, fn, ln, db, ge, ct, st, zp and country. Meta says its systems are designed not to accept unhashed contact information.
  • Hashing recommended: external_id.
  • Don't hash: client_ip_address, client_user_agent, fbc and fbp.
  • Normalize before you hash. Email: trim spaces and lowercase. Phone: digits only, no leading zeros, always with the country code. Country: lowercase two-letter ISO code. US zip codes: first five digits only.
  • fbc and fbp follow a fixed format, fb.{subdomain_index}.{creation_time}.{value}. fbp comes from the _fbp cookie. fbc comes from the _fbc cookie or is generated from the fbclid parameter an ad click adds to the URL.

How to improve Event Match Quality

  • Send more customer information parameters on more events. Meta says the more events carry them, and the more each event carries, the more likely a match. Start with the high-priority ones you actually have, like the email entered at checkout.
  • Pass fbc and fbp from the browser to your server events. The pixel stores them in first-party cookies, so your server can read and forward them. fbc is only there when the visit came from an ad click.
  • Send client_ip_address and client_user_agent with every event, unhashed. Use the visitor's real IP address, not your server's.
  • Normalize, then hash, exactly as Meta's developer docs describe. A value hashed before it's normalized, such as an email with a capital letter, gives a different hash.
  • Send events in real time or as close to it as you can, and check the recommended actions Events Manager shows for each event.
  • On the browser side, turn on advanced matching for the pixel: Events Manager, Data sources, your dataset, Settings, then the automatic advanced matching toggle. Pick the parameters to share; Meta suggests at least Email and Phone number. It isn't available for restricted verticals, IMG pixels or pixels in an iframe, where you can set it up manually in the pixel code instead.
  • Only send data you're allowed to. Meta's Business Tools Terms require lawful rights to collect and share it, hashed contact information and no sensitive information. Get the consents you need first and check your plan with your own legal counsel.

What a browser check can and can't see

  • Whatever the pixel sends on the pages you visit is visible: whether it loads, which events fire, and which advanced matching fields go out with them. See how to check your Meta Pixel is working.
  • Conversions API events go from your server to Meta and never pass through the browser, so no browser-based tool can see the customer information they carry or their score. Events Manager is the place for that.
  • Pixel Audit opens your store from our servers, goes through home, product, cart and checkout, records every Meta Pixel request with its parameters, including any advanced matching fields, and reports missing or duplicate events. It doesn't see server events, so you can attach an Events Manager screenshot when you start a check and the report will take it into account.

Check which events your Meta Pixel sends on product, cart and checkout pages, and what each one carries.

Check my Meta Pixel

Questions

What is a good Event Match Quality score?
Meta's developer docs recommend aiming for 6.0 or higher out of 10 where possible. Each event is scored separately, so look at them one by one.
Why can't I see Event Match Quality in Events Manager?
The score is only available for website events sent through the Conversions API with action_source set to website. If you only use the browser pixel, there's no server event to score.
Does advanced matching on the pixel raise Event Match Quality?
Meta calculates the score for events sent through the Conversions API. Advanced matching adds customer information to browser pixel events, which helps those events match, but the score reflects what your server events carry.
Do I need to hash fbc and fbp?
No. Meta says not to hash fbc, fbp, client_ip_address or client_user_agent. Contact fields like em, ph, fn and ln must be SHA-256 hashed.
How long does it take for the score to change?
The score is calculated from the last 48 hours of data, so allow about two days after a change before judging it.

Related guides

Sources