
Most Shopify brands obsessing over their Meta ROAS are looking at the wrong metric.
They're watching cost-per-purchase, ROAS, and CTR. All useful. But there's a metric sitting just one tab away in Events Manager that has more influence over those numbers than almost anything else and most people either don't know it exists, or badly misunderstand what it means.
That metric is Event Match Quality, or EMQ.
I've seen brands go from stuck-at-$300/day in Meta spend to scaling past $1,500/day just by fixing their EMQ. Not by rewriting their ads. Not by changing their audiences. By fixing their data.
Let me explain exactly how this works.
What Is EMQ (Event Match Quality)?
EMQ is Meta's score for how accurately they can match your tracked conversion events to real Facebook and Instagram users on their platform.
Think of it as a data quality grade. You're sending Meta signals that say "someone added to cart" or "someone purchased." EMQ measures how confident Meta is that they know who that someone is.
The higher your EMQ, the better Meta can:
- Match your conversions to actual users in their system
- Build more accurate custom and lookalike audiences
- Target your ads to people most likely to convert
- Optimize your campaigns more efficiently
When EMQ improves from a 4 to a 7 or 9, here's what we typically see:
- Cost per acquisition (CAC) drops ~18% (from $42 to ~$35)
- Customer match rate increases ~24%
- ROAS improves ~22% on average
- Ad spend efficiency increases by roughly $2,100/month at $1,000/day spend
Imagine how big these gains are and they happen without touching a single ad.
Where to Find Your EMQ Score
Go to Meta Events Manager → [Your Pixel] → Overview.
You'll see a list of your tracked events PageView, ViewContent, AddToCart, InitiateCheckout, Purchase each with an Event Match Quality score out of 10.
!image.png
This is your baseline. Whatever those numbers are right now, they're telling you something important about your data quality.
What EMQ Score Do You Actually Need?
Here's where I see a lot of confusion and where a lot of bad advice circulates.
I had a client tell me he needed his Purchase EMQ to be 9.3 to know his pixel was working correctly. This is completely wrong.
EMQ is not a pass/fail score. It's a reflection of the data you're sending specifically, how many customer identification parameters you include with each event.
Here are the realistic healthy ranges by event type:
| Event | Healthy EMQ Range |
|---|---|
| Purchase | 8.8 – 9.3 |
| InitiateCheckout | 8.0 – 8.6 |
| AddToCart | 7.5 – 8.0 |
| PageView / ViewContent | 6.5 – 7.5 |
Why does Purchase naturally score highest? Because by the time someone checks out, you have all their data email, name, address, phone number. You naturally have more to send. PageView events happen before you know anything about the visitor, so they'll always score lower.
A Purchase EMQ of 9+ just means a high percentage of your purchases are coming from people who clicked a Meta ad (because the Click ID is one of the two highest-priority parameters). It doesn't mean your pixel is better or worse it means your business is heavily Meta-dependent. That's not necessarily a good thing.
What Actually Drives EMQ
Meta weighs these parameters when calculating your EMQ score:
| Parameter | Priority |
|---|---|
| Email address | High |
| Click ID (fbc) | High |
| Country | Medium |
| Phone number | Medium |
| External ID | Medium |
| Browser ID (fbp) | Medium |
| First name | Low |
| Last name | Low |
| City | Low |
| Zip / Postal code | Low |
Two parameters matter far more than everything else: email address and Click ID.
Click ID is automatically generated when someone clicks your Meta ad you can't do much to increase it directly beyond running more ads.
Email address is the one you can control. And it has massive implications for your ad performance.
Why Email Collection Is Your Biggest EMQ Advantage
Meta uses email addresses to identify users across all its products Facebook, Instagram, Messenger. Every Meta user has an email. When you send an email address with your conversion events, Meta can almost always match it to a specific user in their system.
When you send events without email addresses which happens when anonymous browsers add to cart, initiate checkout, or even purchase with express checkout before entering their email, Meta has to rely on less reliable signals like IP address, browser fingerprinting, and Click IDs.
This is why email popup optimization is one of the highest-leverage things you can do for your Meta performance and most DTC brands treat it as purely an email marketing tactic.
Here's what the email-to-EMQ flow looks like:
- Visitor arrives on your site from a Meta ad → Click ID is associated with their session
- They submit their email via your popup → Email is now associated with their session
- They browse, add to cart, and checkout → Every event gets sent with both email AND Click ID
- Meta's match confidence skyrockets → EMQ goes up → Better targeting → Better ROAS
I had a customer running a random, outdated popup solution. His emails weren't being properly associated with his customers' behavioral events so even though he was collecting emails, they weren't improving his EMQ. I wrote a fix to connect them correctly.
The week after, his Meta campaigns started spending 5x more. ROAS held steady at 2.5x. He went from stuck at a few hundred dollars a day to actually being able to scale.
That's what a connected email-to-event pipeline does.
The Two Most Common EMQ Mistakes
1. Using a poorly integrated popup solution
Most established email platforms (Klaviyo, Omnisend) automatically associate captured email addresses with behavioral events on your site. They've done the work to integrate with Shopify and Meta properly.
If you use a custom popup, a lesser-known tool, or something built by your dev agency, there's a real chance the emails being captured aren't connected to the right events. The email exists in your ESP, but Meta never sees it associated with AddToCart or Purchase.
Before you do anything else: go to Events Manager and check whether your Purchase events are showing email addresses in the parameter breakdown. If they're not, this is almost certainly your problem.
2. Only capturing emails at checkout
By the time someone reaches checkout, you're guaranteed to get their email. But that means you're only enriching your late-funnel events Purchase and InitiateCheckout.
Your early-funnel events (PageView, ViewContent, AddToCart) are what teach Meta's algorithm about the type of person who engages with your brand. If those events are all anonymous, Meta can't build a complete picture.
Capture email addresses as early as possible ideally with a popup triggered within the first 30 seconds or after 2 page views. Offer a 10% discount, free shipping, or exclusive content. Keep the form minimal: just the email field. The simpler, the better.
Here's When to Worry About Your EMQ
EMQ scores update in real-time based on the last 24–48 hours of Conversion API data. It's normal for scores to fluctuate by 0.2–0.5 points day to day.
Worry about:
- A sudden drop of 1+ points with no obvious cause (check if your pixel is still firing)
- EMQ below 7.5 for Purchase events (serious data quality issue)
- EMQ that never improves after switching to a server-side tracking solution (the solution isn't sending enriched data)
Don't worry about:
- Small day-to-day fluctuations
- EMQ being lower for upper-funnel events this is normal
One important rule: if you implement a server-side tracking solution and your vendor tells you to wait 2–4 weeks for your EMQ to improve that's a red flag. Properly implemented server-side tracking should show strong EMQ scores within 24 hours.
The Role of Server-Side Tracking in EMQ
Browser-based pixels send whatever data the browser can collect which is increasingly limited by Safari restrictions, ad blockers, and iOS privacy changes.
Server-side tracking enriches your events from the backend, where browser restrictions don't apply. A well-built server-side solution automatically includes:
- Email addresses from your Shopify customer records
- Phone numbers from order data
- Physical addresses (city, state, zip) from shipping info
- External customer IDs from your Shopify customer ID
- Browser ID (fbp) and Click ID (fbc) from your first-party cookies
All of this gets sent with every event, automatically, without your marketing team having to do anything. The result is consistently high EMQ across all event types not just Purchase.
One More Thing! Turn On Automatic Advanced Matching
Regardless of your tracking setup, go to Meta Events Manager → Settings → Automatic Advanced Matching and make sure it's enabled with all parameters toggled on.
Advanced Matching uses hashed versions of customer data your site collects (email, phone, name) to retroactively match events to Meta users. It won't replace a proper server-side tracking setup, but it's free, takes 30 seconds, and improves your match rate.
How to Improve Your EMQ
- Check your current scores in Meta Events Manager
- Verify your Purchase events match your Shopify order count - if not, fix your tracking first
- Optimize your email popup - use an established platform (Klaviyo/Omnisend), keep it simple, trigger it early
- Implement server-side tracking that automatically enriches events with customer data from Shopify
- Enable Automatic Advanced Matching in Events Manager Settings
- Monitor consistency - focus on stable scores over time, not daily fluctuations
Your Tracking Is Either Working for You or Against You
There's no neutral. Either your pixel is sending Meta rich, accurate data that makes its algorithm smarter and your ads cheaper or it's sending incomplete signals that force Meta to guess, which means higher CPAs and slower scaling.
EMQ is the metric that tells you which side of that line you're on.
Aimerce automatically handles all of this for Shopify brands: real-time event enrichment, proper email-to-event association, server-side delivery to Meta CAPI, and automatic deduplication so your EMQ is consistently in the healthy range without any manual configuration.

Try Aimerce Pixel Risk-Free
for 30 Days
Most teams see results within 2 weeks.
Money-back guarantee.
It pays for itself, or you don't pay anything.
30-Day Aimerce Pixel Free Trial