TikTok CAPI: серверные конверсии и сквозной ttclid
Этот раздел описывает серверную передачу конверсий в TikTok (Events API) —
как её подключить к сайту, какие события уходят и как проверить, что всё
работает.
Что это и зачем
Обычный браузерный пиксель фиксирует события на странице. Но ключевые точки
воронки происходят после ухода с сайта — подписка в Telegram-боте, заявка,
оплата в CRM. Серверный API конверсий (CAPI) передаёт эти события напрямую с
нашего сервера в TikTok, «прошивая» по всему пути уникальный идентификатор
клика TikTok — ttclid.
Это даёт:
- корректную атрибуцию продажи к рекламному клику TikTok;
- кастомные отчёты и оптимизацию рекламы под реальные события (подписка,
покупка), а не только клики; - ретаргетинг по сегментам (подписался, но не купил и т. п.).
Как устроен путь
- Человек кликает по рекламной ссылке-воронке. TikTok дописывает
?ttclid=…
к ссылке — мы захватываем этотttclidв момент клика. - Идентификатор клика прошивается по всей воронке: лендинг → старт
Telegram-бота → атрибуция контакта в CRM. - На важных точках сервер отправляет событие в TikTok Events API:
- подписка в воронке →
CompleteRegistration; - подтверждённая оплата в CRM →
Purchaseс суммой выручки и валютой.
- подписка в воронке →
- Каждая доставка (успех/пропуск/ошибка) фиксируется в журнале и видна в
интерфейсе.
Примечание
ttclid передаётся в TikTok как есть (не хешируется) — именно он замыкает
петлю к исходному клику. Email/телефон/внешний ID передаются в
SHA‑256‑хешированном виде.
Шаг 1. Создать пиксель в TikTok Events Manager
Для подключения нужны две вещи из TikTok: Pixel Code (идентификатор
пикселя) и Access Token (ключ Events API).
- Войдите в TikTok Ads Manager → Tools (Инструменты) → Events
Manager. - Нажмите Connect Data Source → выберите Web.
- Выберите Manual Setup → TikTok Pixel + Events API → Next.
- Задайте имя пикселя (удобно называть по домену/проекту). Создастся Pixel
Code — напримерDA1ENRRC77UDVMNGCPG0. - В настройках пикселя откройте раздел Events API → Generate Access
Token и скопируйте токен.
Важно
Access Token показывается один раз — сохраните его сразу. Токен должен быть
выпущен именно для этого Pixel Code.
Совет
Браузерный JS-сниппет пикселя для нашей серверной отправки не нужен — мы
шлём события сервер-в-сервер. Его можно поставить на лендинг для доп. матчинга и
дедупликации, но это необязательно.
Шаг 2. Подключить пиксель к сайту
Трекеры привязываются к конкретному сайту. К одному сайту можно привязать
несколько трекеров (Meta, TikTok, VK, Google) — TikTok лишь один из них.
- Откройте
Технический блок→Сайтыи откройте нужный сайт. - Перейдите на шаг «Роботы и трекеры».
- В блоке «Pixel Connections» → «Создать трекер для подписной»:
- Провайдер —
TikTok (Pixel + Events API); - включите «Server-side events / CAPI» (серверная отправка, нужен Access
Token); - заполните TikTok Pixel Code и Access Token (из шага 1). У обоих
полей есть подсказка ⓘ — где взять значение, со ссылкой на TikTok
Events Manager; - нажмите «Создать и привязать».
- Провайдер —
Трекер привяжется к этому сайту. Для page-less воронок (прямая ссылка Telegram /
business_dm) привязка идёт к самому сайту-подписной — отдельная страница не
требуется.
В карточке трекера виден индикатор состояния: «CAPI активен» — серверная
отправка работает; «CAPI: токен не задан» — доставки не пойдут, добавьте
Access Token; «CAPI выкл.» — работает только браузерный пиксель.
Кастомный HTML-лендинг
Если подписная использует собственный HTML-код, при сохранении кнопки с
прямыми Telegram-ссылками (t.me/…, tg://…) автоматически заменяются на
трекинг-ссылку атрибуции /go/<код> этой воронки: без неё клик не
записывается, ttclid не захватывается и конверсии в TikTok не уходят.
Дополнительно вставляется скрипт, который переносит ttclid/utm_* из адреса
лендинга на кнопку. Для сайтов «бизнес-ссылка Telegram» (t.me/m/…) замена не
выполняется — там атрибуция идёт через саму бизнес-ссылку.
Какие события уходят
Активные маппинги видны прямо в карточке трекера — списком вида «Подписка →
CompleteRegistration», «Оплата → Purchase». Каждый маппинг можно включить
или выключить галочкой, не уходя из редактора сайта.
| Точка воронки | Внутреннее событие | Событие TikTok | Данные |
|---|---|---|---|
| Подписка в Telegram-воронке | telegram_subscribe |
CompleteRegistration |
ttclid, идентификаторы пользователя |
| Подтверждённая оплата в CRM | payment_success |
Purchase |
ttclid, value (выручка), currency |
- Purchase формируется, когда платёж по сделке переводится в статус
confirmed(реализованная выручка). Событие идемпотентно по идентификатору
платежа — повторное подтверждение не отправляет дубль. - Если у контакта нет происхождения в рекламной воронке (пришёл не по
ссылке-воронке), событие покупки не отправляется — атрибутировать его к клику
TikTok нельзя.
Шаг 3. Проверить, что события уходят
Самый быстрый способ — кнопка «Тест» в карточке трекера: она отправляет
тестовый PageView через тот же серверный канал, что и реальные доставки
(для TikTok — Events API business-api.tiktok.com), и показывает ответ или
текст ошибки TikTok прямо в карточке. Кнопка активна, когда включён CAPI и
задан Access Token.
Последние доставки трекера доступны там же — ссылка «Последние доставки»
в карточке. Полный журнал событий и их доставок — в разделе «Реклама и
пиксели» сайта. Статусы доставки:
sent— событие принято TikTok;skipped— событие не отправлено. Для TikTok частая причина —
missing_ttclid: у события нет идентификатора клика, атрибутировать нечего;failed— TikTok отклонил запрос; в строке доставки виден код и текст ошибки
TikTok (например, неверный токен →TikTok 401: … (code 40105)).
Важно
Если все доставки failed с ошибкой токена — проверьте Access Token и что он
выпущен для этого Pixel Code. Если TikTok-события уходят в skipped: missing_ttclid — значит трафик пришёл без ttclid (не из TikTok-рекламы или
ttclid не долетел до ссылки-воронки).
Официальная документация TikTok
- Set up and Verify Pixel (создание пикселя)
- Get Started with Events API (создание Access Token)
- About Events API (Help Center)
- Standard Events and Parameters
- Events API 2.0 — обзор (API reference)
- Портал документации TikTok API for Business
В разделах Events API 2.0 ищите подстраницы «Send TikTok Click ID (ttclid)»,
«Events API for CRM» и «Event Deduplication» — они соответствуют тому,
что описано выше (проброс ttclid, серверные события от CRM и дедупликация по
event_id).