Match Quality

Match rate 85-95%
straight from the source

Email and phone hashed via SHA-256 following each platform's spec, click IDs propagated, identity enriched. Your events arrive matched — not tossed into the dark.

85-95%
Typical match rate for Pro customers — vs 40-60% for browser-side pixel
9.4+
EMQ Score (Meta) guaranteed on Pro and Business plans — Match Quality in real time
< 80ms
Enrichment latency — hash + GeoIP + click ID propagation in a single call

Why match rate drives ROAS

Match rate is the percentage of events that the ad platform can associate with a real user inside its algorithm. The higher the match, the better the LAL, the cheaper the CAC, the more predictable the scale.

VS
Browser-side pixel
Low match rate
42%
  • iOS ITP cuts first-party cookies in 7 days
  • AdBlock blocks 25-35% of events
  • Email/phone in plain text (not hashed)
  • Click IDs lost in the funnel flow
  • Algorithm optimizes in the dark
Trakvo Match Quality
Premium match rate
89% +47pp
  • Server-side bypasses iOS ITP, AdBlock and Safari's ITP
  • SHA-256 following the exact spec of each platform
  • fbc, fbp, ttclid, gclid propagated end-to-end
  • GeoIP enrichment (country, region, ZIP) automatically
  • Algorithm sees nearly everything → stable ROAS

Enrichment pipeline

Every event goes through 5 stages in < 80ms before reaching the ad platform.

1
Capture
Event arrives via browser SDK or server-to-server webhook. PII in the clear only at this moment.
2
Normalization
Email lowercase + trim, phone E.164, names without accents, ZIP digits only.
3
SHA-256 hash
Irreversible hashing per Meta + TikTok + Google spec. PII never leaves the server in plain text.
4
Enrichment
GeoIP (country, region, ZIP), click IDs propagated, user-agent parser, deterministic event_id.
5
Dispatch
Payload optimized per platform (Meta CAPI, TikTok Events API, Google Ads). Match rate maximized.

Normalization by spec

Each platform requires a specific format. Getting this wrong = match rate dropping 30%.

normalize.ts
// Email " [email protected] " trim + lowercase "[email protected]" SHA-256 // Phone (E.164) "(415) 998-7766" digits only + country "14159987766" SHA-256 // Name "John" lowercase + strip accents "john" SHA-256 // City "San Francisco" lowercase + strip spaces + accents "sanfrancisco" SHA-256 // ZIP "94103-1234" digits only "941031234" SHA-256

Click IDs propagated

IDs that travel from the ad click all the way to conversion. Without them, the platform can't tell that user X who purchased was the same user Y who clicked on ad Z.

fbc
Facebook Click ID — extracted from ?fbclid= on the landing page
fbp
Facebook Pixel ID — first-party cookie generated in the browser, persisted server-side
ttclid
TikTok Click ID — extracted from ?ttclid= on the landing page
gclid
Google Click ID — Google Ads attribution token
wbraid
Google web→app attribution ID (iOS 14.5+ post-ATT)
gbraid
Google iOS app-only attribution ID
msclkid
Microsoft Ads click ID — propagated to LinkedIn as well
epik
Pinterest click ID — generated on the pin click

Advanced features

Deterministic event_id
Generates the same event_id on browser + server for automatic deduplication. No double counting between browser Pixel and CAPI.
Real-time Match Quality
Dashboard with current EMQ score per platform (last 24h / 7d / 30d). Automatic alert if it falls below 8.0.
Hash with rotated salt
Optional salt rotated every 90 days to make reverse lookup impossible even in the unlikely event of a hash leak.
GeoIP enrichment
Automatically adds country, region, ZIP when missing from the payload — straight from the MaxMind database updated weekly.
User-Agent parser
Extracts browser, OS, device structured from the raw UA to enrich TikTok/Meta payloads (optional fields that increase match).
Synthetic enrichment
Pro/Business: for sparse records (no email/phone), we infer via fingerprint + historical click ID. +12% match rate on average.

Ready to double your match rate?

Setup in 30 minutes. Match Quality in real time from the very first event. No lock-in — cancel anytime.

9.4+ EMQ guaranteed < 80ms latency GDPR compliant
Trakvo Assistant
Reply in real time