Что такое постбэк — на пальцах
Постбэк — это маленькое уведомление, которым один сервис говорит другому: «у тебя произошло событие». Регистрация, депозит, отказ — всё это события. Постбэк — способ их передавать в реальном времени по интернету.
В нашей платформе постбэки ходят в две стороны:
- От рекламодателя к нам. Игрок зарегистрировался / положил депозит — рекл нам об этом стучит, мы записываем конверсию в системе.
- От нас к партнёру. Конверсия записалась, прошла проверки — мы стучим в трекер партнёра, чтобы у него появилось то же событие.
Технически постбэк — это обычная HTTP-ссылка, по которой одна система «дёргает» другую. Никаких архивов, паролей, ручных загрузок — данные передаются мгновенно.
Как всё работает целиком
Пройдём по шагам, как одна регистрация добирается от партнёра до его выплаты:
- Партнёр льёт трафик по своей ссылке (она содержит наш
click_id). - Игрок переходит, попадает к рекламодателю.
- Игрок регистрируется. Рекл шлёт нам постбэк с этим
click_idи событием «регистрация». - Мы ловим постбэк, привязываем к нужному клику и партнёру, считаем выплату.
- Если конверсия прошла наши правила, мы стучим в постбэк-ссылку партнёра.
- Партнёр видит конверсию в своём трекере и получает выплату.
Главное правило: в каждой постбэк-ссылке должен быть click_id — это «номер билета», по которому система понимает, к какому клику привязать событие.
Шаг 1. Настраиваем рекламодателя
Цель: чтобы каждый раз, когда у рекла произошло событие, он автоматически дёргал нашу ссылку и тем самым отдавал нам конверсию.
Что отдать рекламодателю
Высылаем шаблон. Это наша ссылка — мы её принимаем, не рекл.
https://sftshrt.space/postback?click_id={CLICK_ID}&goal=reg
На что обратить внимание:
{CLICK_ID}— это плейсхолдер на стороне рекла. Он должен сам подставить туда реальныйclick_id. У разных рекламодателей этот плейсхолдер называется по-разному:{clickid},[clickid],%CLICK_ID%и т.д.goal=reg— для регистрации. Для депозита —goal=dep, для FTD —goal=ftd. Алиасы целей согласуем с реклом заранее (карточка оффера → Цели).
Если есть сумма депозита
https://sftshrt.space/postback?click_id={CLICK_ID}&goal=dep&deposit_sum={AMOUNT}¤cy=USD
Если рекл отдаёт сумму депозита — добавляем deposit_sum и явную currency. Выплата партнёру всё равно считается у нас по тарифу оффера, но статистика по реальным депам будет под рукой.
Если рекл присылает отклонения
https://sftshrt.space/postback?click_id={CLICK_ID}&goal=dep&status=declined&declined_reason=duplicate
На отклонение нам нужны status=declined + любая причина в declined_reason. Без причины систему намеренно роняем — иначе ломается аналитика качества трафика.
Шаг 2. Настраиваем партнёра
Цель — чтобы при каждой нашей одобренной конверсии партнёр получал стук в свою постбэк-ссылку.
Что попросить у партнёра
Постбэк-ссылку его трекера. Внутри неё должны быть наши макросы вида {click_id} в фигурных скобках, на место которых мы вставим реальные значения.
https://tracker.partner.com/postback?cid={click_id}&goal={goal}&amount={payout}¤cy={currency}&sub1={sub1}
Слева от = — имя параметра в трекере партнёра. Справа — наш макрос в фигурных скобках.
Куда вставлять
- Глобальный постбэк партнёра — один URL на все офферы. Карточка партнёра → вкладка «Постбэки». Когда у партнёра один трекер на всё.
- Постбэк под конкретный оффер — карточка оффера → вкладка «Постбэки». Когда нужен отдельный URL или другой набор параметров.
Если у партнёра по этому офферу есть и глобальный, и кастомный постбэк — сработает только кастомный. Он перебивает глобальный.
Обязательное правило
В URL партнёра обязательно должен быть макрос {sub1}. Большинство трекеров используют sub1 как ключ привязки, и без него мы такую ссылку не сохраним.
Макросы
Макрос — это «волшебное слово в фигурных скобках», которое мы заменим на реальное значение в момент отправки.
Самые нужные
| Макрос | Что подставится |
|---|---|
{click_id} |
«Номер билета» клика. Обязательно в любом постбэке. |
{goal} |
Цель: reg, dep, ftd и т.д. |
{payout} |
Сумма выплаты партнёру в валюте оффера. Алиасы: {revenue}, {sum}. |
{currency} |
Код валюты (USD, EUR …). По умолчанию USD. |
{status} |
Статус: approved, declined, pending, hold. |
{sub1} … {sub8} |
Произвольные значения, которые партнёр сам передал нам в клик. |
{deposit_sum} |
Сумма реального депозита (если рекл её передал). |
{country} |
Страна игрока (ISO-2, например DE). |
{conversion_id} |
Внутренний номер конверсии в нашей системе. |
Реже нужные
| Макрос | Что подставится |
|---|---|
{offer_id} |
Внутренний номер оффера. |
{offer_name} |
Название оффера. |
{aff_id} |
Внутренний номер партнёра. |
{source} |
Источник трафика, если был передан. |
{creative_id} |
ID креатива. |
{ip} |
IP игрока на момент клика. |
{user_agent} |
Браузер/устройство на момент клика. |
{datetime} |
Дата и время конверсии (UTC). |
Если макрос не из этих списков — система откажется сохранить URL. Так мы защищаем от опечаток.
Как проверить, что всё работает
В платформе две точки:
- Карточка оффера → «Постбэки». Кнопка «Отправить тест» — посылает партнёру тестовый постбэк с реальным
click_id. В статистике конверсия НЕ появится, но партнёр увидит её в трекере. - Меню «Постбэки» → «Логи». Каждое обращение к нам и каждая попытка достучаться до партнёра логируется. Видно URL до подстановки и после.
Чтобы рекл прислал тест без загрязнения статистики, пусть добавит в URL
is_test=1. Такие конверсии запишутся в логи, но не попадут в отчёты и финансы.
Что делать, если не работает
Конверсии от рекла не приходят
- Открой Постбэки → Логи. Был ли вообще запрос от рекла? Если нет — он не настроил, либо неправильный URL. Сверь с тем, что отдавал.
- Если запрос пришёл, но в логе click_id_not_replaced — рекл шлёт буквальную строку
{CLICK_ID}. Нужно, чтобы он использовал свой плейсхолдер. - Если ошибка про неизвестный
goal— алиас цели не совпадает с настройками оффера.
Партнёру не доходят постбэки
- В логах смотри тип записи outgoing по этому партнёру/офферу. Если записей нет — конверсия либо не одобрена, либо отрезана оптимизацией.
- Если запись есть, но HTTP-ответ от партнёра не 2xx — копируй URL, открой в браузере, посмотри что говорит трекер.
- Если URL партнёра выглядит криво (макрос не подставлен) — у партнёра опечатка в имени макроса. Иди в его постбэки и почини.
90% проблем — это либо неправильный плейсхолдер у рекла, либо опечатка в макросе у партнёра. Прежде чем писать в техподдержку — глянь логи.