Why is my Meta customer list match rate so low when I upload B2B work emails?
Meta can only match an identifier it already holds for that person, so a work email someone never added to Facebook or Instagram won't match, and a list with only work emails gives each row one chance. To raise the rate, add more identifiers per person: up to three email and three phone columns (phones with country codes), first and last name, city, state, ZIP and a country column. Then check the Match score column in Audiences, which divides matched rows by uploaded rows.
As of October 2026.
What match rate should I expect from a list of work emails?
Meta publishes no benchmark, so measure your own. Primer, a vendor whose product builds B2B ad audiences, says in its guide to customer list audiences for B2B marketers (updated July 2026) that Meta "might offer a slightly better but still modest 10-20% match rate" for a B2B list, and puts work emails on Meta and Google at "the typical 2-10%." Primer cites no source for either figure and says its own product raises match rates, so read them as its claims, not Meta's.
Where do I see my match rate on Meta?
In the Match score column in Audiences. In Ads Manager, open Audiences, select Columns at the top right and add Match score. Meta shows a score out of ten for how well the identifiers in your last successful upload matched profiles, in steps of 0.5, calculated by dividing matched rows by uploaded rows. So a score of 2 means about 20% of rows matched. The score isn't kept for long; if you don't see one, update the list.
If you sync from HubSpot, its ads audiences view shows the matched size. HubSpot says that number "will typically be much lower than your total visitors or contacts."
Why do work emails match so poorly?
Matching only works on details Meta already has. Meta hashes your list, compares it with its own hashed information, and says it "doesn't learn any new identifying information about your customers from hashed data." A row matches only if the email, phone or other identifier you upload is one Meta holds for that person. Primer calls personal emails "the single biggest driver of match rate on platforms like Meta and Google." A shared inbox such as sales@ or info@ rarely belongs to one person at all.
Your export may also leave out what Meta stresses most. Its two most important tips are to include the country code on every phone number, even if all your contacts are in one country, and to put country in its own column, because Meta matches on a global scale.
Which fields raise the match rate?
Every identifier you have for each person, each in its own column. From Meta's customer list formatting guidelines:
| Identifier | Column header | Meta's rule |
|---|---|---|
email | Up to 3 columns, one address per cell | |
| Phone number | phone | Up to 3 columns; always include the country code |
| First and last name | fn, ln | Two separate columns, not one full-name column |
| City, state or region, ZIP or postcode | ct, st, zip | A US ZIP+4 extension won't improve the match rate |
| Country | country | Its own column, as a two-letter ISO code, even if everyone is in one country |
| Date or year of birth, gender, age | dob, doby, gen, age | Optional extras |
You need at least one main identifier: email, phone number, mobile advertiser ID, or a Facebook app or Page user ID. Names, location, birth date, gender and age are additional identifiers that Meta recommends adding alongside. Meta says adding more emails, phone numbers and device IDs can improve your match score. Put the work email in one email column and any personal or secondary email in the next.
Is it worth adding personal emails and phone numbers?
For match rate, usually yes: Meta says to include as much of the information as possible "to get the best match rates." The catch is permission. Meta says you must have "all of the necessary rights and permissions and a lawful basis" for the data you upload, and under GDPR you're the data controller for any list you upload. You also have to leave out people who opted out of having their data used for ad audiences.
Details people gave you themselves, such as a mobile number on a demo form, are the easiest to justify. If you buy enrichment, ask the vendor where its personal emails and phone numbers come from, and check with your privacy team first. Primer, one such vendor, says its product gets B2B marketers match rates of 30 to 60% on Meta and Google. Test before you pay for a full refresh: upload an enriched sample as a separate audience and compare its match score with your work-email list.
Does formatting change the match rate?
Yes. Use a CSV or TXT file with one identifier per column and Meta's column headers, or map your own headers by hand. At the Map identifiers step, a check icon means a column is mapped and ready to hash. An exclamation point means you left identifiers out or some need fixing; Meta says to fix them before you upload for a better match rate.
If a tool hashes the data before it reaches Meta, it has to normalize it first. Meta's developer docs say to trim spaces and lowercase emails, remove symbols, letters and leading zeros from phone numbers (adding the country code if there's no country field), and hash with SHA256 only. Rows hashed the wrong way don't match, and the API reports them as num_invalid_entries. Ads Manager does the hashing for you.
Why is my CRM-synced audience smaller than my list?
Because only matched people count, and the sync can only send what's in the CRM. HubSpot says it matches on contact properties "like name, phone, and email," so fill in phone and name on the contact record, not just in a one-off export. If you push lists from Salesforce or another CRM through a sync tool, check which fields it sends: a tool that sends only email will get a work-email match rate.
Keep the list fresh too. Meta marks a customer list Outdated after 30 days without an update, which may affect delivery. To add identifiers to a list you already have, select it in Audiences, then Edit and Replace customers, which swaps in the whole new file. Updates can take a few hours, and ads keep running in the meantime.
How big does my list need to be?
Meta's formatting guidelines say a customer list should include at least 1,000 customers. Low match rates shrink what you get: at 15%, 1,000 contacts give about 150 matched people. That matters if you plan a lookalike, which needs a source of at least 100 people; see how to build a Meta lookalike audience from your closed-won B2B customers.
If Meta won't let you create the list at all, the problem may be the Custom Audience terms, not matching; see how to fix Custom Audience terms that haven't been accepted.
What if my list still barely matches?
Add audiences that don't depend on matching emails. Website visitors through the Meta Pixel, people who engaged with your Instant Forms and Meta's job title or employer targeting don't need a list match. How to target job titles or industries with Meta ads for B2B covers each one and its limits.
Sources
- Prepare your data for a customer list custom audience (Meta Business Help Center), checked October 30, 2026
- Customer list formatting guidelines for custom audiences (Meta Business Help Center), checked October 30, 2026
- How to create a customer list custom audience in Ads Manager (Meta Business Help Center), checked October 30, 2026
- About customer list custom audiences (Meta Business Help Center), checked October 30, 2026
- About hashing customer information (Meta Business Help Center), checked October 30, 2026
- How to edit a customer list custom audience (Meta Business Help Center), checked October 30, 2026
- Customer File Custom Audiences (Meta for Developers), checked October 30, 2026
- Create ads audiences in HubSpot (HubSpot Knowledge Base, updated October 8, 2026), checked October 30, 2026
- Create a lead form engagement custom audience (Meta Business Help Center), checked October 30, 2026
- Advanced targeting (Meta for Developers), checked October 30, 2026
- Customer List Audiences for B2B Marketers (Primer, first published June 18, 2024, updated July 23, 2026), checked October 30, 2026