Check your score right now
Open Meta Events Manager. Click Data Sources in the left sidebar. Select your pixel. Click the Overview tab, then scroll down to Event Match Quality. Each event type — Purchase, Lead, AddToCart, InitiateCheckout — has its own score from 1 to 10.
Write down the number next to your Purchase event and your Lead event. Those two scores control how well Meta optimizes every campaign in your account.
If either number is below 6, you are paying a premium on every conversion. This guide shows you exactly what is wrong and how to fix it.
What the numbers mean
EMQ is not vanity. Every point you are below 8 costs you real money. Meta uses matched event data to build lookalike audiences, optimize bidding, and attribute conversions. When your EMQ is 3, Meta matches about 30% of your events. The other 70% are statistically modeled — guesses. Those guesses contaminate every audience and every optimization decision.
The cost of each missing point
| EMQ Score | Approx. Match Rate | Estimated CPL Impact | What is happening |
|---|---|---|---|
| 3 | ~30% | +55-65% overpay | Meta is mostly guessing. Lookalikes are polluted with modeled data. |
| 4 | ~40% | +40-55% overpay | Slightly better, but still majority guesswork. Bidding is unstable. |
| 5 | ~50% | +30-40% overpay | Coin flip. Half your events match, half are modeled. |
| 6 | ~60% | +20-30% overpay | Baseline threshold. Meta starts trusting your data for optimization. |
| 7 | ~70% | +10-20% overpay | Meaningful improvement. Lookalike audiences get noticeably better. |
| 8 | ~80% | +0-10% overpay | Strong signal. Bidding stabilizes. Attribution becomes reliable. |
| 9 | ~88% | Baseline or better | Excellent. You are outperforming most advertisers in your vertical. |
| 10 | ~95%+ | Best possible | Near-perfect matching. Reserved for brands with full identity resolution. |
The gap between 3 and 8 is not marginal. It is the difference between paying $45 per lead and paying $22 per lead for the exact same audience, creative, and budget.
Why you are stuck at 3
You are sending 2 out of 8 parameters. That is why your score is 3. Meta only has email and maybe phone to work with. The other 6 parameters — the ones that bridge browser sessions, identify returning visitors, and confirm device identity — are missing entirely.
Most CAPI implementations stop at email and phone because those are the only parameters the ecommerce platform exposes natively. The other 6 require first-party cookie capture, server-side header forwarding, CRM integration, and IP geolocation. Shopify CAPI does not send them. WooCommerce plugins do not send them. Google Tag Manager server containers send some but not all.
The 8 parameters that move your score
1. Email (hashed) — the biggest lever
SHA-256 hashed email is the highest-value matching parameter. Meta uses it to match your conversion event to a Facebook user profile. Every CAPI setup sends this. If you are not sending email, your EMQ is probably 1. Impact: moves EMQ from 1 to about 3 by itself.
2. Phone (hashed) — second biggest
SHA-256 hashed phone number. Not every lead or customer provides a phone number, so match rates vary. Ecommerce checkout forms capture it at higher rates than lead gen forms. When present, it adds 0.5-1.0 points to EMQ because it provides a second identity anchor.
3. Facebook browser ID (fbp)
This is the _fbp cookie that Meta’s pixel sets in the browser. It contains a unique browser identifier. When you forward this cookie server-side with your CAPI event, Meta can link the server event to the specific browser session. This is the parameter almost nobody sends. It requires reading the cookie from the browser and including it in the server-side payload. Impact: 0.5-1.0 points.
4. Click ID (fbc / fbclid)
When someone clicks a Meta ad, the URL contains an fbclid parameter. That parameter becomes the _fbc cookie. Forwarding it server-side lets Meta attribute the conversion directly to the ad click without statistical modeling. If you capture and forward fbc, attribution becomes deterministic. Impact: 0.5-1.0 points.
5. External ID (your CRM ID)
Your internal customer or lead ID. Meta uses this to build a persistent identity graph that connects multiple browser sessions and devices to one person. Especially valuable for B2B where one person may interact across desktop and mobile over weeks. Impact: 0.3-0.5 points.
6. Client IP address
The IP address of the user’s browser session, forwarded server-side. Meta uses it for geographic matching and as a secondary identity signal. Combined with user agent, it significantly improves match confidence for anonymous visitors who have not logged in. Impact: 0.3-0.5 points.
7. User agent string
The full browser user agent string from the request headers. Meta uses it alongside IP for device fingerprinting. Together they help match events to users who clear cookies or browse in private mode. Impact: 0.2-0.3 points.
8. Country and city
Geo-derived location data. Adds a geographic constraint to the matching algorithm. A hashed email from an IP in Chicago with a matching Facebook profile in Chicago is a stronger match than email alone. Impact: 0.1-0.2 points.
What CustomerLabs adds to every event
CustomerLabs captures all 8 parameters from the browser session using a first-party JavaScript tag, then forwards them server-side through CAPI. Every Purchase, Lead, AddToCart, and InitiateCheckout event arrives at Meta with the full parameter set. No manual configuration per event. No missing fields.
Deduplication: the hidden EMQ killer
Here is something most brands miss. If you have the Meta pixel running in the browser AND server-side CAPI sending the same events, Meta receives every conversion twice. Without matching event IDs, Meta cannot tell that the two events are the same conversion. It counts them as separate events.
Duplicate events do not just inflate your conversion count. They actively lower your EMQ because Meta detects the redundancy and penalizes your data quality score. The system interprets duplicates as noisy, unreliable signal.
CustomerLabs generates a unique event_id for each conversion and includes it in both the browser pixel event and the server-side CAPI event. Meta sees the matching IDs and merges them into one clean event. No duplicates. No penalty. EMQ goes up because the data is clean.
Before and after
| Parameter | Before CustomerLabs | After CustomerLabs |
|---|---|---|
| em (email) | Sent (hashed) | Sent (hashed) |
| ph (phone) | Sometimes sent | Always sent when available |
| fbp (browser ID) | Not sent | Captured via 1P cookie, forwarded server-side |
| fbc (click ID) | Not sent | Captured from URL, stored, forwarded with every event |
| external_id | Not sent | CRM ID mapped and sent with every event |
| client_ip_address | Not sent | Forwarded from server request headers |
| client_user_agent | Not sent | Forwarded from server request headers |
| country / city | Not sent | Geo-derived from IP, included automatically |
| Event deduplication | No event_id matching | Matching event_id on pixel + CAPI events |
Martin, Co-founder, Dundas Life: “CustomerLabs has been an absolute game-changer for Dundas Life. With their 1PD Ops, we’re not just tracking events for our ads accurately, we’re improving our ads performance!”
Campaign changes needed: none
This is the part that surprises people. You do not need to restructure your campaigns. You do not need to change your targeting. You do not need new creative. You do not even need to adjust your budget.
EMQ improvement happens at the event level — before the data reaches your campaigns. Your campaign structure, audiences, bid strategy, and creative stay exactly the same. Meta just receives better data about the same events. It matches more conversions to real people. Lookalike audiences get cleaner seed data. Bidding models retrain on higher-confidence signals.
The result is lower cost per conversion with zero campaign work.
Monitoring your score
Check Events Manager weekly for the first 4 weeks. EMQ starts climbing within 7 days of enrichment going live. Match rate follows. Cost per result improvements appear in week 3-4 as Meta retrains its optimization models on the cleaner signal.
Shopify Store Owner, Verified G2 Review: “Shopify CAPI was giving us an EMQ of 3. CustomerLabs got it to 8.7 in the first week. The difference in ad performance was immediate.”
From 3 to 8 in 3 weeks
Week 1: CAPI implementation (if needed) plus full 8-parameter enrichment goes live. Every conversion event starts arriving at Meta with the complete parameter set. EMQ starts climbing immediately — most brands see 5-6 by day 7.
Week 2: Event ID deduplication activates. Browser pixel events and CAPI events merge into one clean signal per conversion. No more double-counting. EMQ stabilizes at 7-8 as Meta recognizes the improved data quality.
Week 3: EMQ reaches 8-8.5. Meta has accumulated 2-3 weeks of clean, fully-matched event data. Optimization models retrain. CPL improvements begin showing in campaign reports. No campaign changes required — the signal quality does the work.
“Helped take our Event Match Quality from 4.9 to over 9. The transparency of the platform lets you see channel and event-level success rates.”
Frequently asked questions
How do I check my current EMQ score?
Go to Meta Events Manager → select your pixel → click the Conversions API tab → look at Event Match Quality for each event. The score is 1–10 for each event type (Purchase, Lead, AddToCart, etc.). If any conversion event is below 6, you're leaving money on the table.
Do I need Conversions API before CustomerLabs can help?
No. If you don't have CAPI set up yet, CustomerLabs implements it as part of the onboarding — typically within 2 weeks. If you already have CAPI running (through Shopify, a partner, or direct integration), CustomerLabs layers parameter enrichment on top of your existing setup.
Will improving EMQ disrupt my existing campaigns?
No. Parameter enrichment happens at the event level before the event reaches Meta. Your campaign structure, targeting, budgets, and creative stay exactly the same. Meta just gets better data to match against. Most brands see CPL improvements within 3–4 weeks without touching a single campaign setting.
Does this work with all Meta campaign types?
Yes — Advantage+ Shopping, Advantage+ App, manual conversion campaigns, lead generation campaigns, and catalog sales campaigns. Any campaign that optimizes toward a conversion event benefits from higher EMQ because Meta matches more events to real people.
What results have other brands seen?
Dundas Life improved EMQ from 3 to 7 and saw cost per lead drop 67%. The improvement came from parameter enrichment and server-side deduplication — not from changing targeting or creative. Results vary by starting EMQ and industry, but brands moving from sub-5 to 7+ typically see 25–50% CPL reduction.
Ready to improve your signals?
Book a 30-minute walkthrough. We'll audit your current setup, show you what's missing, and map out a 3-week implementation plan.