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

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

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

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

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

Авто-определение

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

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

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

Захват

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

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

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

Вручную

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

Заполните форму сами. Обязательно: Название. По желанию, но рекомендуется: Платформа (просто метка, видная в таблице конверсий), Исходящий URL (передавать каждую конверсию на вашу платформу с заголовком X-301-Signature), Лимит RPS, окно атрибуции и две карты ниже.

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

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

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, что и у карты полей — прокрутите ниже Карты полей.

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

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

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

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

Сети по-разному оборачивают макросы в своих URL постбэков. Большинство современных платформ используют фигурные строчные ({event_id}); старые и традиционные сети — фигурные заглавные ({TRANSACTION_ID}), квадратные скобки или проценты. Выпадающий список Синтаксис макросов на вкладке 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), смена синтаксиса макросов обычно решает проблему.

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

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

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

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

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

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

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

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

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

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

Повторный постбэк с уже принятым transaction_id отбрасывается на приёме и строкой не становится — поэтому статуса «дубль» в этой колонке не бывает, искать его не нужно.

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

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

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

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

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

URL на каждое событие. Вкладка URLs генерирует по одному URL на каждое каноническое событие из вашей карты — Registration, FTD, Deposit и т. д. — с типом события, зашитым в URL. Сразу после Save или Rotate URL полностью готов к вставке (входящий токен подставлен). В повторно открытой панели URL несёт буквальный плейсхолдер {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 появляются два дополнительных раздела, когда вы вошли как админ — Сигнатуры платформ и Открытые тикеты поддержки. Они позволяют научить авто-определение новой сети.

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

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

Глоссарий

_cid
Токен ID клика, который мы прикрепляем к каждому исходящему редиректу. Партнёрская сеть обязана вернуть его в своём постбэке, иначе атрибуция не сработает.
Окно атрибуции
Сколько времени после клика мы всё ещё принимаем конверсию. По умолчанию 90 дней, настраивается на каждый источник в пределах 1..90 — потолок фиксирован, потому что токен клика старше этого срока вообще не расшифровывается.
Каноническое поле
Одно из фиксированных полей схемы 301.st (click_id, event_type и т. д.). Карта полей привязывает их к тем именам, что использует сеть.
EPC
Доход на клик. Payout / Clicks за выбранное окно.
HMAC-подпись
Криптографическая печать, которую мы ставим на исходящие доставки (заголовок X-301-Signature), чтобы ваша платформа могла убедиться, что конверсия действительно от нас.
Входящий токен
Общий секрет на каждый источник. Сеть присылает его обратно, чтобы мы могли подтвердить, что постбэк именно её.
Синтаксис макросов
Как сеть оборачивает макросы в 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 постбэка новой сети.

Связанное