Вы запускаете рекламную кампанию в TikTok, а данные о конверсиях приходят с ошибкой 20-30%. Бюджет уходит впустую, оптимизация не работает. Это типичная ситуация, когда пиксель настроен наспех или отсутствует серверная передача. Мы исправляем это, обеспечивая точность до 99% даже при блокировщиках рекламы.
TikTok Pixel — инструмент отслеживания конверсий для рекламы в TikTok. Мы настраиваем его так, чтобы каждая конверсия учитывалась без дублей, а рекламные кампании оптимизировались под реальные покупки, регистрации или подписки. Без пикселя вы тратите бюджет вслепую: до 40% конверсий могут остаться незамеченными из-за блокировщиков и ошибок в браузере. Серверная интеграция окупается уже при умеренном бюджете на рекламу за счёт точности данных.
Как настроить TikTok Pixel?
Шаг 1. Установка базового кода
Разместите следующий код в <head> всех страниц сайта. ID пикселя (PIXEL_ID) замените на ваш из рекламного кабинета. Мы рекомендуем использовать менеджер тегов (GTM) для упрощения обновлений — это сокращает время на внесение изменений в 2-3 раза.
<script>
!function (w, d, t) {
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify",
"instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],
ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};
for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);
ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)
ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){
var i="https://analytics.tiktok.com/i18n/pixel/events.js";
ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,
ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");
o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;
var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)};
ttq.load('PIXEL_ID');ttq.page();
}(window, document, 'ttq');
</script>
Шаг 2. Настройка стандартных событий
Для интернет-магазина достаточно четырёх стандартных событий: ViewContent, AddToCart, InitiateCheckout, CompletePayment. Примеры кода:
// Просмотр товара
ttq.track('ViewContent', {
contents: [{ content_id: productId, content_name: productName }],
value: product.price,
currency: 'RUB'
});
// Покупка
ttq.track('CompletePayment', {
contents: orderItems.map(i => ({ content_id: i.productId, quantity: i.qty, price: i.price })),
value: orderTotal,
currency: 'RUB',
order_id: orderId
});
// Регистрация
ttq.track('CompleteRegistration', { value: 0, currency: 'RUB' });
Для более точного сопоставления пользователей передавайте расширенный матчинг через ttq.identify():
ttq.identify({
sha256_email: sha256(user.email.toLowerCase()),
sha256_phone_number: sha256(normalizePhone(user.phone))
});
Шаг 3. Подключение серверного Events API
Клиентский пиксель может терять 15-20% событий из-за блокировщиков рекламы или ошибок в браузере. Серверный Events API отправляет события напрямую с вашего бэкенда, что повышает надёжность до 99%. Пример на PHP (Laravel):
Http::withToken(env('TIKTOK_ACCESS_TOKEN'))
->post('https://business-api.tiktok.com/open_api/v1.3/event/track/', [
'pixel_code' => env('TIKTOK_PIXEL_ID'),
'event' => 'CompletePayment',
'timestamp' => time(),
'context' => [
'user' => [
'sha256_email' => hash('sha256', strtolower($user->email)),
'sha256_phone' => hash('sha256', normalizePhone($user->phone))
],
'page' => ['url' => $pageUrl]
],
'properties' => [
'contents' => $itemsArray,
'value' => $total / 100,
'currency' => 'RUB'
],
'event_id' => "purchase_{$orderId}"
]);
Важно: передавайте event_id в обоих каналах (клиент и сервер) — это позволяет TikTok дедуплицировать события и избежать завышения конверсий. На практике это снижает расхождение данных с 30% до 2-3%. Потеря 10% конверсий из-за неверной настройки пикселя может стоить бизнесу значительных средств.
Почему серверный Events API критичен для точности трекинга?
Серверный Events API надёжнее клиентского в 2-3 раза — он не подвержен блокировщикам рекламы, ошибкам JavaScript или ограничениям браузеров. Кроме того, серверный способ позволяет передавать дополнительные данные, такие как точный номер заказа или внутренний ID пользователя, что улучшает качество аудиторий для ремаркетинга. Без серверной передачи до 40% покупок могут остаться неотслеженными.
Как избежать расхождения данных?
Расхождение данных возникает из-за дублирования событий, блокировщиков или отсутствия дедупликации. Основные решения:
- Передавайте единый
event_idв клиентском и серверном пикселе. - Используйте
ttq.identify()с расширенным матчингом (email и телефон в SHA256). - Проверяйте, что пиксель загружается только один раз.
- Тестируйте с помощью Pixel Helper и режима тестирования в TikTok Ads.
Эти меры снижают расхождение до 2-3%.
Типичные ошибки при интеграции
| Проблема | Причина | Решение |
|---|---|---|
| Нет данных в рекламном кабинете | Пиксель не установлен или блокируется | Проверьте код через расширение Pixel Helper |
| Расхождение конверсий > 20% | Нет дедупликации или дублирование событий | Передавайте event_id и проверьте, что пиксель загружается один раз |
| События не отправляются | Ошибка в скрипте или конфликт с другими трекерами | Включите консоль браузера и проверьте ошибки JavaScript |
| Расширенный матчинг не работает | Неверный хеш (Sha256) или пустые данные | Убедитесь, что email/телефон нормализованы и захешированы корректно |
Что входит в настройку пикселя под ключ?
Мы выполняем полный цикл работ: от аудита до документирования. Срок — от 1 дня до 1 недели в зависимости от сложности.
| Этап | Результат |
|---|---|
| Аудит текущей системы трекинга | Выявление проблем с существующими пикселями и GTM |
| Установка базового пикселя | Корректный код в <head> на всех страницах |
| Настройка событий (клиент + сервер) | Отправка всех ключевых событий с дедупликацией |
| Тестирование | Проверка через Pixel Helper и режим тестирования в TikTok Ads |
| Документация | Инструкция по поддержке, список событий, описание формата данных |
Стоимость рассчитывается индивидуально. На стоимость влияют: количество событий, необходимость серверной интеграции, наличие GTM, сложность CMS. Закажите аудит текущего трекинга — мы дадим точную оценку и сроки. Свяжитесь с нами для консультации по вашему проекту, поможем настроить трекинг, который окупится на первых же кампаниях.
Опыт: более 30 проектов e-commerce, гарантируем корректную передачу данных и соответствие требованиям TikTok.







