Meta EMQ Score Estimator
Estimate your Meta Event Match Quality score and discover exactly which data signals are costing you attributed conversions. Fix low EMQ with server-side tracking — free, no code required.
What Is Meta Event Match Quality (EMQ)?
Meta Event Match Quality is a score from 0–10 that measures how accurately your conversion events are being matched back to Meta user profiles. A high EMQ score means Meta can reliably attribute purchases, add-to-carts, and other events to specific ad clicks — which directly determines how accurately your ROAS is reported and how well Meta's algorithm can optimise your campaigns.
The core problem: browser-only tracking is broken. Apple's iOS App Tracking Transparency, Safari's ITP, and widespread use of ad blockers all interfere with the Meta Pixel's ability to fire accurately. When a customer uses iOS Safari, your pixel may miss 20–40% of conversions entirely. Those conversions still happen — they just become invisible to Meta.
How EMQ Score Is Calculated
Meta calculates EMQ based on which customer data signals are present in your event payload and how accurately they can be matched to a Meta user profile. The most valuable signals are:
- Email address — highest individual impact. Must be SHA256 hashed before sending.
- Phone number — second highest impact. Hashed in E.164 format.
- External ID — your Shopify customer ID or order ID. Medium impact but easy to include.
- Click ID (fbc) — captured from URL when a user clicks your Meta ad. High deduplication value.
- IP address + User Agent — lower individual impact, but contribute to overall match rate.
Sending events server-side (via the Events API) is the single biggest improvement available because it ensures events fire regardless of browser restrictions, ad blockers, or iOS settings. Server-side signals are more reliable, arrive faster, and can carry more data than browser pixel events.
Why Low EMQ Scores Directly Cost You Money
Reporting accuracy: If Meta can only match 60% of your conversions back to ad clicks, your reported ROAS is based on 60% of actual revenue. You may be cutting campaigns that are actually profitable, or scaling campaigns that look strong but have inflated numbers.
Algorithm optimisation: Meta's Advantage+ campaigns and automated bidding use conversion signals to find buyers. Low-quality signals mean the algorithm is learning from incomplete data — it optimises toward the 60% of conversions it can see, not the 100% that are happening.
Attribution windows: Meta's default attribution window is 7-day click, 1-day view. With low EMQ, conversions that happen 2–3 days after a Meta ad click may never be matched, artificially compressing your measured attribution window.
How to Fix Low Meta EMQ on Shopify — Free Method
The fastest way to improve EMQ on Shopify is to implement server-side tracking via the Meta Conversions API using Make.com. When a Shopify order is placed, a Make.com webhook fires immediately and sends a Purchase event directly to Meta's server — with hashed email, phone, external_id, and IP address all included in the payload. This bypasses every browser-level restriction and typically moves EMQ scores from 4–5 range to 6–8+ range.
The full setup takes approximately 6 minutes on Make.com's free tier (1,000 credits/month). No code, no developer, no ongoing subscription. The guide at stackarchitect.xyz/capi-shield covers every step.
Low EMQ is one visible symptom of a wider measurement gap. For how much purchase signal the typical Shopify store loses to iOS — a sourced 20–40% — see the iOS attribution gap benchmark.
EMQ score bands — what each range actually means
Meta scores every web event from 0–10 on a rolling 48-hour window. The bands below are the working interpretation used across Shopify tracking practice in 2026 — what each range tells you to do next, not just a colour.
| EMQ band | Score | What it means & the fix |
|---|---|---|
| Poor | 1–4 | Pixel-only or a barely-configured CAPI. You are missing the majority of matchable events. Implementing the Conversions API with hashed email is the single highest-impact move available. |
| OK | 5–6 | CAPI is live but under-fed. You are sending too few customer parameters per event. Audit each event and add the missing fields — phone, external_id, fbc, fbp. Meta’s own internal benchmark sits around 6. |
| Good | 7–8 | Solid setup. Focus on edge cases: is fbc captured on every ad-click landing, is fbp passed on every event, is hashing consistent? This is where most well-run Shopify stores land. |
| Great | 9–10 | Top tier. Maintain it — watch for regressions from theme updates, app changes, or checkout customisations that silently break the CAPI payload. |
Which signals move the score — and by how much
EMQ is cumulative: it rewards parameter depth on every event, not one perfect identifier. Hashed identifiers are matched deterministically; the browser and click IDs (fbc, fbp) carry the probabilistic load for anonymous visitors. Critical detail most setups get wrong: email, phone, external_id, names and address are SHA-256 hashed before sending — but fbc and fbp must never be hashed.
| Parameter | Hashed? | Typical impact | Notes |
|---|---|---|---|
| Email (em) | SHA-256 | Up to +4 pts | The single most powerful identifier — people keep one email for years across devices. Highest priority. |
| Phone (ph) | SHA-256 | ~+3 pts | Format E.164 (e.g. +14155551234) before hashing. Second-highest deterministic signal. |
| Click ID (fbc) | No — raw | High | From the _fbc cookie; ties the event to a specific Meta ad click. Only present when the visitor arrived via a Meta ad. |
| Browser ID (fbp) | No — raw | Medium | From the _fbp cookie; links server events to the same browser the Pixel saw. Available on almost every event. |
| External ID | SHA-256 | Medium | Your Shopify customer or order ID, held across sessions. Easy to include, adds real lift. |
| IP + User Agent | No — raw | Low | Support probabilistic matching for anonymous visitors. Sent automatically server-side. |
| City / Zip / Region | SHA-256 | Low | Geo fields round out match quality on low-parameter events like PageView and Add to Cart. |
Event-specific benchmarks — why one number is misleading
A single store-wide EMQ figure hides the real picture, because different event types structurally score differently. Purchase events fire at checkout where email, phone and address all exist, so they score high. PageView and Add to Cart events fire before the visitor has typed anything — and fbc only exists if they arrived from a Meta ad — so they score lower by design. Judge each event against its own benchmark, not against Purchase.
| Event type | Target EMQ | Why |
|---|---|---|
| Purchase | 8.8–9.3 | Checkout supplies email, phone, name and address — the richest payload you can send. |
| Add to Cart | 8.0+ | Achievable with fbp, fbc, external_id and any logged-in customer data. |
| PageView | 6.5–7.5 | Structurally lower — usually only fbp, fbc, IP and user agent are available. |
| Meta internal benchmark | ~6.0 | The reference line Meta uses; below this, attribution is materially unreliable. |
Figures reflect Meta’s published Conversions API guidance and 2026 EMQ documentation. EMQ updates on a rolling 48-hour window, so allow two days after any change before re-reading your score in Events Manager (Data Sources → your dataset → Events).
COMMON_QUESTIONS
What is a good Meta EMQ score?▼
Meta rates EMQ from 0–10. A score of 7.0 or above is considered strong. Scores of 4–6 indicate moderate match quality with room for improvement. Below 4 means you are likely losing significant attribution and your Meta ad performance data is unreliable.
What fields improve EMQ score the most?▼
Email address and phone number are the highest-impact fields, each contributing significantly to match quality. External ID (your Shopify customer ID) and Click ID (fbc) also add material lift. Hashing these server-side via the Meta Conversions API gives you the highest possible EMQ.
How do I fix a low Meta EMQ score for Shopify?▼
The fastest fix is implementing server-side tracking via the Meta Conversions API using Make.com. This sends Purchase events with hashed customer data (email, phone, external_id) directly from your server, bypassing iOS restrictions and ad blockers. Full setup guide at stackarchitect.xyz/capi-shield.
Does a higher EMQ score improve my Meta ROAS?▼
Yes. Higher EMQ means more of your conversions are matched back to Meta ad clicks. This improves your reported ROAS, gives Meta's algorithm better signals to optimise bidding, and allows Advantage+ campaigns to work more effectively. Stores that move from EMQ 4 to 7+ typically see 20–40% more attributed conversions.
Is the Meta Conversions API free to use?▼
Yes. Meta's Events API has no direct cost. You need a way to send server-side events — Make.com's free tier (1,000 credits/month) is sufficient for most Shopify stores under 500 orders/month. There is no Meta charge for using the API.
Fix Your EMQ Score — Free Setup Guide
Server-side Meta Conversions API setup. 6 minutes. $0 forever.
Deploy CAPI Shield Free →