Meta Ads

Meta Event Match Quality for Shopify explained

Event Match Quality is Meta's confidence score for how well it can tie a server-side event to a real Facebook or Instagram account. It's a useful diagnostic. It's not a scoreboard, and chasing a perfect number isn't the point.

What the score actually measures

Every server event you send (a purchase through the Conversions API, for example) includes some hashed customer parameters. Meta compares those against its own user data and estimates how confidently it can say "this event belongs to this specific account." That confidence is what shows up as Event Match Quality in Events Manager, on a rough scale rather than a precise measurement.

What moves the score

Hashed email

Usually the single biggest contributor; most Shopify checkouts collect it by default.

Hashed phone number

Strengthens the match meaningfully when collected at checkout.

External ID

A stable customer or order identifier tied to your own system.

Click ID (fbc)

Present when the customer arrived via a click on a Meta ad; absent for organic or returning-direct traffic.

IP address & user agent

Passive technical signals sent automatically with the event.

More matching parameters generally means a higher score. But a checkout that only ever collects an email will structurally never reach the same score as one that also has a phone number and a click ID; that's not a problem to fix, it's a ceiling set by what data actually exists.

Why a perfect score isn't the goal

A high Event Match Quality score means Meta is confident it matched the event to the right person. It says nothing about whether that person bought because of your ad, or would have bought anyway. Matching and attribution are separate problems: one is about identity, the other is about causation. EMQ only ever addresses the first one.

Use it as a diagnostic, not a target

The useful signal isn't the absolute number; it's a sudden drop. If EMQ falls sharply from one week to the next, that usually means a field stopped being sent: a checkout change dropped the phone number field, a theme update broke the click-ID capture, or a tracking app update silently reduced what's included in the payload. Investigate the drop. Don't spend time trying to inch a stable, moderate score higher for its own sake.

Identifiable customer data is hashed, and still governed by consent

Email, phone and external ID (the identifiers that directly name a customer) are hashed before they leave your server; Meta never receives them in plain text. IP address and user agent, which Meta also uses for matching, are sent as-is, as Meta's own spec requires. None of this bypasses consent requirements: if a customer hasn't agreed to tracking, their event (and its matching parameters) shouldn't be sent, regardless of what it would do for your match rate.

Common questions

What counts as a good Event Match Quality score?
Meta and most practitioners treat a score of roughly 6 to 8 as solid for a typical Shopify checkout. Scores above that are possible with more identifiers, but the realistic ceiling depends on what data your checkout actually collects, and it isn't a target every store can reach.
Does a higher EMQ score mean higher ROAS?
Not directly. EMQ measures how confidently Meta can match an event to a real account, which helps Meta's optimization use the signal you're already sending. It doesn't make the underlying purchase any more or less likely to have been caused by the ad.
Is EMQ the same thing as Event Match Quality shown per-event vs. account-wide?
Events Manager shows EMQ per event type (Purchase, AddToCart, and so on), not one single account-wide number. A drop in one event's score doesn't necessarily mean the others are affected, so check the specific event that matters to you.

Improve your Event Match Quality

Connect your store and Meta account to send server-side events with stronger matching parameters, then track the effect on Event Match Quality in Meta Events Manager.