Як працює атрибуція кліків в 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
Ключові ідентифікатори
Поле | Опис | Де використовується |
|---|---|---|
| Внутрішній UUID кліка (генерується трекером) | Postback URL, статистика, дедуплікація конверсій |
| Click ID джерела трафіку (fbclid, gclid тощо) | Передається в FB CAPI / TikTok Events API для зворотної атрибуції |
| Sub-параметри з рекламної мережі | UTM-мітки, subid баєра, adset_id, campaign_id |
| Внутрішній ID конверсії з партнерської мережі | Дедуплікація і звірка даних з кабінетом партнерки |
Повний життєвий цикл конверсії
Внутрішній тип | Що означає | Вплив на підписку |
|---|---|---|
| Реєстрація на сайті партнерки |
|
| Перший депозит (FTD) |
|
| Повторний депозит |
|
| Відхилена конверсія | Не впливає на підписку |
| Сміттєвий лід (фрод) | Не впливає на підписку |
Як передати 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
Як налаштувати правильно:
Дізнайся в документації партнерки, в який параметр потрібно передати click_id (зазвичай
sub1,click_id,aff_sub,cid)В налаштуваннях CPA-мережі вкажи
paramTemplate:?sub1={event.event_click_id}(заміниsub1на потрібний параметр)Переконайся, що в полі 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}¤cy={currency}
Де {click_id}, {status}, {payout}, {currency} — макроси партнерки (плейсхолдери, які партнерка замінює реальними значеннями).
Postback URL складається з 5 налаштовуваних макросів:
Макрос | Призначення | Приклад значення від партнерки |
|---|---|---|
| Повертає click_id назад трекеру |
|
| Статус конверсії |
|
| Сума виплати |
|
| Валюта |
|
| Внутрішній ID конверсії в партнерці |
|
Куди вставити Postback URL
Скопіюй Postback URL з налаштувань CPA-мережі в Adset.Pro (Tracker → Партнерські мережі → вкладка Postback)
Відкрий кабінет партнерської мережі → розділ Postback / S2S / Tracking
Встав URL в поле Global Postback URL (або Server-to-Server URL)
Переконайся, що макроси в URL збігаються з тими, що підтримує партнерка (кожна використовує свої плейсхолдери)
Маппінг статусів
Кожна партнерка використовує свої назви статусів. Трекер переводить їх у внутрішні типи подій через налаштування статусів в CPA-мережі:
Внутрішній тип | Приклади статусів партнерок | Що означає |
|---|---|---|
|
| Реєстрація |
|
| Перший депозит |
|
| Повторний депозит |
|
| Відхилена конверсія |
|
| Сміттєвий лід |
Як це працює технічно:
В 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 проходить додаткові кроки:
Клік →
event_click_idгенерується і запам'ятовується в трекеріКористувач відкриває PWA → подія
PWA_VIEW(click_id передається через URL як/:clickId/app)Встановлює PWA → подія
PWA_INSTALL(click_id зберігається в підписці і cookie)Відкриває встановлене PWA пізніше →
PWA_OPEN(click_id відновлюється з cookie/localStorage)Переходить до офера → click_id передається партнерці через paramTemplate
Особливості iOS:
На iOS немає нативного
beforeinstallprompt— трекер фіксуєIOS_INSTALLчерез Redis-дедуплікацію (один раз на clickId)Використовується окремий тип події
IOS_INSTALLдля iOS-встановленьДля iOS є підтримка
ios26query-параметра для специфічної обробки
Важливий момент з повторними візитами: Якщо користувач встановив PWA, закрив браузер, а відкрив знову через тиждень — атрибуція залежить від налаштувань Sticky Flow. Якщо stickyFlowKeepClickId = true, то той же clickId відновлюється з cookie sf_{campaignId} (формат: setId:rotationId:clickId), і депозит атрибутується до вихідного кліку. Якщо вимкнено — генерується новий clickId при повторному вході через трекер.
Атрибуція Push-сповіщень
Кліки по push-сповіщенням атрибутуються через вікно атрибуції (за замовчуванням 72 години):
Користувач клацає по пушу → записується
event_click_idпуш-кліка (подіяPUSH_CLICK)Користувач реєструється/робить депозит протягом N годин → конверсія атрибутується пушу
Підписка помічається прапорцями:
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_SUBSCRIBEext_click_id(fbclid/gclid) передається в піксель для зворотної атрибуції рекламною мережеюПікселі прив'язуються на рівні Stream Set або передаються через
?pixel=у трекінговому посиланні (override)
Часті питання
Q: Чому партнерка прислала депозит, а в статистиці його немає?
Типові причини:
Неправильний click_id макрос в paramTemplate — партнерка отримала click_id не в той параметр, і постбек приходить з порожнім або чужим clickId
Postback URL не налаштований в кабінеті партнерки (або налаштований не для всіх статусів)
Статус не прописаний в маппінгу — партнерка шле
status=deposit, а в маппінгу CPA-мережі вказаний тількиacceptClick ID mapping порожній — в налаштуваннях CPA-мережі не вказаний макрос для повернення clickId. Adset.Pro покаже попередження якщо це поле порожнє
Конверсія задублікована — якщо по тому ж clickId вже була конверсія цього типу, нова буде відхилена (якщо не включені дублікати)
Q: Кліки є, але реєстрацій немає зовсім — в чому може бути проблема?
Перевір
paramTemplate— відкрий URL офера вручну з підставленим click_id і переконайся, що параметр доходитьПеревір, що партнерка відправляє постбеки (попроси у менеджера лог останніх постбеків)
Подивися статистику
SOURCE_FILTER— можливо фільтри кампанії відкидають весь трафік на White PageПеревір 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: Як перевірити що весь ланцюг працює?
Створи тестовий клік за трекінговим посиланням
Перевір URL офера — переконайся, що click_id підставлений правильно
Зареєструйся на сайті партнерки
Перевір в Adset.Pro → Conversions — чи є CPA_HOLD з твоїм clickId
Зроби депозит (або попроси тестовий) — перевір CPA_ACCEPT
