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

Постбэк в арбитраже: настройка S2S, статусы и 5 сбоев

Постбэк в арбитраже: настройка между ПП, Keitaro и площадкой. Сравнение трёх сетей, проверка статусов и выплат, пять сбоев и чек-лист до запуска рекламы…

Постбэк в арбитраже: настройка S2S, статусы и 5 сбоев

Постбэк в арбитраже это сообщение от партнёрской сети в трекер о заявке, продаже или смене статуса. Оно связывает результат с конкретным рекламным кликом. Байеру постбэк нужен, чтобы видеть оплаченные действия по объявлениям и передавать подходящие события обратно рекламной площадке.

Ниже соберём цепочку S2S на примере Keitaro, сравним параметры AFF1, Admitad и MyLead, разберём пять сбоев. Отдельно посчитаем, почему одна ошибка в макросе выплаты увеличивает доход в отчёте в 100 раз. Справки и цены проверены 6 ноября 2026 года.

Как работает постбэк между партнёркой, трекером и площадкой

Обычно здесь две независимые отправки. Сначала ПП, партнёрская программа или сеть, сообщает трекеру о результате. Затем трекер отправляет выбранное событие источнику трафика. Наличие продажи в отчёте Keitaro ещё не означает, что площадка получила её для оптимизации.

Путь посетителя идёт в другую сторону: из рекламы через трекер на оффер. По дороге трекер выдаёт клику свой номер и передаёт его партнёрке. Когда заявка меняет статус, сеть возвращает этот номер. Благодаря этому продажа попадает к нужному объявлению, а не просто увеличивает общий счётчик.

Такой обмен называется S2S, от server-to-server: сообщение идёт между серверами. S2S не зависит от того, открыл ли человек страницу благодарности. Но номер клика всё равно должен сохраниться при переходе на оффер. UTM-метки описывают источник и кампанию, а не заменяют эту связь; разница разобрана в гайде по UTM-меткам.

Схема двух отправок: партнёрка возвращает статус трекеру, трекер передаёт событие площадке
Посетитель идёт на оффер, а сведения о результате возвращаются назад. Номеров два: рекламный click ID между площадкой и Keitaro, subid между Keitaro и партнёркой.

Пиксель решает соседнюю задачу: сообщает о действиях в браузере. Он может увидеть отправку формы сразу, но решение ПП об апруве приходит позже. Поэтому полезно разделять заявку, подтверждённую конверсию и деньги, доступные к выводу. Эти этапы объясняем в статье о пути лида от клика до выплаты.

Какие параметры нужны для настройки постбэка

Сначала проверьте номер клика и статус. Без них бессмысленно разбираться с доходом и рекламным API. По справке Keitaro на 06.11.2026 входящему сообщению обязательны subid и status. Выплата и валюта передаются дополнительными параметрами.

Что передаёмПараметр KeitaroЧто проверить байеру
Номер клика трекераsubidТочно тот же номер, который ушёл в ПП при переходе
Состояние конверсииstatusЗаявка, подтверждение и отказ не смешаны в одну продажу
Ваше вознаграждениеpayout и currencyНе сумма заказа; верные денежные единицы и валюта
Номер отдельной транзакцииtidНужен для нескольких конверсий одного клика; при повторе той же транзакции не меняется
Таблица прокручивается вбок
Скриншот документации Keitaro с обязательными параметрами subid и status
Во входящем постбэке Keitaro обязательны subid и status. Остальные поля дополняют результат. Снимок 06.11.2026.

subid не равен номеру заказа в партнёрке. Один покупатель может вернуться и сделать другую покупку, поэтому номер клика и номер транзакции хранят отдельно. Случайный новый tid при каждом повторе сообщения способен превратить одну продажу в несколько.

Есть ещё номер рекламного клика. В стандартном S2S-шаблоне источника Keitaro использует {external_id}. Это другая связь: по ней площадка узнаёт своё рекламное действие. Не подставляйте вместо неё {subid}, если документация источника требует его собственный click ID.

Макрос, или токен, это заготовка для значения. При отправке сеть заменяет {clickid} номером клика, а {payout} суммой. Если в полученном сообщении остался текст со скобками, подстановка не сработала. Сравните полученное значение с номером клика, который ушёл на оффер.

Почему один шаблон не подходит трём партнёркам

Названия похожи, смысл может отличаться. Особенно опасно переносить из другой ПП статусы и выплату. Мы сопоставили публичные инструкции AFF1, Admitad и MyLead: во всех трёх нужно сохранить номер клика, но читать результаты одинаково нельзя.

ППНомер кликаПодтверждениеВаш заработок
AFF1В ссылке clickid, обратно {clickid}{type}=lead_approve; заявка lead_add, отказ lead_cancel{payout} в валюте {currency}.
AdmitadДля click ID справка рекомендует subid4; вернуть значение subid4payment_status=approved. Тип type=sale описывает действие, а не подтверждение денегpayment_sum и currency. Не брать order_sum, сумму заказа
MyLeadВ ссылке ml_sub1, обратно [ml_sub1][status]; событие Available to pay означает доступность выплаты. Коды [status] в этой справке не перечислены[payout_decimal] в денежных единицах; [payout] в центах
Таблица прокручивается вбок

AFF1: создание заявки не равно подтверждению

В справке AFF1 на 06.11.2026 номер внешнего клика возвращает {clickid}. События в {type}: lead_add, lead_approve и lead_cancel. Их нужно сопоставить соответственно с заявкой, подтверждением и отказом. Выплата {payout} приходит в валюте оффера, которую передаёт {currency}.

Отдельная ловушка находится в Account Settings / Global postback: переключатель Use as a priority s2s postbacks at flow level. По умолчанию приоритет включён, и при наличии постбэка потока глобальная отправка пропускается. Отключите приоритет, и уйдут оба сообщения. При дублях сначала проверьте именно эту настройку.

Admitad: тип продажи и статус денег это разные поля

В инструкции Admitad на 06.11.2026 поле type описывает тип действия: lead или sale. А подтверждение вознаграждения хранится в payment_status. Справка допускает последующее изменение или отмену такого заказа. Поэтому значение sale само по себе не подтверждает деньги.

У payment_status есть new, approved, declined и pending. Последнее означает, что ранее подтверждённый платёж вернулся в холд. Для дохода нужен payment_sum, то есть заработок вебмастера. order_sum содержит сумму заказа покупателя. Подмена одного другим завышает выручку.

Скриншот справки Admitad с payment_sum и четырьмя статусами payment_status
Admitad разделяет сумму заработка, статус платежа и сумму заказа. Для подтверждённого дохода недостаточно одного type=sale. Снимок 06.11.2026.

MyLead: одна сумма в двух единицах

По руководству MyLead на 06.11.2026 номер клика можно передать в ml_sub1 и вернуть токеном [ml_sub1]. Для выплаты есть [payout_decimal] и [payout]. Первый отдаёт денежную сумму, второй её значение в центах. В официальном примере это 4.00 и 400.

Посчитаем на этих публичных числах. Правильная сумма: 400 центов разделить на 100, получится 4.00. Если трекер ждёт денежные единицы, а получает 400 без преобразования, отчёт показывает сумму в 100 раз больше: 400 разделить на 4.00. Это ошибка учёта, никакой дополнительной выплаты байер не получает.

Скриншот MyLead с пояснением payout_decimal 4.00 и payout 400
Официальный пример MyLead: 4.00 в денежных единицах и 400 в центах. Неверный токен может увеличить доход в отчёте в 100 раз. Снимок 06.11.2026.

Не исправляйте такой отчёт делением «всегда на 100». В другой сети сумма уже может быть в денежных единицах. Выберите правильный токен в конкретной ПП и сравните выплату одной конверсии с её карточкой. При режиме MyLead Any добавьте [status], чтобы различать изменения состояния.

Именно поэтому шаблон от менеджера нужно читать, а не просто вставлять. До запуска выпишите четыре вещи: где хранится номер клика, какие статусы оплачиваются, что означает сумма и в какой она валюте. Ставку и оплачиваемое действие берите из условий конкретного оффера.

Настройка постбэка Keitaro на примере AFF1

Сначала соберите участок «клик и возврат статуса», затем подключайте рекламную площадку. Порядок опирается на официальную инструкцию AFF1 для Keitaro, сверенную 06.11.2026. Понадобятся ваша кампания, доступ к офферу и публичный домен трекера со статусом OK.

  1. Передайте номер клика. В Keitaro откройте Affiliate Networks / Create / From template / AFF1, затем проверьте Offer parameters. Нужна строка clickid={subid}. Добавляйте её через параметры сети в трекере либо в ссылку потока AFF1, одним способом. Результат: в ссылке на оффер параметр clickid присутствует один раз.
  2. Откройте ссылку кампании. Используйте Campaign URL из Keitaro, не прямую ссылку ПП. Результат: лендинг AFF1 загрузился, в статистике кампании появился клик. Найдите subid этого перехода в Reports / Click log. Запишите номер, чтобы дальше проверять тот же клик.
  3. Возьмите адрес получателя. В Keitaro откройте Settings / Postback URL. Сохраните домен и ключ (Postback key) в пути, параметры заполните токенами AFF1. Дополнительный ориентир: справка Keitaro по адресу партнёрского постбэка. Результат: в URL стоит ваш домен, а не tracker.example, и ваш ключ вместо POSTBACK_KEY.
  4. Создайте отправку в ПП. В AFF1 откройте Tools / Flows, свой поток, Postback, затем Create postback. Выберите Type s2s, события Creating lead, Confirming lead и Cancelling lead. Вставьте URL, выберите метод GET и нажмите Add. Адрес должен быть публичным: иначе AFF1 отвечает «The url must point to a public address». Результат: отправка появилась в списке постбэков потока.

Для Keitaro в адресе нужны три параметра соответствия статусов. Они объясняют, чем считать события AFF1. Без такого сопоставления неизвестный статус даст Conversion type not found, конверсия не запишется. В адресе ниже замените tracker.example и POSTBACK_KEY на свой домен и ключ.

https://tracker.example/POSTBACK_KEY/postback?subid={clickid}&status={type}&payout={payout}&currency={currency}&lead_status=lead_add&sale_status=lead_approve&rejected_status=lead_cancel
Событие AFF1Тип в KeitaroГде видна выручка
lead_add, заявка созданаLeadRevenue (hold), выплата не подтверждена
lead_approve, заявка подтвержденаSaleRevenue (confirmed), подтверждённый доход
lead_cancel, заявка отмененаRejectedRevenue (rejected), отклонённый доход
Таблица прокручивается вбок

Ниже форма из публичной справки AFF1. Вставьте в неё свой URL по примеру выше: на снимке показана общая заготовка без ключа Keitaro и параметров соответствия статусов.

Форма Create postback из публичной справки AFF1: три события, URL и метод GET
Форма из публичной справки AFF1. Поле URL выделено рамкой; используйте свой адрес с ключом и соответствием статусов. Снимок 06.11.2026.

Проверьте результат разрешённым тестом. Согласуйте тестовую заявку с менеджером ПП, используя настоящий subid из шага 2. Кнопка «тест» сама по себе не проверяет связь: сеть может подставить REPLACE вместо номера клика. Тогда сообщение Click for subid REPLACE not found ожидаемо, это не значит, что настройка сломана.

REPLACE после кнопки теста ожидаем. В событии после настоящего клика это уже заглушка вместо номера. Проверьте макрос возврата: у AFF1 в адресе Keitaro должен стоять subid={clickid}, не subid=REPLACE.

После согласованного теста откройте в Keitaro Maintenance / Logs / Postbacks. Нужна строка Received postback с вашим subid и status=lead_add. Затем в Reports / Conversions найдите тип Lead: в колонке Status останется исходное значение lead_add. На стороне AFF1 отправку смотрят в Tools / Postback logs.

Дальше проверьте согласованное подтверждение или отказ: тип конверсии должен измениться по таблице. Сумму сверяйте с вознаграждением в ПП. Лишь после этого переходите к рекламной площадке. В Admitad тестовые значения GET-запроса можно редактировать: если пользуетесь этой проверкой, укажите настоящий SubID своего клика.

Как передать конверсию рекламной площадке

Сначала решите, какое действие должна получать площадка. Для оптимизации по заявкам подходит событие отправки формы. Для оптимизации по качеству нужен подтверждённый результат. Не называйте любой новый лид покупкой: так вы сами смешаете разные цели.

В разделе S2S Keitaro на 06.11.2026 исходящую отправку настраивают в кампании, на вкладке S2S Postbacks. Шаблон источника может добавить её автоматически: проверьте готовую запись перед созданием второй. Выбирают адрес, метод и статусы. Проверьте номер рекламного клика в {external_id} и отметьте те состояния, которые действительно нужно передавать источнику.

Скриншот Keitaro о проверке external_id и статуса для исходящего S2S-постбэка
Входящий результат и исходящая отправка проверяются отдельно. Для источника нужен его идентификатор клика и разрешённый статус. Снимок 06.11.2026.

Рекламная сеть может принимать обычный URL с click ID, а крупным площадкам нужна отдельная интеграция: Meta Conversions API, TikTok Events API или импорт конверсий Google. Нельзя взять произвольный адрес из шаблона другой сети и ожидать, что Facebook примет продажу. Для Meta есть отдельный гайд по Keitaro и CAPI, для TikTok разбираем пиксель и Events API.

Для встроенной интеграции Google Ads в Keitaro справка на 06.11.2026 указывает отправку с интервалом 6 часов и проверку в S2S-логах. Не отправляйте одну продажу заново только потому, что она ещё не появилась в Google.

Для собственного скрипта или стороннего коннектора попросите разработчика подтвердить актуальный способ импорта конверсий. В справке Google на 06.11.2026 для прежнего метода UploadClickConversions указаны ограничения доступа и переход на Data Manager API. Копировать старый скрипт без этой проверки не стоит.

Если одно действие отправляют и пиксель, и сервер, согласуйте их идентификатор события. В справке TikTok о дедупликации на 06.11.2026 для одинакового события по двум каналам требуется общий event_id. TikTok сверяет одинаковые event и event_id в окне 48 часов. Поэтому при повторной отправке одного события оставляйте прежний номер, для другого заказа используйте новый.

Проверьте сначала приём в диагностике событий, затем рекламный отчёт. По той же справке Google импортированная конверсия учитывается на дату показа, связанного с исходным кликом, и может появиться не сразу. Разные даты в двух отчётах ещё не повод отправлять продажу заново.

Сколько стоит S2S и какой тариф нужен

В тарифах Keitaro нет отдельной подписки на S2S. В сравнении редакций Keitaro на 06.11.2026 приём постбэков и обычная S2S-отправка отдельной платной строкой не выделены. Разница в цене появляется, когда вам нужны встроенные интеграции площадок и другие возможности тарифа.

Для встроенного Facebook Conversions достаточно Advanced. Для Google Ads и TikTok нужен Expert. В Starter нет встроенной интеграции Facebook и Click API. Если трекер уже оплачен, сначала проверьте свой план: повторно покупать приём результатов от ПП не требуется.

Ниже публичный прайс Keitaro на 06.11.2026. Годовые ставки приведены за месяц при оплате года. Сервер и домен оплачиваются отдельно, это не полный бюджет запуска.

ПланПомесячноПри оплате годаДомены / пользователиВстроенные интеграции
Starter49 € в месяц40 € за месяц1 / 1Без Facebook, Google Ads и TikTok
Advanced89 € в месяц72 € за месяц100 / 1Facebook; без Google Ads и TikTok
Expert129 € в месяц104 € за месяц500 / до 5Facebook, Google Ads и TikTok
Таблица прокручивается вбок

Посчитаем доплату под задачу. Переход со Starter на Advanced ради встроенного Facebook Conversions добавляет 40 € в месяц: 89 минус 49. При оплате года разница месячных ставок составляет 32 €: 72 минус 40. Переход с Advanced на Expert ради Google Ads или TikTok даёт такую же доплату: 40 € помесячно либо 32 € по годовой ставке.

Скриншот публичных индивидуальных тарифов Keitaro с выбранным периодом оплаты
На снимке включён Yearly: у Advanced указано 72 € за месяц при оплате года. Это цена за месяц при оплате сразу за год; помесячно Advanced стоит 89 €. Снимок 06.11.2026.

Не выбирайте Expert ради самого слова S2S. Выпишите площадки, нужные интеграции, сотрудников и домены, затем проверьте подходящий план. Если трекера ещё нет, варианты размещения и затраты собраны в обзоре Keitaro.

Постбэк не работает: пять типовых сбоев

Ищите первый участок, где пропали сведения. Если ПП не отправила сообщение, настройки рекламного API пока ни при чём. Если Keitaro уже принял продажу, возвращаться к форме лендинга тоже рано: сначала проверьте исходящую отправку.

В таблице использованы признаки из справки Keitaro по неисправностям на 06.11.2026. Тексты ошибок оставлены на английском, чтобы их было удобно найти у себя.

Что видитеГде искатьЧто сделать сначала
Лид есть в ПП, входящих сообщений нетОтправка ПП и адрес получателяНайти запись об отправке в ПП; сверить домен, ключ постбэка в пути и выбранное событие
Click for subid ... not foundПередача номера кликаСравнить номер, ушедший на оффер, с вернувшимся; убрать REPLACE и неверный макрос
Postback status is not set или Conversion type not foundПоле status и соответствие статусовПередать статус ПП и сопоставить его с типом конверсии. При ошибке Conversion cannot transition to sale проверить переходы в Settings / Conversion types
Доход завышен или продаж больше заказовСумма, валюта и номера транзакцийСверить одну выплату; проверить центы, order_sum вместо заработка и повторные отправки с новым tid
В Keitaro продажа есть, у источника нетИсходящая S2S-отправка или коннектор площадкиПроверить разрешённый статус, рекламный click ID и ответ получателя
Таблица прокручивается вбок

Входящие сообщения Keitaro находятся в Maintenance / Logs / Postbacks. Исходящие смотрят отдельно, в S2S postbacks. Если запрос дошёл до трекера, но в логе Incorrect postback code, заново скопируйте ключ из Settings. Ключ в адресе неверный; настройки рекламной площадки к этой ошибке не относятся.

Скриншот документации Keitaro с ошибками отсутствующего и неизвестного статуса постбэка
Сначала прочитайте конкретную ошибку: отсутствие status и неизвестное значение требуют разных исправлений. Снимок 06.11.2026.

После обновления проверьте и правила смены статуса. В публичном списке исправлений Keitaro 11.5.0 от 26.10.2026 есть два связанных пункта: лишняя отдельная конверсия при статусе вне Next statuses и потеря пробелов в сопоставлениях исходящих S2S-статусов после сохранения, из-за которой отправлялись неверные значения. Они разобраны в статье о версии 11.5. Но обновление не исправляет ошибочный макрос или неправильную валюту.

Точный повтор уже принятого постбэка Keitaro обработает, но исходящий S2S второй раз не отправит. Это описано в справке Postback. Если продажа есть в трекере, а у источника её нет, повтор входящего сообщения без изменений проблему не решает. Уточните в поддержке своей интеграции способ повторной отправки исходящего события, не создавая новую продажу.

Повторную отправку используйте после исправления причины. В AFF1 для этого есть Resend postbacks. Не меняйте одновременно номер транзакции, статус и выплату ради появления записи: потом будет сложно понять, какой результат настоящий. Сначала восстановите одну известную конверсию, затем пересылайте нужный период.

Что проверить перед запуском трафика

Проверка заканчивается конкретным результатом: разрешённая тестовая заявка нашлась в обеих системах, а нужное событие дошло до источника. Одной зелёной отметки «интеграция подключена» недостаточно.

  1. Условия оффера. Определено оплачиваемое действие: отправка формы, апрув, покупка или другой результат. Понятно, какой статус передавать для выбранной цели.
  2. Переход. Ссылка кампании открывает нужную страницу, а не просто главную ПП. Номер клика появляется в предназначенном для него поле сети.
  3. Возврат. В полученном сообщении есть настоящий номер клика и распознанный статус, без REPLACE или буквального текста макроса.
  4. Деньги. Выплата одной конверсии совпадает с карточкой в ПП после учёта валюты. Холд не назван подтверждённым доходом.
  5. Изменение статуса. Согласованный тест показал, как заявка становится подтверждённой или отклонённой. Повтор той же транзакции не создаёт лишнюю продажу.
  6. Источник трафика. Выбранные события разрешены к отправке; приём виден в диагностике площадки. Для двух копий одного события согласован общий идентификатор.

После этого можно оценивать экономику связки. До исправления передачи сумм красивый ROI ничего не говорит о прибыли. Формулы и различие между холдом и апрувом есть в шпаргалке по метрикам арбитража.

Частые вопросы

Что такое постбэк (постбек, postback) простыми словами?

Это автоматическое сообщение о результате. Партнёрка сообщает трекеру, какой клик привёл к заявке или продаже и что с ней произошло. За счёт номера клика результат попадает в нужную кампанию.

Чем S2S-постбэк отличается от пикселя?

Постбэк передаёт результат между серверами, пиксель работает в браузере посетителя. Серверное сообщение удобно для позднего апрува и смены статуса. Оба способа могут использоваться вместе, если одинаковые события не считаются дважды.

Где взять Postback URL для Keitaro?

В Settings / Postback URL. Основа адреса принадлежит вашему трекеру, а параметры заполняют токенами конкретной партнёрки. Не переносите ключ постбэка в пути из чужого примера.

Почему постбэк пришёл, а продажа не появилась?

Проверьте, найден ли клик по subid и распознан ли status. Сообщение могло содержать пустой номер, нераскрывшийся макрос или неизвестное состояние. Если пришёл Lead, ищите заявку в холде, а не подтверждённую продажу.

Можно ли передавать только подтверждённые лиды?

Да, если это соответствует вашей цели и настройкам получателя. Для полной картины в трекере полезно хранить создание, подтверждение и отказ. В рекламную площадку можно отправлять выбранные события отдельно.

Как проверить постбэк без покупки трафика?

Откройте свою ссылку кампании, чтобы появился настоящий номер клика. Затем согласуйте тестовую заявку с менеджером ПП. Кнопка теста с REPLACE вместо subid не проверяет эту связь. Если тест позволяет менять поля, подставьте настоящий номер своего клика.

Что в итоге

Начните с одного перехода по ссылке кампании. Убедитесь, что его subid сохранился в ПП и вернулся с правильным ключом. Настройте создание заявки, подтверждение и отказ как разные состояния.

Согласуйте тест с менеджером, сравните одну выплату и её валюту. После успешной проверки выберите событие для рекламы и посмотрите приём на стороне площадки. Тариф трекера подбирайте под нужный коннектор, а не ради слова S2S.

Редакция BoostClicks

Материалы о настройке рекламы, трекинге и автоматизации: инструкции, примеры кода и расчёты с указанием условий проверки.