TikTok Events API reference
TikTok's Events API follows the same shape as the other server-side conversion APIs: an event name, a timestamp, an event ID for deduplication against the browser pixel, hashed user identifiers for matching, and event properties carrying value and currency. The failure modes are the same too — an event ID that isn't shared with the pixel, identifiers hashed before they were normalized, and a click identifier that was never captured on landing so the strongest matching signal is simply absent.
Free30 minutesNo obligation
TikTok Events API · what breaks
Where teams get this wrong — TikTok Events API
- 01
No shared event ID with the pixel
Both paths count independently, exactly as with Meta.
- 02
Hashing identifiers without normalizing
A valid hash of a malformed value matches nothing and errors nowhere.
- 03
ttclid never captured
TikTok's click identifier has to be captured on landing and persisted, or the strongest matching signal is missing.
TikTok Events API · the fix
What a correct implementation looks like — TikTok Events API
A shared event ID on both paths
The order ID works, as everywhere else.
Identifiers normalized then hashed
Lowercase, trimmed, phone in E.164.
ttclid captured on landing and forwarded
Persisted like any other click identifier.
value and currency on monetary events
From the order record.
TikTok Events API · architecture
How the payload is structured — TikTok Events API
The structural elements common to every server-side conversion API. TikTok publishes the current field names and they change — verify before building.
- 1
Event name
TikTok's standard event set. Use the standard names rather than custom ones where a standard fits.
- 2
Event timestamp
When the event happened, not when it was sent. A delayed send with a stale timestamp is correct.
- 3
Event ID
Shared with the browser pixel. This is what deduplicates, and it's the most common omission.
- 4
User identifiers
Hashed email, hashed phone, external ID, plus the click identifier where captured.
- 5
Click identifier (ttclid)
Captured on landing from the URL and forwarded. The strongest matching signal available.
- 6
Event properties
value, currency and content details for monetary events.
TikTok Events API · diagnose
Common mistakes and how to validate each — TikTok Events API
Ordered by how often we find them. Each one has a specific check rather than a general instruction to be careful.
- 01
Pixel and API each generating their own event ID
Capture both payloads from one conversion and compare.
- 02
Values hashed with case or whitespace intact
Read the raw value before hashing on a live conversion.
- 03
ttclid missing
Click one of your own TikTok ads and check whether the parameter is captured on landing.
- 04
Sent timestamp instead of event timestamp
Check what a delayed send reports. It should be the original event time.
- 05
Custom event names where standard ones exist
List your active events and compare against TikTok's standard set.
TikTok Events API · prove
How to prove your implementation is right — TikTok Events API
Against your own records and a live payload, not against a preview screen.
Source of truth
your backend order records, matched on order ID
- Identical event ID confirmed on pixel and API for one real conversion.
- ttclid confirmed captured on landing and present in the payload.
- Identifiers confirmed normalized before hashing.
- Conversion count within a few percent of backend orders for a closed week.
- Checked on a live conversion, not in preview mode.
- Reconciled over a fully closed window, matched per record.
- Re-checked 30 days later.
TikTok Events API · free audit
What we check in the free audit
- Pixel and API each generating their own event ID
- Values hashed with case or whitespace intact
- ttclid missing
- Sent timestamp instead of event timestamp
- Custom event names where standard ones exist
Checked against
your backend order records, matched on order ID
Free30 minutesNo obligation
TikTok Events API · when not to buy
What this reference deliberately leaves out — TikTok Events API
Stated openly, because a reference that's silent about its own gaps is the dangerous kind.
- TikTok's exact current field names and standard event list are in their documentation and change more often than the other major platforms'. We've described the structure rather than reproducing a field table that would go stale.
- TikTok's deduplication window isn't a figure we'll guess at. Keep send latency low and verify against your own records.
- Advanced matching options beyond the core identifier set are omitted.
- Vendor documentation is the authority, not this page. Where the two disagree, the vendor is right and we'd like to know so we can correct it.
- Parameter names and behaviour change. Anything here is accurate as we last verified it; verify against the current documentation before you rely on it for a build.
TikTok Events API · what we deliver
The checklist — TikTok Events API
Event ID shared between pixel and Events API
Byte-identical on one real conversion.
User identifiers normalized before hashing
The most common matching failure on every platform.
ttclid captured on landing
And persisted through your forms.
value and currency present
On every monetary event.
Event names matching TikTok's standard set
Verify against current documentation.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Repairs and verifies your existing browser-side setup against this reference, on a live conversion.
- Implementation checked against the spec
- Verified on a live conversion
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Money events sent from your own records through a first-party container on your subdomain, built to this specification.
- First-party server container on your own subdomain
- Events from your records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, documented to this standard.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds and cancellations corrected wherever each platform allows it
- Monitoring so the next break surfaces in days
FAQ
TikTok Events API questions, answered
The principle is the same: a shared event ID between the pixel and the server events. Verify the exact behaviour in TikTok's current documentation before building.
TikTok's click identifier, appended to your landing URL. Capture it on landing and persist it — it's the strongest matching signal available.
Standard where one fits. Custom events lose you optimization and reporting that's built around the standard set.
Because TikTok's field names change more often, and we'd rather describe the structure accurately than publish a table that's wrong in three months.
Free · 30 min
Get TikTok server-side events built correctly
Free30 minutesNo obligation
