Как работает трекинг
AlterCPA TOP является источником постбэков. Когда лид меняет состояние, мы отправляем HTTP-запрос на URL, который вы настроили для этого события — прямо в ваш трекер. Мы только отправляем постбэки; мы никогда их не получаем.
Параметр {click}, встраиваемый в диплинк, является мостом: он путешествует
от вашей рекламы → вашего трекера → AlterCPA TOP → обратно в ваш трекер при
отправке постбэка. Ваш трекер использует его для сопоставления нашего постбэка
с исходной записью клика.
Пять событий (= статусы лидов)
| Событие | Когда срабатывает | Условие? |
|---|---|---|
wait | Подписчик нажал «Старт» в боте | Нет — срабатывает всегда |
hold | Заявка на вступление отправлена (чаты с одобрением заявок) | Нет — срабатывает всегда |
approve | Подписчик вступил, или заявка была одобрена | Нет — срабатывает всегда |
cancel | Подписчик покинул добровольно | Только в рамках окна отписки |
trash | Подписчик был исключён или заблокирован | Только в рамках окна отписки |
Выход после окна отписки всё равно переводит лид в cancel / trash,
но постбэк не отправляется. Окно настраивается для каждой кампании.
Справочник макросов
Макросы подставляются в ваши URL постбэков перед их отправкой. Они также работают в URL CPA-кнопки в приветственном сообщении.
| Макрос | Значение |
|---|---|
{click} | Идентификатор клика из диплинка — связь с вашим трекером |
{status} | wait / hold / approve / cancel / trash |
{campaign} | Код кампании |
{user} | Ваш user id в AlterCPA TOP |
{lead} | Внутренний id лида — полезен как ключ дедупликации |
{subscriber} | Telegram user id подписчика |
{username} | @username подписчика (может быть пустым, если у пользователя нет username) |
{chat} | Id отслеживаемого чата |
{time} | UNIX-временная метка события |
Неизвестные макросы остаются без изменений. Пустые значения становятся пустыми строками.
Глобальные vs. постбэки кампании
У вас есть два места для настройки URL постбэков:
- Профиль (глобальные) — пять шаблонов, настраиваемых один раз и повторно используемых везде.
- Кампания (на уровне кампании) — пять шаблонов для конкретной кампании.
Правило — всё или ничего для каждой кампании:
- Кампания устанавливает любой из пяти шаблонов → использует свой набор как есть (пустые поля в кампании означают «нет постбэка для этого события»).
- Кампания не устанавливает ни одного → использует глобальные шаблоны из Профиля.
Это означает: если вы переопределяете один постбэк в кампании, вам нужно настроить все пять, которые вам нужны, в этой кампании — нет «проваливания» через события.
Правила доставки
- Только GET. Мы выполняем простой HTTP GET. Каждый трекер, с которым мы работаем (AlterCPA Lite, Keitaro, Binom, …), принимает GET-постбэки.
- Только публичные хосты. Ваши URL проверяются по SSRF-блоклисту — все локальные, приватные/RFC1918, link-local и IP адреса метаданных облаков отклоняются. Принимаются только публичные имена хостов и IP-адреса.
- Повтор с отсрочкой. Сбои ставятся в очередь повтора: 1 мин → 5 мин → 30 мин → 2 ч → 6 ч. После последнего повтора событие логируется как неуспешное.
- Успех = HTTP 2xx (и тело
{"status":"ok"}для AlterCPA Lite). - Идемпотентность на лид/событие — мы не повторяем отправку события для одного лида, если не произошёл новый переход.
Окно отписки
Вступление ───────────────────── Выход
│◀──────── окно отписки ──▶│
│ │
▼ ▼
Выход внутри окна: Выход за пределами окна:
cancel / trash cancel / trash
(постбэк отправляется) (постбэк подавляется)Окно 0 означает «отправлять всегда» (без срока). Типичные значения: 1 день,
7 дней, 30 дней. Устанавливается для каждой кампании в редакторе.
Следующие шаги
Выберите ваш трекер, чтобы получить готовую настройку постбэков:
- AlterCPA Lite — рекомендуется; автоматическая настройка одним кликом
- AlterCPA Pro
- Keitaro
- Binom
- Любой другой трекер