TikTok Events API через server-side GTM: серверный трекинг для e-commerce
TikTok как канал многие до сих пор недооценивают, а зря — для e-commerce он отдаёт дешёвый трафик, если правильно кормить алгоритм данными. А правильно кормить — это серверный трекинг, а не голый браузерный пиксель, который режется блокировщиками и iOS.
Логика та же, что у Meta CAPI: дублируете события с сервера, возвращаете потерянное, поднимаете качество матчинга. TikTok просто чуть менее популярен, поэтому русскоязычных гайдов с кодом почти нет.
Зачем вообще серверная отправка
Браузерный пиксель теряет события. Блокировщики, ITP, ограничения iOS — всё это съедает часть конверсий ещё до того, как они дойдут до TikTok. Алгоритм недополучает данные и хуже оптимизируется. Серверная отправка идёт в обход браузера и возвращает то, что терялось.
Архитектура
Клиент → ваш серверный GTM-контейнер → TikTok Events API. Серверный контейнер обычно разворачивают на Stape, привязывают к собственному поддомену, и через него события уходят в TikTok напрямую, минуя капризы браузера.
Поддомен тут не для красоты — события в first-party контексте живут дольше и реже режутся. Если гоните через сторонний домен, теряете часть преимущества.
Маппинг событий
Для каталога и динамики обязательны content_id, value, currency. Плюс event_id для дедупликации. Пропустите content_id — не соберёте динамический ремаркетинг по товарам. Пропустите value — не сможете оптимизироваться на выручку, только на факт покупки.
Это та часть, где люди ленятся и потом удивляются, почему DPA не крутится. Каталог требует точного маппинга, абы как не сработает.
Дедупликация — снова event_id
Если событие летит и из браузерного пикселя, и из серверного API — нужен единый event_id, чтобы TikTok не посчитал покупку дважды. Тот же принцип, что в Meta. Генерите один ID, прокидываете в оба канала.
TikTok тут чуть отличается деталями реализации от Facebook, но идея идентична: одно событие — один ID в обоих источниках.
Проверка
Test event code в TikTok Events Manager. Запускаете тестовое событие, смотрите, доходит ли оно с правильными параметрами. Если параметры пустые или событие не видно — где-то порвался маппинг в серверном контейнере.
Тейк: TikTok без серверного трекинга — это TikTok вполсилы. Алгоритм у них агрессивно учится на данных, и чем чище и полнее вы его кормите, тем дешевле он отдаёт конверсии. Большинство льёт на голом пикселе и жалуется на «дорогой TikTok». Дорогой он, потому что слепой.