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