Skip to main content

What is Event Match Quality in Meta & how to improve it?

Understand Meta's Event Match Quality better and what you can do to improve your score

Meta scores your Meta ads tracking on two different things: how well it can match a conversion to a real person (Event Match Quality), and whether it can tell your Pixel and server-side events apart from duplicates (event ID coverage). This guide explains how both Meta's EMQ works, and how you can improve your score.

TL;DR

  • Event Match Quality (EMQ) is a 0–10 score showing how well Meta can match your website conversions to real Facebook/Instagram profiles - it's not a grade on your ad or tracking quality.

  • Meta also deduplicates events between your Pixel and Conversions API (CAPI) using a shared event_id; Perspective's native integration generates this automatically, so no manual setup is needed.

  • If you use a custom Pixel/CAPI setup instead, you're responsible for matching event_id yourself - mismatches are what trigger the "Improve event ID coverage" warning in Events Manager.

What is Event Match Quality?

Event Match Quality (EMQ) in Meta is a score between 0 and 10. ​It does not indicate whether your ad or your tracking is good or bad. Instead, it measures the probability with which Meta can match an action on your website (e.g., a purchase) to a real person on Facebook or Instagram.

Think of it like a puzzle: the more puzzle pieces (data) you send to Meta, the clearer the picture becomes of which user just bought from you.


Why is a high EMQ score in Meta important?

When Meta knows exactly who converted, you benefit directly:

  • More accurate reporting: You can see precisely which ad actually led to sales.

  • Better results at lower costs: Meta can better show your ads to people who are likely to buy (optimizing CPA & CPL).

  • Better retargeting: You can re-engage visitors more effectively.

  • Stronger Lookalikes: Meta finds new customers who resemble your existing customers more easily.

How is my EMQ score in Meta calculated?

Meta uses various identifiers (user data) sent along with an event. Not all data points are of equal value:

Importance

Data Type (Identifier)

Very High ⭐⭐⭐⭐⭐

Email address (hashed/encrypted)

High ⭐⭐⭐⭐

Phone number, External ID

Medium ⭐⭐⭐

Browser ID (fbp), Click ID (fbc)

Low ⭐⭐

IP address, First/Last name, City/ZIP code


How can I improve my EMQ score?

  1. Use the Conversions API (CAPI): Server-to-server data is more reliable than the pure browser pixel, as it is not as easily blocked by ad blockers.

  2. Send as much data to Meta as possible: Try to transmit not only the email but also the first name, last name, and city (hashed) during checkout. (This should already be configured in your pixel setup, as described above in the article).

How do I check my Event Match Quality settings?

  1. Go to the Events Manager, click on your pixel, and then on the number next to the event.

  2. A pop-up will open. Here you can see your current quality score. (A score of 6 is already good. 10 is often unattainable.)

  3. Scroll down and click the box at the top under "additional parameters" so that all parameters are checked. Then click "Done" at the bottom.

💡 A score of 10 for the EMQ in Meta is often difficult to reach because not every user leaves all their data. Your goal should be a "Good" range (usually 6 or higher) for your most important events like Purchase or Lead.​

What is Meta's dedupe key (event_id)?

Meta prevents the same conversion from being counted twice by matching the event_id and event_name sent with your browser Pixel event against the event_id and event_name sent with the matching server-side Conversions API (CAPI) event.

If both events share the same event_id and event_name and arrive within 48 hours of each other, Meta keeps one and discards the duplicate. If the event_id doesn't match - or is missing on one side - Meta can't confirm the two events refer to the same action, and your reporting can end up over- or under-counting conversions.

How does Perspective handle event deduplication?

If you use Perspective's native Meta Pixel & CAPI direct integration, deduplication is handled automatically. Perspective generates the same event_id for the browser Pixel event and the matching server-side CAPI event for every action in your funnel, so you don't need to configure or manage event_id matching yourself.

What changes with a custom Pixel setup?

If you install the Meta Pixel yourself - for example, through Google Tag Manager or your own tracking code - instead of using Perspective's native Meta integration, you're responsible for generating and matching the event_id between your browser and server-side events yourself.

If the event_id, event_name, or event_time don't line up between the two sources, Meta can't reliably deduplicate the events. This is the most common cause of leads being counted twice in Meta, and it's also what triggers the "Improve event ID coverage" warning.

💡 Running your own Pixel install alongside Perspective's integration causes the same problem: two uncoordinated pixels fire events with different event_ids for the same action, so Meta can't tell they belong together.

What does Meta's "Improve event ID coverage" warning mean?

This warning appears in the Meta Events Manager diagnostics when some of your Pixel (browser) events don't have a matching event_id on the corresponding CAPI (server-side) event. It means Meta can't confirm whether those events are duplicates or separate conversions, which puts your reporting and ad optimization at risk.

To resolve it:

  • If you're on Perspective's native integration, make sure it's switched on and your funnel is republished - this is rarely needed, since Perspective handles the event_id matching for you.

  • If you're on a custom Pixel setup, check that every event sends a matching event_id (and event_name) on both the Pixel and CAPI side, or switch to Perspective's native integration to remove the need to manage this manually.

How to enable Advanced Matching for your Meta integration

Advanced Matching lets Meta automatically pick up extra identifiers (like email or phone number) from your funnel to improve matching, on top of the event_id-based deduplication above. It's configured on the Meta side, as part of the same direct integration setup you use to connect Perspective:

  1. In Meta Events Manager, open your dataset's direct integration setup.

  2. Toggle Turn on automatic advanced matching to on.

  3. Toggle on all the individual fields listed below it (email, phone, and the other available identifiers).

  4. Click Done, then make sure the integration is switched on in Perspective and republish your funnel.


FAQ

Will I still see the "Improve event ID coverage" warning if I use Perspective's native integration?

You shouldn't. Perspective automatically assigns a matching event_id to the Pixel and CAPI event for the same action, so event ID coverage is handled for you. If you still see the warning while on the native integration, double-check that the integration is switched on and your funnel is republished, or reach out to our support team.

Do I need to enable Advanced Matching if I already use Perspective's native integration?

Perspective's native integration already sends hashed customer data via the Conversions API. Turning on Automatic Advanced Matching in Meta adds an extra, browser-side layer of matching and is recommended, since it can further improve your EMQ score.

What happens if I install the Meta Pixel myself through Google Tag Manager as well as using Perspective?

Running two separate pixel installs for the same funnel makes them fire uncoordinated events with different event_ids for the same action, which breaks deduplication. We recommend picking one integration - Perspective's native direct integration is the simplest, since it handles event ID matching automatically.

Does a low EMQ score always mean I have a deduplication problem?

No. EMQ and event ID coverage are two different diagnostics. EMQ measures how well Meta can match your events to a real person based on the identifiers you send (email, phone, etc.). Event ID coverage measures whether your Pixel and CAPI events are being deduplicated correctly. You can have a high EMQ score and still see an event ID coverage warning, or vice versa.

Did this answer your question?