JS Tracking

JS Tracking — способ учитывать клики и конверсии через JavaScript на лендинге, когда реклама ведёт сразу на вашу страницу, а не на campaign URL с redirect. Типичные случаи: требования Facebook/Google/TikTok к «прямому» URL лендинга, лендинг на своём хостинге, или нужно вызвать конверсию из браузера через trk.conversion.

Задача. Вставить сниппет, убедиться что клик пишется в Logs, получить subid/click_id для форм и postback, при необходимости зарегистрировать конверсию из JS — без обязательного редиректа через alias кампании.

Вкладка JS Tracking
Кампания → вкладка JS Tracking: Redirect Mode и fingerprint.

Предварительные условия

Кампания уже создана, выбран tracking-домен с рабочим HTTPS. Лендинг доступен по HTTPS. Если список Allowed domains будет заполнен — домен лендинга должен совпадать (или быть поддоменом разрешённого). Пиксели рекламы настраиваются на вкладке Pixels, не здесь.

Как открыть

  1. Боковое меню → Campaigns → откройте нужную кампанию.
  2. Перейдите на вкладку JS Tracking (не отдельный пункт меню).
  3. Скопируйте сниппет и при необходимости настройте Redirect Mode, Allowed domains, token.

Установка сниппета — по шагам

JS-сниппет кампании
Token, Allowed domains и готовые сниппеты script / conversion / getSubid.
  1. Скопируйте тег <script> со вкладки. По умолчанию путь скрипта — /t/t.js на tracking-домене кампании (например https://trk.example.com/t/t.js). Алиасы путей, если меняли стандарт, живут в Settings → Track Paths.
  2. Вставьте сниппет в <head> каждой страницы воронки, где должен учитываться визит (не только «спасибо»). Скрипт грузится асинхронно; после загрузки доступен window.trk.
  3. Откройте лендинг в браузере как обычный пользователь (с UTM/параметрами источника, если они нужны для sub_id). Обновите Logs → Clicks: должен появиться клик кампании.
  4. На странице «спасибо» или в обработчике формы вызовите конверсию через API (ниже) или положитесь на S2S postback партнёрки по subid/clickid — оба канала могут работать параллельно.

Пример установки (подставьте свой домен и token из UI):

<script async src="https://trk.example.com/t/t.js" data-token="TOKEN"></script>

Redirect Mode — когда включать

Выключен — flow не делает redirect; учёт идёт через сниппет на лендинге. Так обычно работают «прямые» лендинги в рекламе. Включён — разрешён redirect из flow как у классического tracking URL. Включайте только если сознательно совмещаете JS-учёт и redirect-пути.

Public JavaScript API (пользовательские вызовы)

После загрузки скрипта:

  • trk.getSubid() — subid посетителя; передавайте в скрытые поля форм и в URL postback, если собираете lead на своей стороне.
  • trk.getClickId() — click_id последнего клика.
  • trk.conversion({ status, payout, currency, external_id }) — регистрация конверсии из браузера.

Пример на thank-you:

trk.conversion({ status: 'lead', payout: 10, currency: 'USD' });

Не вызывайте conversion до готовности window.trk (дождитесь load скрипта или используйте колбэк/повтор при отсутствии объекта).

Как ведёт себя клик (без «внутренностей»)

Каждая загрузка страницы со сниппетом создаёт клик. Первый визит в пределах uniqueness кампании — уникальный; refresh/новый таб до истечения Uniqueness TTL — неуникальный. Очень частые дубли в коротком окне (порядка десятков секунд) сервер может схлопнуть — не пугайтесь, если двойной refresh не дал два клика. Идентификатор посетителя хранится в cookie/localStorage (ключ вида _v + префикс token) — очистка storage даст новый «первый» визит.

На уровне кампании (Settings) профиль identity / fingerprint (off / balanced / extended) влияет на то, насколько жёстко связывается посетитель при JS-трекинге. Меняйте только если понимаете влияние на уникальность и антифрод.

Allowed domains и Regenerate token

Если Allowed domains не пуст, запросы с других Origin отклоняются. Указание example.com обычно покрывает и поддомены — уточняйте по фактическому поведению вашего лендинга (www / без www). Regenerate token мгновенно инвалидирует старый token: обновите все вставленные сниппеты и любые захардкоженные ссылки, иначе клики пропадут «внезапно».

Если в UI показан PHP Connect — это опциональный серверный фрагмент для интеграции на бэкенде лендинга; для чистого JS-сценария достаточно script-тега.

Связь с Pixels

Вкладка Pixels настраивает отправку в рекламные SDK. При trk.conversion статусы маппятся на события кабинетов (например lead → Lead / generate_lead, sale → Purchase / purchase — см. подсказки в UI пикселей). Настраивайте пиксели отдельно, после того как клики уже пишутся через JS Tracking.

CSP и сеть

Если на лендинге строгий Content-Security-Policy, добавьте tracking-домен в script-src, иначе браузер заблокирует /t/t.js. В DevTools → Network должен быть успешный запрос скрипта и последующие запросы трекера; в Console не должно быть CSP/CORS ошибок по tracking-домену.

Типичный порядок работ

  1. Кампания + домен HTTPS готовы.
  2. Вкладка JS Tracking → скопировать сниппет → вставить в head.
  3. Проверить клик в Logs.
  4. Прокинуть subid в форму / thank-you → conversion или S2S.
  5. При необходимости — Allowed domains, затем Pixels.

Частые ошибки

  • Сниппет только на thank-you — кликов «с рекламы» нет; ставьте на все входные страницы.
  • Allowed domains с опечаткой / без www — 403, кликов нет.
  • CSP без tracking-домена — script не грузится.
  • Ждут отдельный раздел «JS Tracking» в меню — его нет, только вкладка кампании.
  • После Regenerate token забыли обновить лендинг — внезапный обрыв кликов.
  • Путают JS Tracking и Pixels — без сниппета пиксели не создают клики трекера.