Зачем нужен этот раздел

Команды, гоняющие трафик через десяток партнёрских сетей, получают десяток разных форматов отчётов, десяток моделей атрибуции и таблицу, которую по понедельникам сводят руками. Постбэки замыкают цикл по схеме server-to-server — но каждая сеть называет свои параметры по-своему (clickid против sub1 против aff_sub), и синтаксис макросов у каждой — свой маленький диалект.

Источник постбэков в 301.st — это перевод с языка одной сети: какой входящий параметр является ID клика, какой — типом события, какое обёртывание сеть использует для макросов. Настройте один раз, вставьте URL для нужного события в панель сети — и конверсии приходят в живой дашборд с привязкой к породившему клику. Без правок в коде, без отдельного CSV под каждую сеть.

Быстрый путь: три способа добавить источник

Кнопка Add source в шапке страницы открывает мастер с тремя вкладками. Выбирайте тот способ, для которого быстрее всего раздобыть данные — результат одинаковый.

Auto-detect

Когда документация сети у вас перед глазами

Вставьте любой пример URL постбэка из документации сети — с их макросами как есть ({clickid}, {sum} и т. д.) — и нажмите Detect. Если мы узнаём платформу, кнопка сохранения создаёт источник с уже заполненной картой полей.

Три исхода: распознано (сохраняйте — готово), неоднозначно (уточните через Manual) или неизвестно (мы заводим тикет в поддержку, а вы переключаетесь на Capture или Manual).

Capture

Когда есть доступ к панели сети

Назовите источник, нажмите Generate learn URL. Мы выдаём одноразовый URL — вставьте его в поле постбэка сети. Попросите сеть отправить один тестовый постбэк. Как только он приходит, мы показываем увиденные имена параметров. Нажмите Finalize.

Полезно, когда документации нет или она врёт. Перехваченные ключи сохраняются, но вам всё равно нужно указать, какой из них — ID клика, какой — сумма и т. д. — см. Карта полей ниже.

Manual

Когда вы точно знаете, что присылает сеть

Заполните форму сами. Обязательно: name. По желанию, но рекомендуется: platform (просто метка, видная в таблице Conversions), outbound target URL (передавать каждую конверсию на вашу платформу с заголовком X-301-Signature), rate limit, окно атрибуции и две карты ниже.

Карта полей (то, что делает основную работу)

Сети выдумывают собственные имена параметров. Карта полей говорит 301.st, как перевести их в нашу каноническую схему. Откройте панель редактирования, перейдите на вкладку Mapping — по одной строке на каждое каноническое поле. Впишите имя параметра сети в поле ввода.

click_id
Токен, который мы отправили в _cid редиректа. Часто сеть называет его clickid, cid, sub1 или subid.
event_type
Какого рода конверсия сработала. Сети обычно зовут это event, action или type — и у каждой свой словарь, поэтому см. Карту событий ниже.
transaction_id
Уникальный ID конверсии на стороне сети. Используется для дедупликации — повторный постбэк с тем же transaction_id не считается дважды.
gross_amount / gross_currency
Сколько пользователь заплатил оператору (регистрационный взнос, депозит, цена покупки). Валюта обычно идёт отдельным полем.
payout_amount / payout_currency
Сколько оператор платит вам за конверсию — ваш доход.
external_user_id
Необязательно. ID пользователя внутри сети — пригодится для сверки при спорах.

Оставьте строку пустой, чтобы пропустить поле — на входящих конверсиях оно останется null. Источники, созданные через Capture, пока стартуют с пустой картой полей — заполните её в панели редактирования, прежде чем источник станет полезен.

Карта событий

Сети присылают собственные ярлыки событий (NEW, FTD, QFTD, reg_confirmed, …), а мы отчитываемся по фиксированному набору. Карта событий переводит одно в другое. Та же вкладка Mapping, что и у карты полей — прокрутите ниже Карты полей.

Нажмите Add mapping, впишите значение оператора слева, выберите наше каноническое событие справа. Семь канонических типов:

  • registration — пользователь зарегистрировался.
  • ftd — первый депозит.
  • qftd — квалифицированный FTD (порог сети достигнут).
  • ngr — чистый игровой доход (гемблинг).
  • deposit — любой депозит после первого.
  • cpa — конверсия с оплатой за действие по фиксированной ставке.
  • unknown — собирающий всё, что вы не сопоставили.

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

Синтаксис макросов

Сети по-разному оборачивают макросы в своих URL постбэков. Большинство современных платформ используют фигурные строчные ({event_id}); старые и традиционные сети — фигурные заглавные ({TRANSACTION_ID}), квадратные скобки или проценты. Выпадающий список Macro syntax на вкладке Settings выбирает, какое обёртывание используют наши сгенерированные URL — поставьте то, что в документации сети, и URL вставится без ручной переделки макросов.

  • {event_id} — фигурные строчные. По умолчанию. Подходят для 1Win, RedTrack, Keitaro, Binom, FuckingScripts, NetRefer и большинства современных партнёрских платформ.
  • {EVENT_ID} — фигурные ЗАГЛАВНЫЕ. Income Access, MyAffiliates, многие старые традиционные сети.
  • [EVENT_ID] — квадратные скобки. Cake, HasOffers, Affise (в некоторых конфигурациях).
  • %EVENT_ID% — обёртывание процентами. AdsBridge.
  • {{EVENT_ID}} — двойные фигурные. Редкость — сверьтесь со списком макросов сети, чтобы не ошибиться.

Если сгенерированный нами URL отклоняется формой постбэка оператора (с сообщением вроде «Enter the correct link» — это у 1Win), смена синтаксиса макросов обычно решает проблему.

После сохранения: одноразовый показ

Сохранение источника — или ротация одного из его секретов — открывает окно одноразового показа. Скопируйте нужное до закрытия окна; из списка мы больше никогда не показываем значения секретов. После закрытия вкладка URLs панели редактирования всё ещё показывает шаблоны URL постбэков (с входящим токеном, заменённым на плейсхолдер {TOKEN}, который вы подставляете сами из скопированного значения).

Inbound token
Общий секрет, который сеть прикладывает, когда обращается к нам. Вставьте его в поле заголовка авторизации / query-строки в панели сети. Ротируйте при подозрении на утечку.
Outbound HMAC
Присутствует, только если вы задали Outbound target URL. Мы подписываем каждую переотправку этим секретом в заголовке X-301-Signature — ваша платформа его проверяет.
Postback URL
Адрес, который вставляют в настройку постбэка / S2S сети. Содержит входящий токен прямо в строке (только в окне показа) или плейсхолдер {TOKEN} (вкладка URLs) — подставьте настоящий токен из значения выше.
Track URL
То, что edge-Worker использует внутри себя при редиректе пользователей. Хранится для справки; сами вы его никуда не вставляете.

Как читать живой дашборд

Верхняя карточка на /postbacks показывает, что происходит прямо сейчас. Выберите окно — 15m / 1h / 24h / 7d — и следите за пятью карточками плюс разбивкой по событиям. Карточка обновляется сама каждые 45 секунд, пока вкладка видима; при переключении вкладок обновление встаёт на паузу.

Clicks
Исходящие редиректы, которые мы отправили за окно. Это знаменатель для EPC.
Conversions
Постбэки, принятые за окно — уже без дублей по transaction_id.
Gross
Сумма gross_amount по принятым конверсиям — сколько пользователь заплатил оператору.
Payout
Сумма payout_amount — сколько оператор должен вам.
EPC
Доход на клик — Payout / Clicks. Равен 0, если кликов 0; в остальных случаях это главная метрика того, насколько продуктивен ваш трафик.

Разбивка по типам событий под карточками перечисляет каждый канонический тип из вашей карты и сколько их сработало за окно. Удобно ловить неожиданный скачок unknown — обычно это значит, что новый ярлык события проскользнул мимо карты.

Таблица конверсий

Каждая строка — один принятый нами постбэк. Колонка Attribution говорит, что платформа с ним сделала:

matched
Мы нашли породивший клик по _cid, и конверсия полностью привязана. Это нормальное, штатное состояние.
unmatched
Мы приняли постбэк (токен валиден, подпись валидна), но не нашли клик. Обычно значит, что сеть не вернула наш _cid в том поле, на которое указывает ваша карта — поправьте строку click_id в карте полей и повторите.
duplicate
Тот же transaction_id, что у более ранней конверсии — мы оставили первую, а эту отбросили. Ожидаемо, когда сеть делает повторную отправку.
expired
Постбэк пришёл позже, чем attribution_window_days источника. По умолчанию 30 дней — поднимите в панели редактирования источника, если ваши офферы конвертят позже.

Кликните по любой строке, чтобы раскрыть панель деталей — канонические поля сверху, сырой JSON строки внизу для отладки.

Два фильтра-чипа над таблицей — Attribution и Event — сужают выборку. Страница листается по 50 конверсий; пара «назад/вперёд» внизу.

Редактирование источника

Откройте панель редактирования у любого источника в списке Postback sources. Она открывается с тремя вкладками, сгруппированными под то, что вы делаете чаще всего.

Settings
Name, Platform, Outbound target URL, Rate limit (RPS), окно атрибуции (в днях) и выпадающий список Macro syntax. Медленно меняющиеся настройки — эту вкладку трогают один раз при настройке и редко после.
Mapping
Карта полей (каноническое → имя параметра оператора) и Карта событий (ярлык оператора → канонический тип события) рядом. Два определения, которые интерпретируют каждый входящий постбэк.
URLs
По одному готовому к вставке URL постбэка на каждое каноническое событие из вашей карты, Track URL для справки и секция Secrets с кнопками Rotate. Панель по умолчанию открывается здесь, потому что взять URL — самая частая причина снова открыть источник.

URL на каждое событие. Вкладка URLs генерирует по одному URL на каждое каноническое событие из вашей карты — Registration, FTD, Deposit и т. д. — с типом события, зашитым в URL. Сразу после Save или Rotate URL полностью готов к вставке (входящий токен подставлен). В повторно открытой панели URL несёт буквальный плейсхолдер {TOKEN}, потому что секрет мы показываем лишь однажды — подставьте сохранённое ранее значение или нажмите Rotate token на панели предупреждения, чтобы получить свежий URL с уже вставленным новым токеном.

Для сетей, которые гонят каждый тип события на свой выделенный URL (1Win — канонический пример: Registration / Revenue / All deposits / First deposit / Recurring deposit / Application launch получают отдельные слоты), сгенерированный URL уже содержит event_type=registration / =ftd и т. д., чтобы наш обработчик классифицировал событие, даже если его нет в данных.

Save сохраняет все три вкладки разом. Единственная кнопка Save внизу панели фиксирует любые изменения по Settings, Mapping и URLs (кнопки Rotate срабатывают сразу — они Save не ждут).

Две кнопки Rotate в секции Secrets выдают свежий секрет и показывают его однажды через окно показа — тот же поток, что при создании. Обновите сеть, пока старый секрет не истёк; старый и новый работают одновременно короткий льготный период.

Разбор проблем

Все конверсии попадают в unmatched
Чаще всего: сеть не возвращает _cid в том параметре, на который указывает строка click_id вашей карты. Откройте панель деталей конверсии на любой строке unmatched, посмотрите сырой JSON, найдите параметр с длинным base64-токеном и поправьте карту полей.
Конверсий нет вообще, хотя сеть говорит, что отправляет
Два подозреваемых: неверный URL постбэка в панели сети (сверьте его побайтово с тем, что в окне показа — входящий токен обязан совпадать) или сеть бьёт по другому URL, не нашему. Проверьте лог исходящих у сети, если он есть.
Конверсии показывают event_type: unknown
Две возможные причины. (1) Сеть присылает новый ярлык события, который вы не сопоставили — откройте панель редактирования источника, вкладка Mapping, добавьте строку под новый ярлык. (2) Сеть вообще не передаёт event_type (класс 1Win — у каждого события свой слот URL), а вы не вставили URL с нашей вкладки URLs — скопируйте каждый URL на событие со вкладки URLs и вставьте в соответствующий слот сети. Мы зашиваем event_type=registration / =ftd и т. д. в каждый URL, чтобы обработчик классифицировал верно.
Форма постбэка оператора отклоняет наш URL («Enter the correct link» или подобное)
Несовпадение синтаксиса макросов — сеть ждёт другое обёртывание (фигурные ЗАГЛАВНЫЕ / квадратные / проценты), чем мы сгенерировали. Откройте панель редактирования, вкладка Settings, смените выпадающий список Macro syntax под документацию сети, Save, затем заново скопируйте URL со вкладки URLs.
Мой EPC подозрительно высок или низок после смены окна
EPC — это Payout / Clicks внутри выбранного окна. Короткое окно может определяться одной крупной конверсией; длинное сглаживает. Сравните 24h и 7d, чтобы увидеть настоящий тренд.
Вижу ошибки tds_db_not_configured
Хранилище 301_tds пока не включено для вашего региона. Дашборд рисуется пустым, а не блокируется — обычно это временно во время раскатки. Если держится дольше суток, напишите в поддержку.

Только для админов

Внизу /postbacks появляются два дополнительных раздела, когда вы вошли как админ — Platform signatures и Open support tickets. Они позволяют научить Auto-detect новой сети.

Сигнатуры — это рецепты, по которым Auto-detect ищет совпадение. Когда оператор вставляет нераспознанный URL, сюда падает тикет с этим URL и извлечёнными именами параметров — это и есть исходный материал для написания новой сигнатуры.

Панель Add signature просит ID, отображаемое имя, список параметров ID клика, имена параметров события/суммы/валюты и два поля для вставки JSON — карту полей и карту событий по умолчанию, которые операторы получат «из коробки». Потратьте минуту на разбор строки существующей сигнатуры, чтобы понять форму, прежде чем писать первую свою.

Глоссарий

_cid
Токен ID клика, который мы прикрепляем к каждому исходящему редиректу. Партнёрская сеть обязана вернуть его в своём постбэке, иначе атрибуция не сработает.
Окно атрибуции
Сколько времени после клика мы всё ещё принимаем конверсию. По умолчанию 30 дней; настраивается на каждый источник.
Каноническое поле
Одно из фиксированных полей схемы 301.st (click_id, event_type и т. д.). Карта полей привязывает их к тем именам, что использует сеть.
EPC
Доход на клик. Payout / Clicks за выбранное окно.
HMAC-подпись
Криптографическая печать, которую мы ставим на исходящие доставки (заголовок X-301-Signature), чтобы ваша платформа могла убедиться, что конверсия действительно от нас.
Inbound token
Общий секрет на каждый источник. Сеть присылает его обратно, чтобы мы могли подтвердить, что постбэк именно её.
Синтаксис макросов
Как сеть оборачивает макросы в URL постбэков: фигурные строчные {event_id}, фигурные заглавные {EVENT_ID}, квадратные [EVENT_ID], проценты %EVENT_ID% или двойные фигурные {{EVENT_ID}}. Настройка на каждый источник; по умолчанию — фигурные строчные.
URL на событие
По одному URL постбэка на каждый канонический тип события из вашей карты, генерируется автоматически на вкладке URLs с зашитым event_type=registration / =ftd и т. д. Нужен для сетей, которые не передают event_type в данных (например, 1Win) — у них отдельный слот URL под каждый тип события.
Постбэк
HTTP-вызов по схеме server-to-server от партнёрской сети, сообщающий, что пользователь сконвертился.
Сигнатура
Рецепт уровня админа, позволяющий Auto-detect распознать форму URL постбэка новой сети.

Связанное