TikTok Enhanced Matching and Advanced Matching: Setup and Match-Rate Impact
TikTok enhanced matching is a set of settings that lets your Pixel and Events API send hashed customer data (email, phone, country, and other parameters) together with each event. The more parameters TikTok can match to a real profile, the higher your match rate, and the more conversions the ad account actually sees. In this guide we walk through enabling enhanced data postback, the hashing rules, and a diagnostic checklist for low match rates.
What enhanced matching does on TikTok
Every event TikTok receives goes through matching: the platform tries to connect the event to a concrete user profile. If only cookie data arrives, events from iOS browsers, ad blockers, and cross-device journeys often stay unmatched. The match rate is the share of events that TikTok successfully tied to a user.
Enhanced data postback solves this by appending user parameters to each event. The same logic exists in the Meta ecosystem; we covered it in Facebook Event Match Quality Score. On TikTok the mechanism is similar: more matched parameters mean more attributed conversions and better optimization signal.
Enhanced Matching vs Advanced Matching
| Mode | Where data comes from | Control level |
|---|---|---|
| Advanced Matching | Pixel JS on the page, parameters passed manually | Manual, per-field |
| Enhanced Matching (automatic) | TikTok collects fields from the page automatically | Automatic |
| Events API | Your server sends events directly | Full, including custom fields |
The official help center describes both flows in Enhanced data postback with the TikTok Pixel. In practice the best result comes from combining the Pixel with the Events API, because server-side events survive browser restrictions.
Step-by-step setup
- Open Events Manager in your TikTok Ads account and select the Pixel.
- In Pixel settings, enable enhanced data postback. Choose automatic collection or manual mode where you pass fields yourself.
- For manual mode, pass hashed parameters in the Pixel
trackcall. - Connect the Events API and send the same key events from the server with
user_data. - Verify events in Test Events: both sources should appear with parameters attached.
A minimal Events API payload looks like this:
{
"event_source": "web",
"data": [
{
"event": "CompletePayment",
"event_time": 1723200000,
"user_data": {
"em": ["973dfe463ec85785f5f95af5ba3906e0761b94853f01e6a5f8dc53a1a2d3f0b1"],
"ph": ["0d63bc7f0d9b6e8f1a2b4c5d6e7f80912a3b4c5d6e7f80912a3b4c5d6e7f8091"],
"country": ["a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3"],
"client_ip_address": "203.0.113.45",
"client_user_agent": "sample user agent"
}
}
]
}Request format and required fields are documented in How to postback signals through Events API.
Hashing rules that decide your match rate
- Email: lowercase, trim whitespace, then SHA-256.
- Phone: digits only in international format, no
+, no spaces, then SHA-256. - Country and city: two-letter codes or lowercase names, then SHA-256.
- Never hash
client_ip_addressandclient_user_agent; they go in plain text.
A common failure pattern mirrors the Meta scenarios from the Facebook Pixel audit checklist: events fire, but values arrive raw or double-hashed, so matching silently fails. If your funnel postbacks through a tracker, check the chain end to end as in Keitaro Postback Setup for Facebook and TikTok.
Diagnosing a low match rate
- Open Events Manager and look at the match-rate or event-quality report for each event.
- Compare key events:
CompletePaymentwithout parameters is the first thing to fix. - Run Test Events and confirm
user_dataappears on both browser and server events. - Check for duplicates: the same event from Pixel and Events API should share
event_idfor deduplication.
Sending more matched customer information parameters improves the quality of your event data and helps optimize ad delivery.
If you run many funnels and ad accounts, hand the routing and reporting of conversions to MOST: it automates event delivery so the team sees real numbers without manual postback surgery. If you only need to activate a Pixel on a single landing page quickly and for free, use Pixel Activator.
