Перейти к содержанию

Кампании

Кампания — единица трекинга: один alias, один домен, один источник и один или несколько потоков. Всё, что вы ставите в рекламный кабинет, — это ссылка кампании.

Создание

Кампании → + Кампания. Мастер из двух шагов: сначала название, alias, домен и источник, затем cost и postback-URL (этот шаг можно пропустить — сервер подставит значения по умолчанию). Обязательное поле одно — название.

Поле Зачем
Alias короткий ID в ссылке /r/{alias}. Уникален в пределах инсталляции. Менять опасно: старые ссылки умрут
Домен tracking-домен, на который приземляется трафик
Источник помечает клики в отчётах и даёт шаблон исходящего постбэка
Состояние active / paused / archived

Alias можно не заполнять — трекер сгенерирует шестисимвольный.

Tracking-ссылка

Готовая ссылка показана в карточке кампании; схему трекер выбирает сам — https, если у домена активен сертификат, иначе http (карточка честно показывает бейдж ⚠ HTTP). Если домена у кампании нет, ссылка строится от PUBLIC_BASE_URL или от адреса, по которому вы открыли панель.

Параметры добавляете сами — макросами рекламной сети:

https://tr.example.com/r/abc123?sub_id_1={{ad.id}}&sub_id_2={{adset.id}}&sub_id_3={{placement}}
  • sub_id_1sub_id_30 — попадают в отчёты, фильтры и макросы;
  • любой другой параметр запроса тоже сохраняется на клике под своим именем и доступен макросом ({fbclid}, {gclid}), но отдельной колонки в отчётах у него нет — для этого его нужно разложить в sub_id_N;
  • само сопоставление «свой параметр → sub_id_N» лежит в поле кампании parameters. В панели его нет: оно заполняется импортом со стороннего трекера или через API.

Параметры fbclid и ttclid, а также куки _fbp и _ttp трекер запоминает отдельно — они нужны CAPI и TikTok Events, настраивать для них ничего не надо.

Ротация, уникальность, cost

Блок настроек, который определяет поведение всей кампании.

Режим ротации — как выбирается поток, когда подошло несколько:

Режим Поведение
by_weight случайный выбор по весам потоков — классический A/B
without_rotation первый подошедший поток, остальные игнорируются
disabled кампания отключена, всегда 204

Залипание посетителя (bind visitor) — повторный клик того же визитора идёт по тому же пути: none (каждый клик ротируется заново), flow, flow+lp, flow+lp+offer.

Что нужно залипанию

Оно живёт в Redis и опирается на visitor id, поэтому не работает без REDIS_URL и при уникальности none. Срок жизни привязки равен TTL уникальности. Если запомненный поток выключили, клик просто проходит обычную ротацию.

Уникальность — как считать «уже видели этого посетителя»:

Метод Комментарий
cookie кука _mv; стабильно, но cookie можно очистить
ip грубо: вся семья за одним NAT = один посетитель
ip+ua IP + User-Agent — рекомендуется для арбитража
none все клики уникальные, visitor id не считается

TTL уникальности — сколько часов посетитель считается «старым». Допустимо от 1 до 8760 (год), 24 часа — типичный выбор. Пустое значение или 0 означает «по умолчанию» и сохраняется как 24 часа; варианта «не сбрасывать никогда» нет.

Cost — как считать расход для ROI:

Режим Что списывается на клике
cpc значение cost целиком
cpm значение cost, делённое на 1000
cpa ноль: расход по конверсиям трекер не считает
manual ноль: расход вносится вне трекера

Cost замораживается в момент клика

Стоимость фиксируется на клике и задним числом не пересчитывается. Поменяли значение cost — оно применится только к новым кликам. Импорта расхода из рекламных кабинетов в трекере нет, поэтому в режимах cpa и manual колонка Spent останется нулевой.

Валюта кампании — USD по умолчанию; поля в панели нет, значение меняется через API. Cost и revenue нормализуются в базовую валюту воркспейса (Настройки) по курсу на дату клика, поэтому отчёты по кампаниям в разных валютах складываются корректно.

S2S postback URL

Адрес источника, куда трекер отправит конверсию. Поддерживает макросы; шаблон обычно даёт сам источник:

https://source.example.com/pb?cid={sub_id_1}&status={status}&payout={payout}

Поле пустое — трекер возьмёт шаблон постбэка источника трафика, привязанного к кампании; URL кампании имеет приоритет. Если конверсии уходят только через FB CAPI или TikTok Events, оставьте пустыми оба.

Это исходящий постбэк

Конверсии от партнёрки принимает общий адрес воркспейса /{postback_key}/postback — у кампании своего входящего адреса нет. Подробно — Входящий постбэк.

Состояние и пауза

Пауза применяется сразу: трекер перезагружает кэш кампаний в момент сохранения. Остановленная (paused) и архивная (archived) кампания на /r/{alias} отвечает 404. Так же работает и автоматическая пауза от авто-правил.

Архив убирает кампанию из списка, но не удаляет её: статистика и клики остаются. Обратная операция (POST /admin_api/v1/campaigns/{id}/unarchive) возвращает кампанию в состояние paused — кнопки в панели для неё нет, и трафик после разархивирования не пойдёт, пока вы не включите кампанию руками.

Клон, экспорт, импорт

Экспорт (кнопка в списке кампаний) отдаёт JSON-бандл: сама кампания и все её потоки. Импорт JSON создаёт из такого файла новую кампанию — с новыми UUID кампании и потоков, суффиксом (imported) в названии и в состоянии paused. Алиас при этом берётся из файла как есть, а он глобально уникален: импорт бандла в ту же инсталляцию, где исходная кампания ещё жива, вернёт 400 с duplicate key value violates unique constraint "campaigns_alias_key". Чтобы положить копию рядом, очистите или измените campaign.alias в JSON — пустое поле трекер заполнит новым алиасом сам.

Бандл переносится внутри одной инсталляции

Домен, источник, лендинги и офферы записаны в нём идентификаторами. При импорте они проверяются на принадлежность вашему воркспейсу, поэтому файл с чужой инсталляции трекер отклонит.

Клонирование (POST /admin_api/v1/campaigns/{id}/clone) делает копию со всеми потоками, новым алиасом и состоянием paused. Массовые операции — архив, состояние, теги, группа — живут по адресам /admin_api/v1/campaigns/bulk/*. Кнопок в панели у клона и bulk-операций нет, это API-функции; см. API.

Теги и группа задаются оттуда же (или приезжают импортом со стороннего трекера) и нужны в первую очередь как область действия авто-правил.

Tracking / MClient

В карточке кампании есть блок с готовыми сниппетами: серверный PHP-клиент, JS-клиент и пиксель конверсии. Это способ трекинга без редиректа, когда решение принимает ваш собственный скрипт — см. SDK и клиенты.