What is Event Match Quality?
Event Match Quality (EMQ) is Meta's scoring system that tells you how well your server-side events can be matched to real people on Facebook and Instagram. It's a score from 0 to 10 that you can find in Meta Events Manager.
In plain terms: when you send a "Purchase" event to Meta, EMQ measures whether Meta can figure out who made that purchase. If it can, the conversion gets attributed to the ad that drove it. If it can't, the conversion is essentially invisible to your campaigns.
Why should you care?
| EMQ Score | What It Means | Impact on Ads |
|---|---|---|
| 1-3 | Poor matching | Most conversions unattributed, bad optimization |
| 4-6 | Average | Some conversions matched, inconsistent performance |
| 7-8 | Good | Strong attribution, reliable optimization |
| 9-10 | Excellent | Maximum conversions attributed, lowest CPAs |
The difference between an EMQ of 4 and an EMQ of 9 can mean 15-30% more reported conversions from the exact same traffic. That's not more tracking—it's the same events, just matched better.
How EMQ Actually Works
When you send an event to Meta through the Conversions API, you include customer information parameters alongside the event data. Meta hashes and compares those parameters against its user database to find a match.
The matching process
Your Server sends:
Event: Purchase ($120)
Email: hashed_email@example.com
Phone: hashed_phone
_fbp: fb.1.1234567890.abcdef
_fbc: fb.1.1234567890.AbCdEfG
Meta's system:
1. Looks up hashed email → finds user? ✓
2. Cross-references _fbp cookie → same browser? ✓
3. Checks _fbc click ID → clicked our ad? ✓
4. Match confidence: HIGH → attributes conversion to ad
The more parameters you send and the higher their quality, the more confident Meta is in the match—and the higher your EMQ score.
EMQ is calculated per event type
You'll see separate EMQ scores for each event:
- Purchase — usually the most important
- Add to Cart
- Initiate Checkout
- View Content
- Lead
EMQ uses your last 48 hours of data, so it updates regularly and reflects your current setup.
The Customer Information Parameters (Ranked)
Not all parameters are equal. Meta assigns different weights:
High Priority (biggest impact on EMQ)
| Parameter | What It Is | How to Send It |
|---|---|---|
| Customer's email address | Hash with SHA-256 before sending | |
| Click ID (_fbc) | Meta ad click identifier | Capture from fbclid URL parameter, store in _fbc cookie |
These two alone can get you to EMQ 6-7. Email is the single most powerful matching signal because most Facebook users have a verified email.
Medium Priority (meaningful improvement)
| Parameter | What It Is | How to Send It |
|---|---|---|
| _fbp | Browser identifier cookie | Auto-created by Meta Pixel; forward from cookie to server events |
| Phone | Customer's phone number | Hash with SHA-256, include country code |
| External ID | Your internal user/customer ID | Hash with SHA-256 |
| Browser ID | User agent string | Send from server request headers |
Adding _fbp to server events is one of the most underrated EMQ improvements. It's already on your site if you have the Meta Pixel installed—you just need to forward it to your server events.
Low Priority (marginal improvement)
| Parameter | What It Is |
|---|---|
| First name | User's first name |
| Last name | User's last name |
| City | Billing or shipping city |
| Zip/Postal code | Billing or shipping zip |
| Country | Two-letter country code |
| Date of birth | User's date of birth |
| Gender | User's gender |
These help with edge cases but won't move your EMQ much on their own. Focus on high and medium priority first.
How to Check Your EMQ Score
- Go to Meta Events Manager (business.facebook.com/events_manager)
- Select your Pixel/Dataset
- Click on an individual event (e.g., "Purchase")
- Look for the Event Match Quality score in the overview
You'll also see:
- Which parameters you're currently sending
- A breakdown of matching rates
- Recommendations from Meta
What if you don't see an EMQ score?
- You need to be sending events via the Conversions API (server-side). Pixel-only events don't have EMQ.
- You need at least 48 hours of data for the score to appear.
- If your event volume is very low (under ~100 events/48 hours), the score may not display.
Step-by-Step: How to Improve Your EMQ
Step 1: Set up server-side tracking (if you haven't)
EMQ only applies to Conversions API events. If you're still pixel-only, your first step is implementing server-side tracking. See our What is Server-Side Tracking? guide for the fundamentals.
Options:
- DIY: Set up Server-Side GTM on Google Cloud
- Managed: Use a platform like SignalBridge (5-minute setup)
Step 2: Ensure email is sent with every event
Email is the highest-impact parameter. For e-commerce, you often have the email at checkout.
Where to capture it:
- Checkout/purchase events — from the order
- Add to cart — if user is logged in
- Lead forms — from form submission
Requirements:
- Lowercase the email before hashing
- Remove leading/trailing whitespace
- Hash with SHA-256 (Meta rejects unhashed emails)
Step 3: Forward _fbp and _fbc cookies
These are the most commonly missed parameters, and they're free to send.
_fbp (Browser ID):
- Created automatically by Meta Pixel
- Stored as a first-party cookie on your domain
- Read it server-side and include in your CAPI events
_fbc (Click ID):
- Created when a user clicks a Meta ad (from the
fbclidURL parameter) - Stored as a cookie, or you can parse it from the landing page URL
- Only present for Meta ad traffic (not organic)
Step 4: Add phone number when available
Phone is a strong medium-priority signal. Include it when you have it:
- Purchase events (from billing/shipping info)
- Lead form submissions
- Account creation
Format requirements:
- Include country code (e.g., +1 for US)
- Remove spaces, dashes, parentheses
- Hash with SHA-256
Step 5: Send external_id consistently
Use your internal customer/user ID as external_id. This helps Meta connect events across sessions and devices for the same user.
- Hash with SHA-256 before sending
- Use the same ID across all events for a given user
Step 6: Enable Advanced Matching in your Pixel
Even if you're using CAPI, enabling Advanced Matching on your pixel helps with deduplication and provides fallback matching data.
- Go to Events Manager → Settings
- Find "Advanced Matching"
- Enable automatic or manual matching
- Select the parameters you can provide
Common EMQ Mistakes (and How to Fix Them)
Mistake 1: Sending pixel events but not CAPI events
Problem: You have a pixel firing but no server-side events. EMQ is N/A.
Fix: Implement Conversions API. You can run both pixel and CAPI simultaneously—Meta deduplicates automatically when you include an event_id.
Mistake 2: Not forwarding _fbp cookie to server events
Problem: Your CAPI events don't include the _fbp browser cookie. EMQ is 4-5.
Fix: Read the _fbp cookie from the request and include it in your server event payload. This alone can boost EMQ by 1-2 points.
Mistake 3: Sending unhashed or improperly formatted data
Problem: Email has uppercase letters or extra whitespace. Phone number has dashes. Meta can't match.
Fix: Always normalize before hashing:
- Email: lowercase, trim whitespace
- Phone: digits only, with country code
- Name: lowercase, trim whitespace
Mistake 4: Missing event_id for deduplication
Problem: You're sending both pixel and CAPI events without a shared event_id. Meta counts them twice, and matching gets confused.
Fix: Generate a unique event_id for each event and include it in both the pixel fire and the CAPI request. Meta will deduplicate and keep the better-matched one.
Mistake 5: Sending events with action_source not set to "website"
Problem: EMQ only applies to events with action_source: "website". If you're sending "server" or another value, EMQ won't be calculated.
Fix: For website conversion events, always set action_source: "website" even though they're sent via CAPI.
EMQ Benchmarks: What Score Should You Target?
| Store Type | Typical EMQ | Target EMQ |
|---|---|---|
| Shopify/BigCommerce (pixel only) | N/A (no CAPI) | Implement CAPI first |
| CAPI with email only | 5-6 | 7-8 |
| CAPI with email + _fbp + _fbc | 7-8 | 9+ |
| CAPI with all parameters | 8-10 | 9-10 |
The sweet spot is 8+. Beyond 8, you see diminishing returns. Getting from 4 to 8 is where the biggest ROI improvement happens.
How SignalBridge Helps with EMQ
SignalBridge automatically handles the technical complexity of high-EMQ server-side tracking:
- Automatic parameter enrichment — forwards
_fbp,_fbc, and available customer data with every event - Proper hashing and formatting — normalizes and SHA-256 hashes all parameters before sending to Meta
- Event deduplication — generates and manages
event_idacross pixel and CAPI events - Bot filtering — removes fake conversions before they reach Meta, which improves your overall match rate
- Real-time monitoring — see which events are flowing and catch issues before they affect your EMQ
Most SignalBridge users see EMQ scores of 8-10 within 48 hours of setup.
FAQ
Does EMQ affect my ad costs?
Indirectly, yes. Higher EMQ means Meta attributes more conversions to your ads, which gives the algorithm better data to optimize on. This typically leads to lower CPAs and better ROAS because Meta can find more people like your actual converters.
Can I have different EMQ scores for different events?
Yes. Each event type (Purchase, Add to Cart, Lead, etc.) has its own EMQ score. Your Purchase EMQ might be 9 while your View Content EMQ is 5, depending on what data you can send with each event.
Does EMQ apply to Google and TikTok too?
No—EMQ is Meta-specific. However, Google has "diagnostics" in Google Ads for Enhanced Conversions, and TikTok has event quality indicators in their Events Manager. The same principles apply: send more customer data, get better matching.
How often does EMQ update?
EMQ is calculated from the last 48 hours of event data. Changes to your setup typically reflect in the score within 24-48 hours.
What's the minimum event volume for EMQ to show?
Meta doesn't publish an exact threshold, but generally you need at least ~100 events per 48 hours for a given event type for EMQ to calculate and display.
Related Reading
- What is Server-Side Tracking? — the foundation you need before optimizing EMQ
- How to Fix iOS Tracking Issues — why server-side matters for iPhone users
- SignalBridge vs Elevar — comparing tracking platforms for EMQ optimization
- SignalBridge vs Stape — managed vs infrastructure approaches to CAPI
Ready to Improve Your EMQ?
SignalBridge sets up server-side tracking with automatic parameter enrichment—no developer required. Most stores reach EMQ 8+ within 48 hours.
Start your 14-day free trial today. No credit card required.
Related Articles
What is Facebook Conversions API (CAPI)? Complete Guide
Learn what Facebook Conversions API is, how it works, why it matters for your ads in 2026, and how to set it up properly for better attribution and lower CPAs.
Why Your Facebook and Google Ads Numbers Never Match (And What to Do About It)
Facebook says 50 conversions. Google says 35. Your Shopify dashboard says 42. Learn why cross-platform attribution numbers never agree, what each platform counts differently, and how to find the truth.
