What Event Match Quality is
Event Match Quality is a platform diagnostic that estimates how matchable your conversion events are. When a server sends a Purchase, Lead, Subscribe, or AddToCart event, the platform tries to connect that event to a known user, browser, ad click, or modeled measurement cohort. EMQ is the platform's shorthand for whether the payload gives it enough context to make that match confidently.
The score is not a universal standard. Meta and TikTok expose 1-10 style scores. Pinterest often discusses match rate. Google Ads surfaces Enhanced Conversions diagnostics rather than one single EMQ number. The underlying idea is similar across all of them: richer, normalized, consent-eligible identifiers improve the odds that a conversion can be joined back to the ad ecosystem that drove it.
EMQ also has limits. It does not prove that an ad caused a sale, and it does not override consent, attribution windows, deduplication, or platform modeling. A high score simply means the event arrived with strong matching ingredients. A low score means the destination is being asked to optimize and report from incomplete data, which usually means weaker learning and noisier conversion reporting.
The four EMQ platforms
Each platform describes match quality in its own vocabulary, but the operational questions are the same: are identifiers present, normalized, fresh, consent-eligible, and attached to the right event at the right time?
| Platform | Score range | What it measures | Docs link | Typical good score |
|---|---|---|---|---|
| Meta EMQ | 1-10 | How well Meta can match server events to people using hashed contact data, browser identifiers, click IDs, IP, user agent, and external_id. | Meta CAPI parameters → | 8+ for Purchase, 7+ for upper-funnel events |
| Google Ads Enhanced Conversions Diagnostics | Status and issue diagnostics | Whether eligible conversions receive normalized first-party data, valid click IDs, consent state, and upload timing that Google can process. | Enhanced Conversions → | No critical diagnostics, strong eligible coverage |
| TikTok EMQ | 1-10 | TikTok's estimate of event matching strength across Events API and Pixel signals such as email, phone, external_id, ttclid, IP, and user agent. | TikTok EMQ → | 8+ for checkout and purchase events |
| Pinterest Match Rate | Percentage match rate | The share of conversion events Pinterest can associate with Pinterest users using enhanced match fields, click IDs, and browser context. | Pinterest Enhanced Match → | 50%+ is workable; 70%+ is strong |
The 7 signals ranked by lift
The exact lift varies by vertical, geography, logged-in share, mobile mix, checkout design, and consent rate. The ranking below reflects the pattern most server-side tracking teams see: contact and account identifiers create the largest jumps, while browser context fields make the match more believable and complete.
email_hash +25% avg
The highest-lift signal because it is deterministic across devices and usually stable from lead capture through checkout. Normalize by trimming, lowercasing, then hashing with SHA-256.
phone_hash +18% avg
Strong for mobile-heavy audiences and checkout flows. Format to E.164 with the country code before hashing or the same number can become several unmatched values.
external_id +12% avg
Your stable account or customer ID gives platforms another durable join key. It is most useful on authenticated sessions, renewals, repeat purchases, and CRM events.
fbp/click_id +10% avg
Platform browser and click identifiers tie a server event back to the ad click or pixel context. They are especially important when contact fields are missing.
client_ip_address +6% avg
A supporting context signal that helps platforms validate device and network context. Capture the visitor IP server-side instead of forwarding an internal proxy address.
client_user_agent +4% avg
Useful when paired with IP and click data. Forward the browser user agent from the original request, not the user agent of your backend worker or HTTP client.
first_name + last_name + city + zip +3% avg
Helpful as incremental evidence, but noisy and formatting-sensitive. Treat these as secondary fields after email, phone, external_id, and click identifiers are clean.
The 10 biggest EMQ killers
Most match quality problems are not exotic. They come from small formatting mistakes, lost cookies, incorrect timestamps, or identifiers being attached in the wrong environment.
- Sending email in plain text instead of SHA-256.
- Sending phone without +country code.
- Lowercase mismatch on email before hashing.
- Sending user_agent from server instead of client.
- Missing fbp cookie forwarding.
- Not setting client_ip.
- Wrong event_time epoch, especially milliseconds vs seconds.
- Sending expired GCLIDs.
- Not hashing client-side before transmission when the browser collects the value.
- Omitting external_id on authenticated sessions.
Monitoring EMQ over time
A healthy trend is boring. Your highest-value events should sit in the 8-10 range and move slowly as traffic mix, consent rate, and account login behavior change. Upper-funnel events can be lower because they naturally have less contact data, but they should still be stable relative to their own baseline.
Dips to 6 are red flags for checkout and lead events. They often mean a release stopped forwarding fbp or click IDs, a backend refactor lost client_ip_address, a worker started sending its own user agent, or event_time switched from seconds to milliseconds. Segment alerts by platform and event name so a Meta Purchase regression does not hide inside healthy TikTok page events.
Alert when a critical event drops by two points, when a required identifier disappears for more than one deployment window, or when match quality and conversion volume diverge sharply. EMQ should be reviewed with payload samples, consent distribution, and tag release history, not as a dashboard number floating on its own.
The consent trap
Consent changes the denominator, not just the payload. With Consent Mode v2, ad_storage, ad_user_data, and ad_personalization determine whether advertising identifiers and user data can be used for measurement or personalization. Under CCPA and similar opt-out regimes, a user who opts out of sale, sharing, or targeted advertising may still produce events, but those events cannot be enriched for every ad destination in the same way.
The practical trap is treating lower identifier coverage as a bug when it is actually a policy outcome. Denied users should drop from the score denominator for destinations that cannot use their identifiers. If they remain in denominator reporting while their fields are suppressed, your EMQ can appear worse even though the implementation is doing the right thing.
The right monitoring view separates technical loss from consent loss. Technical loss is a missing cookie, malformed hash, stale click ID, bad timestamp, or absent IP. Consent loss is an eligible event where policy correctly suppresses identifiers. Only the first category should wake up the engineering team.
TrackLayer automatic EMQ optimization
TrackLayer treats match quality as an event pipeline concern, not a manual field checklist. The goal is to preserve strong signals once, apply consent and destination rules consistently, and keep the payload valid even when storefront, checkout, and backend systems change.
Server-side IP capture
TrackLayer reads the visitor IP from the edge request and preserves it through the event pipeline, so destinations receive browser context instead of an internal service address.
UA forwarding
The original client user agent travels with the event envelope from browser to server to destination. That keeps platform diagnostics from seeing your API client as the shopper.
Click ID persistence
fbclid, gclid, ttclid, epik, and similar click identifiers are stored with consent state and replayed onto eligible server events during their valid attribution windows.
PII hashing
Email, phone, and address fields are normalized and SHA-256 hashed before being sent to destinations that require hashed customer information.
FAQ
Is Event Match Quality the same as attribution?
No. EMQ measures matchability, not credit. A high EMQ event is easier for a platform to connect to a person or click, but the platform still applies attribution windows, consent rules, deduplication, and modeling before reporting conversions.
Can EMQ be too high?
A high score is not a problem by itself, but it should be explainable. If every event suddenly scores 10 after a tag change, verify that identifiers are normalized correctly, consent is honored, and the same user data is not being attached to unrelated sessions.
Do I need every signal on every event?
No. Send the strongest lawful signals available for the event. Purchase and Lead events usually deserve the richest payloads. PageView and ViewContent events often rely more on browser, click, IP, and user agent context.
Should I hash in the browser or on the server?
If the browser collects the value and policy allows it, hashing before transmission reduces exposure. Server-side hashing is still common for checkout and account systems, but plain-text contact fields should not be sent to ad platforms.
Why did EMQ drop after Consent Mode v2?
Consent Mode changes which identifiers can be used for advertising measurement. When ad storage or ad user data is denied, eligible user data is suppressed and those denied users should fall out of the platform score denominator.
How often should teams review EMQ?
Review key conversion events weekly, and alert on sudden changes daily. EMQ is an operational signal: it catches broken cookie forwarding, checkout refactors, consent regressions, and server payload mistakes before spend reports drift.