Sign inBook a Call
Insights

Event Match Quality on Meta Ads Low? How to Fix It for Your D2C Store

Your Event Match Quality score is Meta telling you how well it can tie each sale to a real person. Here is how to read the score and fix the gaps common on Indian stores.

By the Monastic Media teamUpdated 23 Oct 20267 min read

What Event Match Quality actually measures

Event Match Quality (EMQ) is a score from 0 to 10 that Meta shows for each event in Events Manager. It rates the customer details you send with an event, like email, phone, click ID and browser ID, by how likely they are to match that event to a Meta account.

It does not measure whether your tracking is firing. A purchase can fire perfectly and still score low if it arrives with nothing that identifies the buyer. When Meta cannot match a purchase to a person, it cannot credit the ad that drove it, and it has less signal to find more buyers like them.

The score is worked out mainly from events sent through the Conversions API. If you have not set that up yet, start with our Meta CAPI tracking setup guide and come back here once server events are flowing.

How to read the score in Events Manager

Open Events Manager, pick your dataset, click an event and open the Event Match Quality view. You will see the score, a label (poor, OK, good or great) and a list of the customer details Meta received, with how often each one was present.

Do not judge every event by the same bar. Early events come from mostly anonymous visitors, so they will always score lower. Purchase is the event that matters most, because that is where the buyer has typed in a phone number, email and address.

EventWhat you can realistically sendWhat to look for
PageView, ViewContentBrowser ID, click ID, IP, user agent, external ID for logged-in usersA lower score is normal. Check that the click ID is there for ad traffic.
AddToCartSame as above, plus details if the shopper is logged inShould sit at or above ViewContent
InitiateCheckoutPhone and email if your checkout asks for them firstShould jump up once the phone is captured
PurchasePhone, email, name, city, state, pincode, country, external ID, click ID, browser IDShould be your highest score. If it is low, fix this first.

Why EMQ drops on Indian D2C stores

Most low scores we audit come from a short list of causes, and several of them are specific to how Indian shoppers check out.

  • Phone sent in the wrong format. Indian checkouts often collect a 10-digit mobile with no country code, or with a leading 0 or +91 and spaces. Meta expects digits only with the country code, so 9876543210 has to become 919876543210 before hashing. Hash the wrong version and nothing matches.
  • Phone-only checkouts. Many Indian stores use OTP login on the phone with email optional. That is fine, but then the phone has to be right, because it is carrying the whole match.
  • Third-party one-click checkout apps. When checkout runs on an app instead of your store's own checkout, the purchase event is often sent by that app. If it does not pass the browser ID and click ID through, purchase loses its two strongest signals.
  • Click ID lost on the way in. Redirects, link shorteners, WhatsApp hops and some page builders strip the fbclid from the URL, so the click ID cookie never gets set.
  • Hashing the wrong fields. Email, phone, name, city, state, pincode and country must be hashed. Browser ID, click ID, IP address and user agent must be sent as plain text. Hashing them breaks matching.
  • Recent tracking changes. Switching apps, changing the data-sharing setting in your Meta sales channel app or a theme update can quietly drop parameters. A sudden drop in EMQ usually lines up with a change like this.

Fix 1: send clean customer details with every purchase

Go through this list against what Events Manager says it is receiving. Normalise each value before hashing, or let your CAPI tool do it, and check that the tool really does.

DetailCorrect format before hashingCommon mistake on Indian stores
PhoneDigits only with country code: 91987654321010 digits with no 91, or a leading 0, +, spaces or dashes
EmailLowercase, no spacesMixed case from autofill, or a placeholder email made up by the checkout app
First and last nameLowercase, no punctuationFull name sent in the first name field
City and stateLowercase, no spacesState sent as a code in one place and a full name in another
Pincode6 digitsSent with a space or missing on COD orders
CountryTwo-letter code in lowercase: inSent as India or left empty
External IDYour store's customer ID or another stable ID, the same in pixel and server eventsDifferent IDs in the browser and server, so they never line up

Fix 2: keep the click ID alive from ad to order

The click ID (fbc) is the strongest proof that a sale came from a Meta ad click. It starts as the fbclid parameter in the landing page URL and is stored in a first-party cookie. If it never gets saved, or does not reach the purchase event, your score stalls however good your phone data is.

  • Click your own ad and check the landing URL still has fbclid in it. If it disappears, find the redirect that drops it.
  • Check the _fbc and _fbp cookies are set on your domain after you land. Your browser's developer tools show this.
  • Make sure the click ID and browser ID are saved against the cart or order, so the server-side purchase event can send them even if it fires minutes later.
  • If your checkout app runs on a different domain, ask the vendor to confirm in writing that it passes fbc, fbp and external ID into the purchase event.

Fix 3: checkout apps, COD and deduplication

With a one-click checkout app, decide which system owns the purchase event. Either your Meta sales channel app sends it or the checkout app does, never both without a shared event ID. Two unconnected purchase events mean double counting and a confusing score. Every browser and server pair needs the same event name and the same event ID so Meta can deduplicate them.

COD orders deserve a separate look. The order is placed before payment, so the purchase event fires at placement, and the buyer details are usually all there. If your COD flow skips the usual thank-you page, test that the purchase still goes out with the phone and pincode attached. If COD returns are hurting you, the fix is in the campaign setup, not in EMQ. See our guide for high COD return brands.

If your store platform connects to Meta through a Facebook and Instagram sales channel app, check its data-sharing setting. It needs to be at the level that turns on server events. Then check that your consent banner, if you run one, is not blocking the pixel for every visitor.

What a better score will and will not do

A higher EMQ on purchase means Meta can credit more of your real sales to the right ads and learn from them. In practice you see Meta's purchase count move closer to your store's order count, and you can trust the numbers you scale on. It also gives your audiences and broad targeting better buyer signal.

It will not rescue weak ads or a slow site. If purchases already match your orders closely and EMQ is decent, your time is better spent on creative. If the numbers still look off, work through why Meta purchases do not match store orders.

After a fix, give the score a few days to update, since it is calculated over recent events. Change one thing at a time and note the date, so you know which fix moved it.

How Monastic Media helps

One in-house team in Surat scripts, shoots and edits the ads videos and runs the Meta and Google campaigns they go into, so the people who see the numbers make the next ad. See our performance marketing

Read next

Questions

What is a good Event Match Quality score for a D2C store?

Aim for purchase to show a good or great label in Events Manager. Upper-funnel events like PageView will score lower, and that is normal because those visitors are mostly anonymous.

Why did my EMQ suddenly drop?

Almost always something changed: a new checkout app, a theme update, a change to the data-sharing setting in your Meta sales channel app or a new consent banner. Look at what Events Manager says is missing and match the drop date to your change log.

Should I send phone numbers with +91 to Meta?

Send digits only with the country code, so 919876543210, with no plus sign, spaces or leading zero, and hash it after cleaning it up. Most good CAPI tools do this for you, but check with a test order.

Does a low EMQ score increase my ad costs?

Indirectly, yes. Meta credits fewer sales to your ads and learns from less buyer data, which makes delivery less efficient. Fix purchase first, since it carries the most weight.

My checkout app sends the purchase event. Is that a problem?

Not if it sends the click ID, browser ID, external ID and clean customer details, and shares an event ID with any browser event. If it does not, purchase will score low however good the rest of your setup is.

Naaptol
“MM helped us scale from 0 to ₹2.6 CR/month in just 6 months with clear communication and industry expertise!”
Rakesh Naidu GM @ Naaptol

Ready to work with one team?

Book a call. If we can help you hit your goals, we will tell you how; if we cannot, we will tell you that too.