Кампании¶
Кампания — единица трекинга: один alias, один домен, один источник и один или несколько потоков. Всё, что вы ставите в рекламный кабинет, — это ссылка кампании.
Создание¶
Кампании → + Кампания. Мастер из двух шагов: сначала название, alias, домен и источник, затем cost и postback-URL (этот шаг можно пропустить — сервер подставит значения по умолчанию). Обязательное поле одно — название.
| Поле | Зачем |
|---|---|
| Alias | короткий ID в ссылке /r/{alias}. Уникален в пределах инсталляции. Менять опасно: старые ссылки умрут |
| Домен | tracking-домен, на который приземляется трафик |
| Источник | помечает клики в отчётах и даёт шаблон исходящего постбэка |
| Состояние | active / paused / archived |
Alias можно не заполнять — трекер сгенерирует шестисимвольный.
Tracking-ссылка¶
Готовая ссылка показана в карточке кампании; схему трекер выбирает сам —
https, если у домена активен сертификат, иначе http (карточка честно
показывает бейдж ⚠ HTTP). Если домена у кампании нет, ссылка строится от
PUBLIC_BASE_URL или от адреса, по которому вы открыли панель.
Параметры добавляете сами — макросами рекламной сети:
sub_id_1…sub_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¶
Адрес источника, куда трекер отправит конверсию. Поддерживает макросы; шаблон обычно даёт сам источник:
Поле пустое — трекер возьмёт шаблон постбэка источника трафика, привязанного к кампании; 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 и клиенты.