Adset.ProAdset.ProKnowledge base
Home/Обучающие материалы/Как работает атрибуция кликов в Adset.Pro

Как работает атрибуция кликов в Adset.Pro

Что такое атрибуция и зачем она нужна

Атрибуция — это механизм, который связывает конверсию (регистрацию или депозит) с конкретным рекламным кликом.

Для арбитражника атрибуция отвечает на главный вопрос: какие именно клики принесли деньги? Представь: ты залил 1 000 кликов из Facebook, пришло 10 депозитов. Без атрибуции ты видишь только общие цифры — потратил $500, получил $800. С атрибуцией ты знаешь, что депозиты пришли от кликов с конкретного адсета, креатива и audience — и можешь масштабировать именно его.

Без click_id невозможно:

  • Оптимизировать кампанию (не понятно, какой источник даёт ROI)

  • Привязать конверсию к рекламному кабинету (FB CAPI / TikTok Events API)

  • Отследить качество трафика по субаккаунтам и байерам (через ext_sub1..10)


Как работает цепочка атрибуции

Каждый клик в Adset.Pro получает уникальный идентификатор — event_click_id (UUID). Этот ID передаётся через всю воронку и возвращается партнёрской сетью в постбэке.

Рекламное объявление (FB/TikTok/Push)
    ↓
Трекинговая ссылка Adset.Pro
    ↓  event_click_id генерируется (UUID)
    ↓  Определяются параметры: страна, устройство, IP, ASN, user-agent
    ↓  Применяются фильтры кампании (Stream Sets)
    ↓
Лендинг / PWA (click_id передаётся партнёрке через paramTemplate)
    ↓
Регистрация на сайте партнёрки
    ↓
Партнёрка отправляет постбэк на Adset.Pro:
    https://adset.pro/postback?clickid={click_id}&status=hold&payout=0
    ↓
Трекер находит клик по click_id → создаёт событие CPA_HOLD (регистрация)
    ↓  пользователь вносит депозит
Партнёрка отправляет постбэк:
    https://adset.pro/postback?clickid={click_id}&status=accept&payout=50
    ↓
Трекер → событие CPA_ACCEPT (FTD), revenue = $50
    ↓  повторный депозит
Партнёрка → CPA_REDEP, revenue = $30

Ключевые идентификаторы

Поле

Описание

Где используется

event_click_id

Внутренний UUID клика (генерируется трекером)

Postback URL, статистика, дедупликация конверсий

ext_click_id

Click ID источника трафика (fbclid, gclid и т.п.)

Передаётся в FB CAPI / TikTok Events API для обратной атрибуции

ext_sub1..10

Sub-параметры из рекламной сети

UTM-метки, subid байера, adset_id, campaign_id

external_id

Внутренний ID конверсии из партнёрской сети

Дедупликация и сверка данных с кабинетом партнёрки

Полный жизненный цикл конверсии

Внутренний тип

Что означает

Влияние на подписку

CPA_HOLD

Регистрация на сайте партнёрки

registered = true

CPA_ACCEPT

Первый депозит (FTD)

deposited = true, запускает пиксели и push-триггеры

CPA_REDEP

Повторный депозит

redeposited = true, учитывается в LTV

CPA_DECLINE

Отклонённая конверсия

Не влияет на подписку

CPA_TRASH

Мусорный лид (фрод)

Не влияет на подписку


Как передать click_id партнёрке

В настройках CPA-сети (Tracker → Партнёрские сети) есть поле Param Template — строка GET-параметров, которая автоматически добавляется к URL оффера.

Пример paramTemplate:

?sub1={event.event_click_id}

При создании Ссылки на оффер трекер подставляет реальный click_id:

https://partner.com/offer?sub1=35d542f6-56ec-4858-8031-38bbb820c075

Как настроить правильно:

  1. Узнай в документации партнёрки, в какой параметр нужно передать click_id (обычно sub1, click_id, aff_sub, cid)

  2. В настройках CPA-сети укажи paramTemplate: ?sub1={event.event_click_id} (замени sub1 на нужный параметр)

  3. Убедись что в поле Click ID mapping (postbackMacros.clickId) указан правильный макрос возврата

Подсказка: В Adset.Pro есть CPA-шаблоны (Tracker → CPA Templates) — готовые пресеты для популярных партнёрок с уже заполненными paramTemplate и маппингами статусов. При создании CPA-сети можно выбрать шаблон и не настраивать вручную.


Постбек: как партнёрка возвращает click_id

После того как пользователь регистрируется или вносит депозит, партнёрка отправляет постбэк (HTTP GET-запрос) на URL Adset.Pro.

URL постбэка генерируется автоматически в настройках CPA-сети и выглядит так:

https://adset.pro/postback?clickid={click_id}&status={status}&payout={payout}&currency={currency}

Где {click_id}, {status}, {payout}, {currency} — макросы партнёрки (плейсхолдеры, которые партнёрка заменяет реальными значениями).

Postback URL состоит из 5 настраиваемых макросов:

Макрос

Назначение

Пример значения от партнёрки

clickId

Возвращает click_id обратно трекеру

{sub1}, {click_id}, {cid}

status

Статус конверсии

{status}, {event}, {type}

revenue

Сумма выплаты

{payout}, {revenue}, {amount}

currency

Валюта

{currency} (обычно USD/EUR)

external_id

Внутренний ID конверсии в партнёрке

{conversion_id}, {order_id}

Куда вставить Postback URL

  1. Скопируй Postback URL из настроек CPA-сети в Adset.Pro (Tracker → Партнёрские сети → вкладка Postback)

  2. Открой кабинет партнёрской сети → раздел Postback / S2S / Tracking

  3. Вставь URL в поле Global Postback URL (или Server-to-Server URL)

  4. Убедись, что макросы в URL совпадают с теми, что поддерживает партнёрка (каждая использует свои плейсхолдеры)

Маппинг статусов

Каждая партнёрка использует свои названия статусов. Трекер переводит их во внутренние типы событий через настройку статусов в CPA-сети:

Внутренний тип

Примеры статусов партнёрок

Что означает

CPA_HOLD

lead, reg, hold, registration

Регистрация

CPA_ACCEPT

sale, approved, ftd, dep, accept

Первый депозит

CPA_REDEP

rebill, redep, redeposit

Повторный депозит

CPA_DECLINE

declined, rejected, decline

Отклонённая конверсия

CPA_TRASH

trash, fraud

Мусорный лид

Как это работает технически:

  • В CPA-сети указываются статусы (списки через запятую) для каждого типа: accept, hold, decline, trash, redep

  • Постбэк может принимать маппинги и через query-параметры: ?accept_status=sale,ftd&hold_status=lead,reg

  • Если маппинги не переданы в URL — используются настройки из CPA-сети

  • Статусы поддерживают comma-separated формат: accept_status=sale,approved,ftd — любой из этих статусов партнёрки будет маппирован в CPA_ACCEPT

Дедупликация конверсий

Adset.Pro автоматически проверяет дубликаты:

  • Для каждого clickId + тип события ищится уже обработанная конверсия

  • Если найден дубль — новая конверсия помечается как ERROR с указанием существующей

  • Дубликаты можно разрешить для конкретных типов в настройках CPA-сети (acceptDuplicates + acceptDuplicatesFor)

  • При наличии external_id дедупликация учитывает и его


Атрибуция PWA

Для PWA-воронки click_id проходит дополнительные шаги:

  1. Клик → event_click_id генерируется и запоминается в трекере

  2. Пользователь открывает PWA → событие PWA_VIEW (click_id передаётся через URL как /:clickId/app)

  3. Устанавливает PWA → событие PWA_INSTALL (click_id сохраняется в подписке и cookie)

  4. Открывает установленное PWA позже → PWA_OPEN (click_id восстанавливается из cookie/localStorage)

  5. Переходит к офферу → click_id передаётся партнёрке через paramTemplate

Особенности iOS:

  • На iOS нет нативного beforeinstallprompt — трекер фиксирует IOS_INSTALL через Redis-дедупликацию (один раз на clickId)

  • Используется отдельный тип события IOS_INSTALL для iOS-установок

  • Для iOS есть поддержка ios26 query-параметра для специфичной обработки

Важный момент с повторными визитами: Если пользователь установил PWA, закрыл браузер, а открыл снова через неделю — атрибуция зависит от настроек Sticky Flow. Если stickyFlowKeepClickId = true, то тот же clickId восстанавливается из cookie sf_{campaignId} (формат: setId:rotationId:clickId), и депозит атрибутируется к исходному клику. Если выключено — генерируется новый clickId при повторном входе через трекер.


Атрибуция Push-уведомлений

Клики по push-уведомлениям атрибутируются через окно атрибуции (по умолчанию 72 часа):

  1. Пользователь кликает по пушу → записывается event_click_id пуш-клика (событие PUSH_CLICK)

  2. Пользователь регистрируется/делает депозит в течение N часов → конверсия атрибутируется пушу

  3. Подписка помечается флагами: registered, deposited, redeposited — это позволяет таргетировать последующие пуши

Статистика по push-атрибуции доступна в разделе Push Аналитика → Post-Click Attribution.

Когда это важно для арбитражника:

  • Пользователь кликнул пуш утром → не зарегистрировался → вернулся через 2 дня → атрибуция засчитывается пушу (если окно 72 часа)

  • Это позволяет оценить реальное влияние push-кампаний на конверсии, даже если пользователь не конвертируется мгновенно

  • Push-атрибуция работает параллельно с атрибуцией рекламного клика: один депозит может быть атрибутирован и рекламному клику (в основной статистике), и пушу (в Post-Click Attribution)


Пиксели и атрибуция

После обработки конверсии трекер автоматически отправляет события в привязанные пиксели (Facebook CAPI, TikTok Events API, HTTP Postback):

  • Пиксель срабатывает на события: CPA_HOLD, CPA_ACCEPT, CPA_REDEP, CPA_DECLINE, CPA_TRASH, а также LAND_VIEW, LAND_CLICK, PWA_VIEW, PWA_INSTALL, NOTIFICATION_SUBSCRIBE

  • ext_click_id (fbclid/gclid) передаётся в пиксель для обратной атрибуции рекламной сетью

  • Пиксели привязываются на уровне Stream Set или передаются через ?pixel= в трекинговой ссылке (override)


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

Q: Почему партнёрка прислала депозит, а в статистике его нет?

Типичные причины:

  1. Неправильный click_id макрос в paramTemplate — партнёрка получила click_id не в тот параметр, и постбэк приходит с пустым или чужим clickId

  2. Postback URL не настроен в кабинете партнёрки (или настроен не для всех статусов)

  3. Статус не прописан в маппинге — партнёрка шлёт status=deposit, а в маппинге CPA-сети указан только accept

  4. Click ID mapping пустой — в настройках CPA-сети не указан макрос для возврата clickId. Adset.Pro покажет предупреждение если это поле пустое

  5. Конверсия задублирована — если по тому же clickId уже была конверсия этого типа, новая будет отклонена (если не включены дубликаты)

Q: Клики есть, но регистраций нет совсем — в чём может быть проблема?

  1. Проверь paramTemplate — открой URL оффера вручную с подставленным click_id и убедись, что параметр доходит

  2. Проверь, что партнёрка отправляет постбеки (попроси у менеджера лог последних постбеков)

  3. Посмотри статистику SOURCE_FILTER — возможно фильтры кампании отбрасывают весь трафик на White Page

  4. Проверь Bridge Page — если трафик идёт из in-app WebView (FB/Instagram/TikTok), трекер автоматически кикает во внешний браузер. Если bridge-страница не работает — пользователь может не дойти до PWA

Q: В статистике есть конверсии без click_id — что это значит?

Партнёрки иногда отправляют конверсии с пустым click_id (или click_id не прошёл через paramTemplate). Такие конверсии не атрибутируются к конкретному клику и не попадают в воронку. Варианты:

  • Партнёрка шлёт «общие» конверсии без привязки — нужно проверить paramTemplate

  • Click_id был утерян (пользователь очистил cookies, перешёл по другой ссылке)

  • Если конверсии без click_id составляют значительный процент — это сигнал проблемы в настройке связки «трекер ↔ партнёрка»

Q: Как проверить что вся цепочка работает?

  1. Создай тестовый клик по трекинговой ссылке

  2. Проверь URL оффера — убедись, что click_id подставлен правильно

  3. Зарегистрируйся на сайте партнёрки

  4. Проверь в Adset.Pro → Conversions — есть ли CPA_HOLD с твоим clickId

  5. Сделай депозит (или попроси тестовый) — проверь CPA_ACCEPT