Get free audit →

Home / Blog / Meta CAPI Event Match Quality Low on Shopify

Meta CAPI · Event Match Quality · Shopify

Meta CAPI Event Match Quality Low on Shopify: What to Check

If Meta Events Manager shows low Event Match Quality after setting up Meta CAPI on Shopify, do not assume CAPI is “broken.” Low EMQ usually means Meta is receiving the event, but the event does not include enough usable customer information to confidently match it to a Meta account.

For Shopify brands using Elevar, the fix is not simply “turn on server-side tracking.” You need to inspect which customer information parameters arrive with each event, whether browser identifiers are preserved, whether consent allows the data to be sent, and whether duplicate tracking tools are corrupting the signal.

Short answer: Meta CAPI Event Match Quality is low on Shopify when server events do not include enough valid customer information parameters. The most common gaps are missing or poorly formatted email, phone, first name, last name, IP address, user agent, fbp, fbc, or external_id.

Key takeaways

What Meta Event Match Quality means

Meta says Event Match Quality indicates how effective the customer information parameters sent with a server event may be at matching events to Meta accounts. Better match quality means events are more likely to match to Meta accounts, which can help attribution and ad delivery. Meta: About Event Match Quality

Meta’s Dataset Quality API documentation says EMQ assesses whether you are sending the right customer information through CAPI and whether those parameters are set up correctly. Meta Dataset Quality API

First classify the EMQ problem

SituationWhat it usually meansFirst thing to check
No server eventsCAPI is not sendingElevar Meta destination and Test Events
Server events arrive but EMQ is lowCustomer info weak or missingEvent details → customer parameters
Purchase okay, AddToCart lowUpper-funnel has less customer dataCompare event-specific identifiers
EMQ dropped after consent changeConsent blocks identifiers/eventsCMP and Elevar consent mapping
EMQ low after app changeDuplicate/parallel setupShopify native Meta, Elevar, GTM, apps
EMQ good but conversions duplicatedDeduplication issueevent_id and event name

Customer information parameters to inspect

Meta’s customer information parameters are user identifiers shared alongside event information. Meta says customer information helps with matching and that its systems are designed not to accept unhashed contact information unless noted. Meta Customer Information Parameters

ParameterWhy it mattersShopify/Elevar check
emHashed email is a strong identifierIs customer email available and sent hashed?
phHashed phone helps mobile matchingIs phone collected and normalized?
fn, lnName fields improve matchingAre billing/shipping names included?
client_ip_addressWeb request contextIs real shopper IP passed?
client_user_agentWebsite CAPI contextIs browser user agent passed?
fbpMeta browser ID cookieIs latest _fbp captured and forwarded?
fbcMeta click ID/click cookieIs _fbc captured for Meta ad clicks?
external_idStable advertiser-side user IDIs Shopify customer ID consistent?
event_source_urlWebsite event contextIs source URL sent?

Meta recommends sending fbc and fbp browser cookie values when available and refreshing them because they can change. Meta fbp and fbc parameters

Why Purchase EMQ can be higher than ViewContent or AddToCart

Purchase events happen after the customer has entered checkout details. Email, phone, name, address, and customer/order IDs may be available. ViewContent and AddToCart often happen before the customer identifies themselves, so those events may only have browser cookies, IP, user agent, and page context.

Elevar-specific checks

  1. Is Elevar the intended owner of Meta CAPI?
  2. Is Shopify native Meta also sending server events?
  3. Is Meta CAPI enabled in the Elevar Meta destination?
  4. Do Purchase events include email, phone, name, IP, user agent, fbp, fbc, and external/customer ID when available?
  5. Are fbp and fbc captured before checkout and carried into the server event?
  6. Is consent mode/CMP preventing customer parameters?
  7. Are accelerated checkout or subscription/API-created orders losing identifiers?
  8. Are events tested with Meta Test Events?

Elevar’s Meta testing guide explains how to use Meta Events Manager Test Events and a server test code to confirm server events are set up correctly. Elevar Meta CAPI testing

Diagnostic table

SymptomLikely causeWhere to checkFix direction
Purchase EMQ below expectationsEmail/phone/name missing or badEvents Manager detailsFix customer data mapping and hashing
No fbp/fbcCookies not captured/forwardedBrowser cookies and Elevar/session enrichmentPreserve and refresh fbp/fbc
No IP or user agentServer lacks browser contextCAPI payloadPass real request context
AddToCart lower than PurchaseCustomer not identified yetEvent-by-event EMQSet realistic expectations
EMQ dropped after consent updateConsent blocks identifiersCMP and Shopify Customer PrivacyFix consent mapping
EMQ low after app changeDuplicate Meta integrationApps, GTM, Elevar, native MetaChoose one owner
EMQ okay but reporting inflatedDeduplication failureEvent ID and event nameFix Pixel + CAPI dedupe

What not to do

What most people miss

The better question: Which identifiers are missing from which event, and are those identifiers actually available at that point in the funnel?

If Purchase is missing email and phone, that is usually fixable. If ViewContent does not have email yet, that may be normal. If fbc is missing for Meta ad click traffic, that is a tracking/session preservation problem.

Validation checklist

  1. Open Meta Events Manager.
  2. Check server events arrive for PageView, ViewContent, AddToCart, InitiateCheckout, and Purchase.
  3. Inspect EMQ separately for each event.
  4. Open event details and review customer parameter coverage.
  5. Run a test order through Elevar using Meta Test Events.
  6. Confirm Purchase includes available email, phone, name, IP, user agent, fbp, fbc, and external/customer ID.
  7. Confirm Pixel and CAPI deduplicate correctly.
  8. Confirm no duplicate Meta source sends the same Purchase independently.
  9. Test accepted and denied consent paths.
  10. Recheck after enough fresh real events process.

Meta CAPI connected but EMQ still low?

TrackingAudit can inspect Elevar, Shopify, GTM, Meta Events Manager, consent mode, duplicate tracking sources, and Shopify order/customer data to show which identifiers are missing and why.

Get your free audit →

Frequently asked questions

What is Meta Event Match Quality?

It indicates how effective the customer information parameters sent with a server event may be at matching that event to Meta accounts.

Why is Meta CAPI Event Match Quality low on Shopify?

Usually because server events are missing usable customer information such as hashed email, phone, name, IP, user agent, fbp, fbc, or external ID.

Does enabling CAPI automatically improve EMQ?

No. CAPI delivers events server-side, but EMQ depends on the quality and availability of customer information sent with those events.

Why is Purchase EMQ higher than AddToCart EMQ?

Purchase happens after checkout details are collected. AddToCart often happens before the shopper identifies themselves.

Can consent settings lower EMQ?

Yes. If consent mode or a CMP blocks identifiers or server events, EMQ can drop.

What should I check first in Elevar?

Check the Meta destination, server event arrival, customer parameter coverage, fbp/fbc, consent mapping, and whether Shopify native Meta or GTM is also sending events.

Sources