Why it happens
Only IP and user agent are sent
Only IP and user agent are sent
Server events with nothing else match few people. Email and phone do most of the work.
Customer information is not normalized
Uppercase emails, spaces, phone numbers without a country code. They hash to values that match nobody.
The click ID never arrives
The fbc parameter comes from fbclid on the landing URL. A redirect that strips it removes one of the strongest keys. See fbclid.
Automatic advanced matching is off
With it on, the pixel picks up emails and phone numbers from your forms. Off, the browser side sends fewer keys.
First-party cookies are off
Without them the fbp browser ID is not set, and server events have nothing to link back to the browser visit.
How to fix it, step by step
Read the score
In Events Manager, open Data sources, your dataset, Overview, and select the event. Event Match Quality shows the score and which customer information parameters arrive and how often.
Turn on automatic advanced matching
Under Settings, switch on automatic advanced matching and pick the fields it may collect.
Keep first-party cookies on
Under Settings, confirm first-party cookies are on so fbp is set.
Send more keys from the server
Add em, ph, external_id, fbp and fbc to your Conversions API events. Lowercase and trim emails, add the country code to phones, then SHA-256 hash both.
Read it again in a few days
The score updates as new events arrive. Compare the same event week to week.
Steps checked against Meta Business Help Center articles: About Event Match Quality; About advanced matching for web; About first-party and third-party cookies. Meta for Developers: Customer information parameters.
Sprites diagnoses this
Sprites diagnoses it
Sprites reads your pixel and CAPI health and shows where it breaks: the match score for each event and the keys holding it down.
What Sprites does
- Reads Meta's Event Match Quality score for each web event, and flags any under 6.
- Names the customer information keys sent on under half of an event's events.
- Reads whether automatic advanced matching is on, and which fields it collects.
- Reads the first-party cookie setting on the pixel.
What it doesn't do
- Add customer information to your events
- Turn automatic advanced matching on
- Score events Meta returned no score for
Questions
What is a good Event Match Quality score?
Meta labels scores as poor, OK, good and great. Aim for 6 or more on the events you optimize for. Purchase above 8 is strong.
How do I check Event Match Quality?
Events Manager, Data sources, your dataset, Overview, then select the event. The score sits in its details.
How do I improve Event Match Quality?
Send hashed email and phone, external_id, fbp and fbc with your server events, and keep automatic advanced matching and first-party cookies on.
Why does my event have no score?
Meta scores web events with enough recent volume. A rare or new event shows none yet.
Does Event Match Quality affect my ad costs?
Indirectly. Better matching means more conversions attributed and more signal for delivery, which usually lowers cost per result.
- Meta Conversions API
- Meta pixel vs Conversions API
- Conversions API deduplication
- Meta pixel not firing
- Meta pixel not tracking purchases
- Meta pixel duplicate events
- CAPI not receiving events
- Pixel events not showing in Events Manager
- Meta pixel not active
- Meta pixel not showing in Ads Manager
- Meta test events not working
See where it breaks
Connect your accounts. Sprites reads them side by side and shows you exactly where the numbers split.