Event Match Quality on Meta, Explained for Store Owners
Event Match Quality is Meta's score, from 1 to 10 per event type, of how well the customer information attached to the events your store sends through the Conversions API matches real Meta accounts. Every server event can carry identifiers such as a hashed email, a hashed phone number, browser identifiers, and click identifiers. Meta uses them to connect the event to a person; the more reliably that connection lands, the more of your conversions are attributed to your ads and the more signal delivery optimization has to work with. A low or falling score means Meta is receiving your events but cannot tell who they belong to, which quietly raises your cost per purchase. You can read the score in Events Manager under Dataset Quality, next to its sibling metrics: event coverage, deduplication, and data freshness. The usual causes of a weak score are server events sent with few customer information parameters, checkouts that never capture an email or phone number, and consent tooling stripping browser identifiers.
What the score actually measures
Match quality is about identifiers, not volume. A Purchase event that arrives with a hashed email, a hashed phone number, and Meta's own browser and click identifiers gives Meta several independent ways to resolve the person; an event that arrives bare gives it almost none. The score reflects, per event type, how much usable customer information your events carry and how often it resolves to an account.
This is why two stores with identical traffic can see very different advertising results: the one whose events resolve to people feeds the auction real outcomes, the other feeds it guesses.
Why it moves performance
Attribution depends on matching: a conversion that cannot be tied to a person cannot be tied to the ad that person clicked, so reported results undercount and the campaign looks worse than it is.
Optimization depends on it too: delivery systems learn from matched conversions. Fewer matched events means slower, noisier learning, and that shows up as higher cost per result over time rather than as any visible error.
The sibling metrics in Dataset Quality
Event coverage tracks whether events arrive from both the browser pixel and the Conversions API; a server path that goes quiet reads as a coverage drop long before anyone notices missing purchases.
Deduplication tracks whether paired browser and server events are correctly recognized as one action; broken pairing either discards good events or double counts them.
Data freshness tracks the delay between an action happening and the event arriving; server events batched hours late are worth less to optimization than events that arrive in near real time.
How to monitor it without living in Events Manager
These metrics move slowly and silently, so the practical failure mode is nobody looking. Meta exposes them programmatically through the Dataset Quality API, which means they can be watched on a schedule with your own access token instead of by remembering to check a dashboard.
PixelSentry polls Dataset Quality every 2 hours for exactly this reason, alongside a synthetic storefront crawl that proves your pixel fires and a one button test event that proves the Conversions API receive path. When match quality, coverage, deduplication, or freshness degrades in a way that is confirmed and material, you get an alert with the evidence, not another dashboard to remember.