Inside Meta’s Black Box - Demystifying the EMQ
Meta Ads for all intent and purposes is a black box.
Ad Spend flows in one end and conversions flow out the other end (hopefully)
What actually happens inside is up to the Algorithm gods to decide.
In this series of articles we will see inside the box. We will dig deep into the science behind Event Match Quality, Meta Ads bidding Algorithms, Performance and Attribution and the best way to implement Conversion APIs.
Starting with Event Match Quality (EQM). A big part of the discourse around Quality of Data Flow to Meta Ads are Event Match Quality Scores. Let’s jump right in
What is Event Match Quality (EMQ)?
Meta itself provides a pretty good description of what EMQ is
Event match quality indicates how effective the customer information parameters sent with your server event may be at matching events to Meta accounts.
Matched events can help you deliver your ads to people who are more likely to take the action that you care about and attribute those actions back to your ads.
Better event match quality means that events are more likely to match to Meta accounts. Matched events help you attribute conversions to your ads and deliver them to people who are more likely to convert, which can result in better ad performance and lower cost per action.
How EMQ is determined
EMQ is a diagnostic score (1 to 10) assigned by Meta to each incoming server-side event (like Purchases, Add to Cart, or Checkout). It reflects how well that event can be matched to a real person on Meta using the data you’ve provided.
The more high-quality identifiers (like email, phone, external ID, IP address, and browser data) are present, the better the score.
How is EMQ calculated?
EMQ is calculated by scoring all the parameters that are present in the incoming events data stream via Conversion API.
Only the last 48 hours of data is used to calculate EMQ scores.
Below is list of all the parameters that can be included in a CAPI request and their relative importance.

Email, FBP and FBC are the most important as they are most effective (direct identifiers) in matching a user session to one of Meta’s user profile.
However, all other parameters can be used to further narrow down on the right match.
In the absence of direct identifiers, Meta will use other identifiers (Zipcode, User Agent, External ID) to find a partial match.
As long as you do the job of filling as many parameters as possible in your data request, you will get a high EMQ score.
What EMQ is not?
An extremely important point to note over here is that EMQ is not a true measure of data quality.
It is just an estimate of Meta’s ability to match incoming events with an existing Meta user.
More accurately it is a measure of Data Availability.
What does that mean?
You could start filling unreliable data in your request and you would still get a high EMQ
Because, and this is extremely important.
EMQ is calculated at data ingestion. It is not calculated after an actual user profile match.

Why does Meta go through all this trouble?
If that’s what you are thinking, look no further than cookie depreciation.
Cookie Depreciation is the reason Meta is unable to track user sessions as effectively as before. Meta loses data because of Ad blockers, 7 day cookie expiry, VPNs, 3rd party checkouts and Offline conversions → resulting in signal loss upto 70%

This is the reason why Meta is desperate for data. And that’s where Conversion APIs come in. Conversion APIs give Meta the ability to ingest the data it is unable to capture by itself.
Conversion APIs (CAPI) give you the ability to feed data to Meta’s dataset and EMQ estimates the usefulness of that data.
But if you start chasing a higher EMQ and take shortcuts such as
→ Fuzzy Reverse IP Lookup
→ Gender Guessing
→ Email to Name converters
→ Inaccurate stitching of User journeys.
→ Faulty Fingerprinting
The errors in your data will simply be propagated forward to Meta.
You will get higher EMQ scores, but adversely impact your Ads Performance as Meta’s actual ability to match Events to Users will go away.
Why Event Match Quality (EMQ) Matters?
Meta’s EMQ score reflects how well your website events (like purchases or add-to-cart actions) can be linked to real users. Better matching means Meta can:
Match more conversions to your ads
Optimise campaigns better through stronger signals
Improve delivery to high-intent users
Enhance reporting accuracy in Ads Manager
A low EMQ often results in underreported conversions, weaker optimisation signals, and wasted ad spend.
In our case studies, campaigns with high EMQ scores see ~28% more conversions reported and a ~17% increase in ROAS.
What is a good EMQ?
A good Event Match Quality (EMQ) score is typically 7 to 10 out of 10.
But not all events are equal.
→ Later Stage events like Purchase
, Add to Cart
, and Initiate Checkout
occur late in the User journey where a lot more data is available. This data is extremely valuable for optimisation and narrowing the target audience.
→ Earlier Stage events like Page View
, View Content
, and Initiate Checkout
have lot less user data, but they can be extremely valuable as a signal of repeated user interest and for retargeting.
These are rough estimates for what to expect from a robust CAPI implementation.

Funnel Stage Key Events Good EMQ Score Top-of-Funnel Page View, View Content 5.6+ Mid-Funnel Add to Cart, Initiate Checkout 6.5+ Bottom-of-Funnel Purchase 8.5+
Final Thoughts
Your ad performance is only as good as the data Meta receives. EMQ is one of the simplest and most powerful levers to improve it.
If you’re running Meta Ads and want a better performance, cleaner attribution, and smarter optimisation, focus on improving Event Match Quality but your top priority should be developing an accurate, robust data flow.
In our next article we will spend some time decoding Meta’s bidding Algorithm and it’s implications for Advertisers.