Somebody clicks your Meta ad on a Tuesday night, browses for ten minutes, and buys. Your store records the order. Meta records it too, and the conversion count in Ads Manager ticks up by one. Everything looks like it worked.
What you cannot see from Ads Manager is whether Meta knows who bought. Those are two different things. Meta can know that a purchase happened on your website without being able to connect that purchase to a real person with a Facebook or Instagram account. When it can make that connection, the sale becomes a lesson: this is the kind of person who buys from you, go find more of them. When it cannot, the sale is a tally mark. It gets counted, and nothing is learned from it.
Meta grades how well it makes that connection, on a scale of 0 to 10, for every conversion event your website sends it. The grade is called Event Match Quality. It sits in a corner of Events Manager that most owners have never opened, and for a lot of small accounts it is quietly the reason the ads never get sharper no matter how good the creative is.
Meta Learns Nothing From a Sale It Can't Match to a Person
Here is what "matching" means in plain terms. When your website tells Meta that a sale happened, it can send details about the buyer along with it: an email address, a phone number, a first and last name, a city and ZIP code, the ID of the ad click that brought them in, the device and browser they used. Those details are scrambled into an unreadable code before they leave your system (the industry word is hashed), and Meta compares that code against the accounts it already has. If enough details line up with one person, the sale is matched.
The reason this matters is spelled out in Meta's own developer documentation, and it is blunter than most of what Meta publishes. Only matched events can be used for ad attribution and for ad delivery optimization. Unmatched events can still be used for basic measurement, which means they show up in a count, but they cannot teach the system who to show your ads to, and they cannot be credited to the ad that produced them.
Think of it as a cash register that prints receipts with no customer name on them. At the end of the month you know you made 80 sales. You have no idea whether they came from regulars, from the new neighborhood that opened up, or from the people who saw your flyer. You can count your business. You cannot learn from it.
That is the whole stake. Every piece of modern Meta advice, from broad targeting to letting Advantage+ find your buyers, assumes Meta can see who converted. We have written about why Meta's AI is only as smart as the data you feed it, and about getting your sales back to Meta in the first place. Event Match Quality is the next question down: of the sales you are sending, how many can Meta actually use?
No Score at All Means Your Website Is Not Sending Sales to Meta Directly
To find your score, open Events Manager, choose your dataset (the thing older accounts still call the pixel), click the event you care about, and choose View details. The tabs inside show how many events arrived, how many came from your server versus the browser, and how well they matched. The match score sits on the event quality and matching view, as a number out of 10, with a list of the customer details Meta received and how often each one arrived.
Now the part that catches people. Meta only shows Event Match Quality for website events sent through the Conversions API, which is the direct connection from your website's server to Meta's. Events that only arrive through the pixel in the visitor's browser do not get a score. So if you go looking and there is no number at all, that is not a glitch. It is the answer: your website is not sending sales to Meta directly, and everything Meta knows about your buyers is whatever the browser managed to pass along before an ad blocker or a privacy setting got in the way.
Two more gaps worth knowing so you do not go hunting for something that is not there:
- Instant form leads are not scored here. If you run lead ads with Meta's built-in forms, the lead is created inside Meta, so there is no website match to grade. If you want Meta to learn which of those leads turned into customers, that is a different setup, the one we walk through in Send Your Closed Jobs Back to Meta.
- Offline sales, app events and phone sales are not scored either. Meta's documentation says Event Match Quality is currently available only for web events, and for everything else it tells you to ask a Meta representative. For a small business, that means this number is about your website and nothing else.
While you are on that screen, look at one more figure. Meta's own guidance is that your Conversions API should be sending at least 75% as many events as your pixel. If the server side is sending a fraction of what the browser sends, the connection is only half built, and the score is grading a sliver of your sales.
A Low Page View Score Is Normal. A Low Purchase Score Is Not.
Open the list of events and you will probably see several scores, and they will not agree with each other. Page views might read 4 or 5. Your purchase or lead event might read 8. Owners see the 4 first and panic. Usually they should not.
Scores differ by event because the details available differ by event. Nobody types an email address to look at your homepage. When a visitor is just browsing, the only things your site can send are what the browser gives away for free: the IP address, the device and browser, maybe the ad click ID if they arrived from an ad. That is not much to match on. Tracking specialists who set these connections up for a living commonly see browse events (page views, product views, add to cart, starting checkout) land somewhere around 4 to 6, and purchase events reach 8 or 9, because checkout is the moment the customer hands over a name, an email, a phone number and an address.
So the score that matters is the one on the event your campaigns are optimizing for. If you sell online, that is the purchase. If you generate leads on your own website, it is the lead or form submission. Those are the events Meta is learning from when it decides who to show your ads to, and those are the ones worth fixing.
One honest warning, because you will run into it. Some tracking tools are sold with the claim that anything below a 9 means your setup is broken. Meta publishes no such cutoff. A purchase event at 7.5 on a small store that collects names, emails and phones and sends them correctly is not broken, and chasing the last point can become a project that costs more than it returns. The useful question is not "is it a 9?" It is "is my optimization event missing details I already have?" That question has a concrete answer, and it is on the same screen.
An Email Counts for More Than a ZIP Code
Not every detail pulls the same weight. A ZIP code narrows a match to thousands of people. An email address narrows it to one. Meta's developer documentation names the customer details it considers high quality: email address, IP address, first and last name, and phone number. Meta's own training material adds the city and the ad click ID to that list.
The ad click ID deserves its own sentence. When someone clicks your Meta ad, Meta tags the visit with an ID, and your pixel stores it in a cookie on your website. Sending that ID back with the sale is the most direct possible way of saying "this purchase came from that click." On any event where it is missing, Meta has to work out who bought from the other details, and it may not manage.
There is a floor, too. Meta treats some combinations of details as too vague to match anyone, and an event carrying only those is considered invalid. Location and gender with nothing else is one example: city, state, ZIP, country and gender together could describe a whole neighborhood. A first name plus gender is another. If those are the only details your system sends, the event is not a weak match, it is no match at all.
The practical takeaway is simple. If your purchase or lead event is arriving without an email or phone number, and your checkout or form collects both, that is the single biggest gap to close. Location details are nice to have. Email, phone and the click ID are the ones doing the work.
A Phone Number Missing Its 1 Matches Nobody
Here is the frustrating part. Plenty of businesses collect every detail Meta wants and still get a mediocre score, because the details arrive in a format that cannot match. Meta does not fix your formatting for you. If the scrambled code your system sends was made from a slightly different version of the email than the one on someone's Facebook account, the codes will not line up, and no match happens.
The rules are fussy and specific:
- Phone numbers need the country code. Meta's documentation is explicit that a US phone number must start with a 1, even if every customer you have is in the United States. A form that stores (480) 555-0142 needs to send 14805550142. Strip the parentheses, dashes and spaces, then add the 1. It is an easy one to miss, because US forms and customer systems rarely store the 1, and a connection that sends the number exactly as stored can miss on every phone it sends.
- Emails must be lowercase with no stray spaces. Jane.Smith@Gmail.com and jane.smith@gmail.com produce completely different codes. So does an email with a space at the end because someone hit the space bar before submitting.
- US ZIP codes are the first five digits only. A ZIP+4 like 85251-1234 should go as 85251.
- States are two-letter lowercase codes, names are lowercase with no punctuation. Small things, but every one of them has to be right before the scrambling happens, because once it is scrambled nobody can see the mistake.
How do you know if this is your problem? On the event details screen, Meta lists each customer detail with the share of events that included it. If your form requires a phone number but phone shows up on only a sliver of your lead events, the number is being lost on the way. If phone shows up on nearly every event and your score is still low, the number is arriving in the wrong format, or arriving for people who simply do not have a Meta account. Meta says so in its own help pages: sending a detail does not guarantee a match, so a high share of events sent with a low score usually points at formatting.
The other common leak is the connection itself. A lot of small businesses switch on the Conversions API through a customer management system, a booking tool or a form plugin, see the green "connected" badge, and never look again. Some of those built-in connections send the event and very little else: no phone, no name, sometimes not even the email the customer just typed. "Connected" means events are arriving. It does not mean they arrive with anything Meta can match.
Your Website Form Decides How Many Sales Meta Can Match
If you sell a service and your conversion is a form on your own website, your form fields are the ceiling on your score. Meta can only match on what you collect. A form that asks for a first name and an email gives the connection two details to send plus whatever the browser adds. A form that asks for a name, an email and a phone number gives it four, and phone numbers are among the strongest matches there are.
That does not mean you should stuff the form. Every field you add costs you some people who would have filled it in, and a lead you never got matches at zero. Ask for what your business actually needs to follow up. For most service businesses that already includes a phone number, because you are going to call them. If your form makes phone optional, look at how many people skip it, and whether you could live with making it required. Do not add an address field just to nudge a score.
Then check the one place leads quietly lose their trail: the hand-off. The ad click ID lives in a cookie on your own website. If a visitor clicks your ad, lands on your site, and then books through a scheduling tool that finishes on another company's website, the conversion may fire somewhere your pixel and that cookie are not. The booking still happens. Meta may simply never connect it to the click. Open the event in Events Manager after a test booking of your own and look at whether it arrived at all, and whether the click ID came with it.
Shopify Hides the Fix in One Data-Sharing Setting
Online stores have it easier, because checkout collects everything Meta wants by default. The question is whether your store is passing it along, and on Shopify that often comes down to one setting.
In your Shopify admin, go to Sales channels, then Facebook & Instagram, then Settings, then Data sharing settings. Shopify offers three levels. Standard uses the Meta pixel only, which means the browser does all the reporting and a browser ad blocker can stop it. Enhanced and Maximum both add the Conversions API, which sends the purchase from Shopify's servers straight to Meta's, and both share the customer's name, location, email address and phone number to match the buyer. A store sitting on Standard is in the "no score at all" group from earlier, no matter how many orders it takes.
Shopify is clear that this is your call, and it is a real one. Sharing more customer information means telling your customers you do it, so check that your privacy policy says so before you move the setting.
If you are on WooCommerce, Squarespace, Wix or another platform, Meta has partner connections for most of them, and the same principle applies: find the setting that controls whether customer details are sent with the purchase, not just whether the purchase is sent.
Whatever you are on, Events Manager will tell you what to fix first. On the event quality view, Meta lists recommendations for your specific dataset, such as adding a phone number or the click ID, often with an estimated improvement next to each. Treat those as a to-do list in priority order. Meta is telling you which missing detail it would get the most out of.
A Better Score Buys Better Data, Not Guaranteed Sales
It is worth being clear about what raising this number does, because it is easy to oversell.
A better match rate means more of your real sales become sales Meta can learn from and credit. Meta tracks the effect with a metric called additional conversions reported, which looks at the last seven days and estimates how many conversions you are seeing because the Conversions API is running alongside the pixel. When matching improves, that number tends to rise, which means your reports get closer to what actually happened and Meta's delivery is working from a fuller picture of who buys.
What it does not do is fix an offer nobody wants, a landing page that does not convert, or an ad that bores people. Event Match Quality is plumbing. Good plumbing is the reason the rest of the house works, and nobody moves into a house for the plumbing. If your score is solid and your results are still poor, the problem is somewhere else, and the score has done its job by ruling itself out.
And because it is customer data, Meta attaches a condition worth repeating: only send what you have permission to send. Your privacy policy should say you share customer information with advertising partners, and if you operate somewhere with stricter consent rules, settle that before you widen what you send.
Fifteen Minutes in Events Manager Will Tell You If Meta Is Guessing
You do not need a developer to find out where you stand. You need Events Manager and a quarter of an hour.
- Find the event your campaigns optimize for. Open Events Manager, choose your dataset, click that event, and choose View details.
- Look for the score. If there is none, your website is not sending that event through the Conversions API. On Shopify, check the data-sharing level first. On anything else, check whether your platform's Meta connection is switched on.
- Check the server share. Are server events at least 75% of browser events? If not, the connection is only partly working.
- Read the list of customer details. Is email there on almost every event? Phone? The click ID? Anything your form or checkout collects but the list does not show is the first thing to fix.
- If phone is there but the score is still low, test the format. Make a test purchase or submit your own form with your own phone number, and confirm your system sends it with the 1 in front.
- Work Meta's recommendations from the top. They are ranked for your account specifically.
Then put a reminder on your calendar to check it again in a month, because these connections break quietly. A plugin updates, a form gets rebuilt, someone changes a setting, and the score slides without anything else looking different.
If you would rather hand this to someone who spends every day inside Events Manager, it is part of how we run Meta ads for small businesses. We check this before we touch a single ad, because there is no point teaching a campaign that cannot see who bought. And if you want to see how far the numbers Meta reports can drift from what actually lands in your bank account, we wrote about that too, in Meta Says It Made You 40 Sales. Your Bank Says 12.




