How to Improve Your Meta Event Match Quality Score

Your Meta campaigns can only optimise against conversions Meta can attribute to a real person.

Event Match Quality is the score; zero to ten, shown per event type in Events Manager for how confidently Meta can connect your conversion events to actual accounts. A low score means weaker targeting, worse lookalikes, higher cost per result, and attribution you cannot trust.

The frustrating part is that most low scores trace back to a handful of technical gaps, and one widespread misconception.

What a Good Score Looks Like

EMQ is scored separately for each event type, and the bands differ.


Event

Typical range

Purchase

Highest — richest customer data available

Lead / Complete Registration

Strong, if forms capture identity

AddToCart

Mid-range, often weak

ViewContent

Lower

PageView

4.0–6.5, lowest by nature

Browser pixel alone usually produces scores between three and five. Pixel-only setups tend to cap out in the 4.0–5.9 band regardless of how well they are configured because the browser simply does not have access to the identifiers that move the score.

Below 6.0 on Purchase is worth acting on. EMQ is currently available for web events only.

The Misconception: CAPI Alone Does Not Fix It

This is the single most common mistake, and it costs brands months.

Setting up the Conversions API does not automatically improve your EMQ.

Most CAPI implementations send only the minimum required parameters enough for the event to be accepted, nowhere near enough for strong matching. Teams install CAPI, assume the problem is solved, and never check whether the score actually moved.

It often does not.

Meta made this easier to fall into when it shipped one-click CAPI inside Events Manager in April 2026. The connection is now trivial to establish, which means more brands have CAPI running and fewer have looked at what it is actually sending.

Check before you assume. Events Manager shows you which parameters each event is currently sending and at what coverage rate. Open it before concluding anything about your setup.

The Parameters That Move the Score

Not all identifiers carry equal weight.

High impact

  • Email, hashed

  • Phone number, hashed, in E.164 format with country code

  • external_id — your own customer or user ID

Medium impact

  • First name and last name, hashed

  • City, state, postcode, country

Supporting

  • fbc and fbp cookies

  • Client IP address and user agent

  • Date of birth, gender

  • fb_login_id for users authenticated via Facebook

For web events, event_source_url and client_user_agent are required rather than optional.

The pattern that matters: sending three strong identifiers beats sending eight weak ones. Email, phone and external ID together do more for the score than a full set of location fields without them.

Seven Ways to Improve It

Ordered roughly by impact.

1. Turn on Automatic Advanced Matching

Events Manager → Data Sources → your pixel → Settings → Automatic Advanced Matching → On.

Meta's pixel script then scans the page for identifiable data and sends it with browser events. Free, takes a minute, and lifts browser-side matching immediately.

2. Send more parameters through CAPI

The main lever. Audit what each event currently sends, then add what is missing. For a Shopify store, the order payload already contains email, phone, name and address — the question is whether your implementation is passing them.

3. Fix parameter coverage across all events, not just Purchase

A strong Purchase score with weak AddToCart and ViewContent scores limits what Meta can do with your upper-funnel optimisation.

If logged-in visitors trigger AddToCart, you already have their email and name. Pass them. Most implementations only enrich the final conversion event and leave everything upstream bare.

4. Capture identity earlier in the journey

From form fields; newsletter signups, account creation, quote requests. Store the identifier and attach it to every subsequent event in that session.

5. Capture identity from URL parameters

Traffic from personalised email links and SMS campaigns often arrives with identifying parameters in the URL. Capture them into a persistent cookie and use them to enrich events for that visitor.

6. Add external_id

Your own customer or user ID, hashed and sent consistently. It is one of the highest-value parameters and one of the most commonly omitted, because it requires deliberate implementation rather than being available by default.

7. Verify your hashing

Email and phone must be hashed with SHA-256, lowercased and trimmed before hashing. Phone numbers need country code in E.164 format.

Format errors appear in Events Manager as validation warnings, and they suppress attribution credit, so a parameter that is sent but malformed contributes nothing while looking like it is working.

The Deduplication Trap

This one is worth a section because it is separate from EMQ and routinely confused with it.

When you run pixel and CAPI together which you should both send the same event. Meta deduplicates them by matching event_id. If the IDs do not match, every purchase is counted twice.

Two rules:

  • Pass the identical event_id value to both pixel and CAPI

  • Send the CAPI event within two hours of the pixel event

Verify your deduplication rate exceeds 90% for Purchase events before trusting any ROAS figure.

And hold these two things apart in your head: an acceptable EMQ score does not confirm deduplication is working, and clean deduplication does not mean your match quality is strong enough to help bidding. They are different diagnostics measuring different things, and a setup can pass one while failing the other.

What Indian D2C Brands Need to Handle Differently

Three things that make EMQ harder here, and all three are solvable.

Phone is often the primary identifier, not email. Guest checkout and COD orders frequently capture a phone number and nothing else. That makes phone formatting critical — it must be E.164 with the country code, and a locally formatted ten-digit number will not match.

COD orders may capture no email at all. If a meaningful share of your orders are COD, your Purchase EMQ may be dragged down by events that genuinely have fewer identifiers available. Worth segmenting your score mentally your prepaid Purchase matching is probably stronger than the blended number suggests.

WhatsApp traffic arrives without identity. Traffic from WhatsApp carries no referrer and typically no identifying parameters unless you added them. Tagging those links with campaign parameters helps attribution, and capturing identity from personalised links helps matching.

Consent Comes First

With India's data protection rules bringing enforcement provisions into force in November 2026, one rule is non-negotiable.

If the user has not consented, do not fire CAPI at all.

Server-side tracking does not exempt you from consent, it moves where enforcement happens. A CAPI implementation that transmits customer identifiers regardless of consent state is a compliance problem, not a performance optimisation.

Configure consent enforcement in your server container rather than relying on each browser-side tag to respect the signal independently.

How to Monitor It

EMQ is not a one-time fix. Scores drift as your site changes, apps are installed, and checkout flows are modified.

Monthly: check EMQ per event type in Events Manager. Note which parameters each event sends and at what coverage.

Watch for sudden drops. A score that falls several points in a month almost always traces to a deployment; a theme update, a new app, or a checkout change that stopped passing a parameter.

Reconcile alongside it. Compare Meta's reported purchases against your platform's order count. A widening gap with a stable EMQ points to a deduplication problem rather than a matching one.

For brands operating at scale, Meta's Dataset Quality API lets you pull EMQ per event programmatically and build a trendline with alerting, rather than checking manually.

Where to Start

Three steps, in order:

  1. Open Events Manager and write down your current EMQ per event. If you do not know today's score, that is the first gap.

  2. Check which parameters each event is actually sending. Most teams discover their CAPI is sending far less than they assumed.

  3. Verify deduplication before changing anything else. If your dedup rate is below 90% on Purchase, fix that first, your ROAS figures are not reliable until you do.

Event quality sits upstream of everything Meta's algorithm does with your data. Improving it does not change your product, your creative or your spend, it changes how much of what you are already doing Meta can actually see.

Our GA4 ecommerce tracking audit guide covers the equivalent validation on the analytics side, and the same principle applies: the numbers you optimise against are only as good as the events producing them.

Running CAPI but unsure what it is actually sending? Talk to FunnelFreaks, we audit Meta event quality and deduplication alongside your analytics stack, and fix what is suppressing your match rate.