TikTok Events API
Credentials
TikTok Ads Manager → Tools → Events → your web pixel → Settings → Events API → Generate access token. Note the pixel code (upper-case letters and digits).
PUT /v1/projects/{project}/destinations/tiktok
{
"enabled": true,
"mode": "test",
"transport": "direct",
"settings": { "pixelCode": "C1ABCDEFGH2IJKLMNOPQ", "testEventCode": "TEST12345" },
"secrets": { "accessToken": "…" }
}TikTok conversions are always sent directly – Composio's managed TikTok grant does not include pixel permissions.
What is sent
POST https://business-api.tiktok.com/open_api/v1.3/event/track/ with header Access-Token:
| Field | Value |
|---|---|
event_source, event_source_id | web, the pixel code |
data[].event | the definition's TikTok event (SubmitForm, Contact, CompleteRegistration, …) |
data[].event_time, event_id | conversion time (seconds), the conversion's event id (deduplication with the browser pixel) |
data[].user.email, phone, external_id | SHA-256 hashes |
data[].user.ttclid | from the session (ttclid URL parameter) |
data[].user.ttp | the _ttp cookie – only after consent or passed by your server |
data[].user.ip, user_agent | request context, when your server passed it |
data[].page.url | page of the conversion |
data[].properties.value, currency | when the value is above 0 |
At least one of e-mail, phone, external id, ttclid or _ttp is required; otherwise the status is
skipped. TikTok accepts events up to 7 days old.
Testing
- Events Manager → pixel → Test events → copy the test code into
settings.testEventCode. mode: "test", thenPOST /v1/projects/{project}/destinations/tiktok/testor a real conversion.- Check the event under Test events (source Server), then remove the code and switch to
live.