Event Match Quality and conversion signal scoring
Meta Event Match Quality and Google's match diagnostics reward complete, consistent identifiers. Learn which fields move scores and how to debug weak match keys in delivery logs.
- Event Match Quality
- match keys
- hashing
- Meta
Problem: Meta Events Manager shows yellow Event Match Quality. Google Enhanced Conversions coverage is below expectations. You send events, but platforms cannot tie them to ad clicks.
What platforms are scoring
Ad platforms rank how confidently they can match your server or pixel event to a user and click. Inputs include hashed email and phone, click IDs (fbc, gclid, ttclid), IP and user agent (where permitted), and external IDs from your auth system.
Incomplete payloads still ingest — they just match worse, which slows optimization and reporting.
Highest-leverage fields
For B2B SaaS, work email at SignUp and StartTrial is usually the strongest key. Capture fbc/gclid on landing and attach to later server events when cookies expire.
Always send eventId when running dual browser/server delivery. Meta uses it for dedup and match confidence.
trackstack.identify(user.id, { email: user.email });
trackstack.capture("StartTrial", {
email: user.email,
eventId: `trial_${user.id}`,
});Hashing and normalization
Emails must be lowercased and trimmed before SHA-256. Gmail dot-removal and similar rules apply for Google Enhanced Conversions. Phone numbers need E.164 formatting.
TrackStack applies destination-specific normalization at the edge — but garbage in still fails match: typos, plus-addressed test emails, and personal Gmail on B2B signups hurt quality.
Debugging with delivery logs
EMQ in Meta UI lags 24–48 hours. For same-day checks, inspect HTTP 200 responses and payload summaries in delivery logs.
If match quality drops after a deploy, diff whether identify() still runs before capture() and whether click ID cookies survive your auth redirect.
Clerk and SSO
When users sign in with Google or Microsoft SSO, you still get email from Clerk — pass it to identify on session ready. See SSO integration for the full checklist.
Sources
Official documentation and references cited in this article.
More in Engineering
First-party conversion tracking vs third-party pixels
Browser pixels and server-side CAPI solve different problems. Here is when to use each, how they complement each other, and what breaks when you rely on scripts alone.
Read postEvent deduplication between client and server
Sending the same conversion from browser and server without a shared event ID double-counts in ad platforms. Here is how dedup works at Meta, Google, and TikTok — and how to implement it in your app.
Read postWhy ad blockers break third-party pixels
uBlock Origin and filter lists like EasyList block requests to `facebook.net` and `google-analytics.com` by default. Understand the mechanism so you can design tracking that actually delivers.
Read postReady to fix your conversion pipeline?
Install the TrackStack SDK, route events to Meta and Google, and verify delivery from one dashboard.