Интеграция · TikTok Events API
Пълни сигнали за покупки за алгоритъм, който ги възнаграждава
RoasProof записва ttclid в момента, в който кликът от TikTok кацне, свързва го с последвалата поръчка и доставя CompletePayment server-side. Всяко събитие е дедуплицирано срещу TikTok пиксела ви и съпоставено с хеширани идентификатори.
TikTok Events API е server-to-server каналът на TikTok за конверсионни събития. RoasProof записва ttclid в момента, в който кликът от TikTok кацне, пази го first-party и изпраща CompletePayment и останалите събития от фунията от сървъра, дедуплицирани срещу TikTok пиксела ви чрез общ event_id и съпоставени с хеширани идентификатори.
Как изглежда едно сървърно събитие на RoasProof
CompletePayment събитие, както напуска нашите сървъри към Events API: възстановено click ID, хеширани идентификатори и event ID, споделен с пиксела ви.
POST https://business-api.tiktok.com/open_api/v1.3/event/track/
{
"event_source": "web",
"event_source_id": "{pixel_code}",
"data": [{
"event": "CompletePayment",
"event_time": 1781430082,
"event_id": "ord_84213",
"user": {
"email": "9f3d0c52ab…",
"phone": "1b6e21c84f…",
"external_id": "7ac8044190…",
"ttclid": "E.C.P.CrKzqUv…",
"ttp": "9cf2laqOaU…",
"ip": "203.0.113.24",
"user_agent": "Mozilla/5.0 (iPhone; …)"
},
"properties": {
"currency": "EUR",
"value": 184.50,
"order_id": "84213",
"contents": [
{ "content_id": "SKU-2481", "quantity": 1, "price": 129.00 },
{ "content_id": "SKU-1177", "quantity": 1, "price": 55.50 }
]
},
"page": {
"url": "https://store.example/checkout/thank-you"
}
}]
}event_id съвпада с пиксела ви
И CompletePayment на пиксела, и това сървърно събитие носят ord_84213, така че TikTok ги сдвоява и брои покупката веднъж, независимо кое копие пристига първо.
ttclid, възстановен в момента на конверсията
Click ID-то е уловено от URL-а на кацане и съхранено first-party. Когато покупката се случи (дори седмици по-късно), то се прикача отново, така че конверсията се връща към точната реклама и кампания.
Хеширано по спецификацията на TikTok
email, phone (E.164) и external_id се хешират със SHA-256 на сървъра преди изпращане. Сурови лични данни никога не стигат до TikTok.
Контекст, който вдига match rate
IP-то на купувача, user agent-ът и стойността на _ttp бисквитката (когато пикселът е поставил такава) пътуват заедно и дават на TikTok допълнителни ключове, по които да съпоставя с логнати потребители.
ttclid: лесен за получаване, лесен за губене, освен ако не го съхраните
TikTok добавя ttclid към URL-а на кацане, а повечето сесии започват в in-app браузъра на TikTok, където бисквитките живеят кратко и пътуванията често прескачат към истинския браузър. Устойчивостта е цялата игра.
Уловен на първия pageview
Скриптът чете ttclid от URL-а на кацане, преди редирект или навигация да го отреже, и го записва first-party срещу устойчиво visitor ID.
Създадено за in-app браузър пътувания
Когато посетителят се върне по-късно в Safari, на десктоп или през имейл, свързването на идентичности го закача отново към запазения клик, така че финалната покупка пак носи ttclid.
Бисквитката _ttp идва също
Където TikTok пикселът е поставил своя _ttp идентификатор, съхраняваме и препращаме и него. Така всяко събитие носи още един matching ключ.
- ttclid
- E.C.P.CrKzqUv…
- ttp
- 9cf2laqOaU…
- utm_campaign
- spark-ads-summer
- landing
- /products/trail-jacket
- referrer
- tiktok.com
- captured
- 2026-06-14 09:41:22 UTC
- attached_to
- order #84213
Пиксел и Events API, съжителстващи по дизайн
TikTok препоръчва пикселът и Events API да работят заедно и да се дедуплицират по event_id. Точно тази настройка създаваме.
Същото събитие + event_id: TikTok пази едно копие и докладваният ROAS спира да се разминава с реалността.
Споделени ID-та, координирани при изстрелване
Скриптът ни на страницата подава на пиксела детерминистично event ID, извлечено от поръчката, а сървърното събитие го преизползва. Двойката е недвусмислена.
Оставете пиксела за горната част на фунията
ViewContent, AddToCart и InitiateCheckout могат да останат в браузъра, където са евтини и изобилни, докато събитията с приход получават гарантирания server-side път.
Без надути числа по време на миграция
Понеже дедупликацията е детерминистична от първия ден, можете да включите сървърни събития до съществуващ пиксел, без седмица двойно броени покупки да замърсява оптимизацията.
Идентификаторите, по които TikTok съпоставя, и откъде идва всеки
TikTok съпоставя сървърните събития с потребители чрез хеширани контакти, click ID-та и браузърен контекст. Попълваме всяко поле, което данните ви позволяват.
| поле | какво е | откъде го взимаме |
|---|---|---|
| SHA-256 на нормализирания имейл адрес | Имейл от поръчка или регистрация, с trim и малки букви преди хеширане | |
| phone | SHA-256 на телефона в E.164 формат | Телефон от checkout или лийд форма, нормализиран по държава |
| external_id | SHA-256 на стабилно first-party visitor ID | Задава се при първото посещение и се преизползва между сесии |
| ttclid | TikTok click ID | Уловен от URL-а на кацане, съхранен first-party, възстановен при конверсия |
| ttp | Идентификатор от бисквитката на TikTok пиксела | Чете се от _ttp бисквитката, когато пикселът е поставил такава |
| ip / user_agent | Браузърният контекст на купувача | Записани със сесията, породила конверсията, не с нашия сървър |
Покритието по поле се вижда в дашборда. Ако телефоните спрат да пристигат след промяна в checkout-а, ще го разберете от графика, а не от бавно топене на съпоставените конверсии. Любопитни за самото click ID? Вижте статията за ttclid в речника.
Доставка през опашка с разписка за всяко събитие
Заявките към Events API удрят rate limit-и и временни грешки като всеки API. Опашката ги поема; дашбордът ви показва всичко.
Store-and-forward
Всяко събитие се записва преди доставка и се опитва отново с експоненциално изчакване при грешки и rate limit-и. Прекъсване на TikTok забавя събитията, но никога не ги изтрива.
Тестови събития преди пускане
По време на настройката събитията минават през тестовия режим на TikTok, за да ги видите как пристигат и се дедуплицират в Events Manager, преди да е изпратено и едно продукционно събитие.
Статус на доставка по събитие
Всяко събитие пази изпратения payload и кода и съобщението на отговора от TikTok. Провалите могат да се диагностицират и изпратят повторно, поединично или групово.
Дайте на TikTok данните за покупки, които му липсват.
Свържете pixel code и access token, изпратете тестово събитие и потвърдете дедупликацията в TikTok Events Manager, преди да пуснете на живо.