База новачка
Як працює трекінг конверсій: click ID, postback і шлях даних в affiliate marketing
У найпростішому server-to-server flow логіка виглядає так: користувач клікає → tracker записує click → identifier передається affiliate program → користувач конвертується → партнерська система повертає identifier через postback → tracker знаходить початковий click і записує conversion. Саме цей зв’язок дозволяє потім зрозуміти, який source, creative, placement, landing або campaign принесли результат.
Коротка відповідь
При click tracker створює або зберігає унікальний click ID і передає його далі по funnel. Коли користувач виконує conversion, affiliate network або advertiser повертає цей ID через S2S postback. Tracker знаходить початковий click і додає до нього conversion, status, payout чи інші доступні дані.
Key Takeaways
- Click ID зазвичай ідентифікує конкретний click, а не людину як таку.
- Identifier потрібно правильно передати від tracker до affiliate network або advertiser і повернути назад після conversion.
- S2S postback — server-to-server request із даними про conversion.
- Conversion може мати кілька status: pending, approved, rejected та інші — залежно від програми.
- Якщо identifier загубився на будь-якому етапі, tracker може не зуміти пов’язати conversion з початковим traffic.
Що таке трекінг конверсії
Трекінг конверсії — це не сама conversion, а технічний процес її ідентифікації, передачі та attribution. Користувач може фізично зробити purchase або FTD навіть тоді, коли tracking зламаний. Проблема в тому, що affiliate systems тоді можуть не зрозуміти, якому campaign або click належить цей результат.
Саме тому tracking будується навколо identifiers. Коли користувач приходить із реклами, система намагається зберегти інформацію про цей interaction. Потім, коли відбувається потрібний event, conversion потрібно зіставити з попереднім click. Для цього можуть використовуватися click IDs, cookies, transaction IDs, first-party identifiers та інші механізми залежно від architecture.
Окремо роль tracker та його місце в campaign ми розбираємо в матеріалі про affiliate-трекери.
Крок 1. Користувач клікає по рекламі
Усе починається з click. Traffic source може передати разом із переходом додаткові parameters: campaign ID, ad ID, creative ID, placement, keyword або іншу інформацію. Tracker записує ці parameters і створює власний запис про click.
У класичному redirect setup URL може виглядати приблизно так:
https://track.example.com/click?campaign=123&creative=45&placement=zone7
Після отримання request tracker може створити унікальний identifier, наприклад:
click_id = abc123xyz
Важливий нюанс: `click_id` — це ID click, а не ID людини. Той самий user може клікнути кілька разів, перейти з різних devices або campaigns і створити кілька окремих tracking records.
Чи завжди tracker робить redirect
Ні. Redirect tracking — поширений і зрозумілий варіант, але не єдиний. Існують direct або no-redirect integrations, де tracking data збирається без окремого redirect через tracker URL. Конкретна architecture залежить від software, traffic source, landing setup та інших integrations.
Тому базова логіка залишається однаковою навіть тоді, коли користувач візуально не проходить через tracking domain: система повинна створити або отримати identifier і зберегти context початкового interaction.
Крок 2. Click ID передається далі в offer
Наступне завдання — передати identifier системі, яка пізніше зможе побачити conversion. Умовно tracker може направити користувача на affiliate link такого типу:
https://network.example/offer?subid=abc123xyz
У цьому прикладі tracker передає свій `click_id` у parameter `subid`. Назви не стандартизовані: одна network може використовувати `sub1`, інша — `click_id`, `cid`, `aff_sub`, `sub_id` або власний parameter. Головне — правильно зіставити поле tracker із полем affiliate platform.
Наприклад:
| Система | Parameter | Value |
|---|---|---|
| Tracker | `click_id` | `abc123xyz` |
| Affiliate Network | `sub1` | `abc123xyz` |
| Postback назад | `clickid` | `abc123xyz` |
Самі назви можуть змінюватися — значення має те, щоб один і той самий identifier зберігся протягом усього tracking flow.
Крок 3. Affiliate network або advertiser зберігає attribution
Після переходу affiliate network або advertiser має запам’ятати, що цей visit пов’язаний із певним affiliate і переданим sub ID. Це може відбуватися через власну click database, cookies, first-party storage або інший attribution mechanism.
Саме тут важливо розділяти дві речі. Tracker використовує свій identifier, щоб потім знайти потрібний click у власній системі. Advertiser або network паралельно може мати власний click ID та власну attribution logic. Тобто в одному user journey можуть одночасно існувати кілька identifiers різних систем.
Про роль browser storage та server-side передачі ми детальніше говоримо в матеріалі про cookies в affiliate marketing.
Крок 4. Користувач виконує conversion
Далі user виконує action, яка визначена offer як conversion. Не обов’язково це purchase. Залежно від моделі оплачуваною подією може бути registration, lead, qualified lead, subscription, FTD, sale або інший event.
- Registration
- Email confirmation
- Qualified lead
- Purchase
- First Time Deposit
- Subscription
- Recurring payment
Advertiser фіксує цю подію у своїй system. Якщо attribution налаштована коректно, разом із conversion він уже має інформацію, яка дозволяє визначити affiliate та пов’язаний із click sub ID.
Крок 5. Партнерська система надсилає S2S postback
S2S postback — це HTTP request між servers. Affiliate заздалегідь задає спеціальний postback URL у партнерській програмі, а після conversion network або advertiser підставляє у нього відповідні values.
Спрощений приклад:
https://track.example.com/postback?clickid=abc123xyz&payout=50&status=approved&txid=98765
У цьому request можуть передаватися:
| Parameter | Для чого потрібен |
|---|---|
| click ID | Знайти початковий click |
| payout / revenue | Передати фінансову цінність conversion |
| status | Pending, approved, rejected або інший статус |
| goal | Визначити тип conversion |
| transaction ID | Ідентифікувати конкретну conversion та уникати duplicates |
| currency | Передати валюту payout |
Які саме fields доступні, залежить від tracker і affiliate program. Postback може містити лише click ID, а всі інші parameters бути відсутніми. Тому не потрібно сприймати `payout=…&status=…` як обов’язкову структуру кожного S2S request.
Сам принцип postback окремо розбираємо в матеріалі про pixel та S2S tracking.
Крок 6. Tracker знаходить початковий click
Після отримання postback tracker бере переданий identifier — наприклад `abc123xyz` — і шукає відповідний click у своїй database. Якщо такий record існує, conversion додається до нього.
Оскільки під час click tracker уже зберіг campaign parameters, одна conversion тепер може бути пов’язана з великою кількістю dimensions:
- traffic source;
- campaign;
- creative;
- placement або zone;
- GEO;
- device та OS;
- landing / prelanding;
- offer;
- conversion goal;
- payout та status, якщо вони були передані.
У результаті affiliate бачить вже не просто «сьогодні було 50 conversions», а може запитати: який placement, creative, GEO або landing приніс ці conversions і скільки approved revenue вони реально створили?
Повна схема tracking conversion
1. Traffic Source
↓
2. Click
↓
3. Tracker записує click
click_id = abc123
↓
4. ID передається в affiliate link
sub1 = abc123
↓
5. User переходить на offer
↓
6. User виконує conversion
↓
7. Advertiser / Network фіксує event
↓
8. S2S Postback
clickid=abc123
payout=50
status=approved
↓
9. Tracker знаходить click abc123
↓
10. Conversion прив'язується до campaign,
creative, placement, landing та offer
Це базова схема. У реальній infrastructure між окремими етапами можуть знаходитися додаткові systems — advertiser, affiliate network, mobile measurement platform, CRM, backend, traffic source API або ще один tracking layer. Але центральний принцип залишається тим самим: identifier має пройти вперед і повернутися разом із conversion feedback.
Pending, approved і rejected conversions
Ще одна важлива деталь: перший postback не завжди означає фінальну оплачувану conversion. Наприклад, lead може спочатку отримати status `pending`, після validation — `approved`, а інший — `rejected`. Якщо integration підтримує status updates, партнерська система може відправляти tracker нову інформацію пізніше.
Умовний життєвий цикл:
Day 1:
click_id=abc123
status=pending
payout=0
Day 3:
click_id=abc123
status=approved
payout=50
У такій ситуації tracker повинен коректно оновити conversion, а не просто додати ще одну незалежну action. Саме тому transaction ID, goal і status mapping стають важливими у складніших integrations.
Multi-goal tracking: коли в одного click кілька conversions
Один click може породити не одну, а кілька різних подій. Наприклад, у gambling funnel user спочатку реєструється, потім проходить verification, робить FTD і надалі може генерувати повторні deposits. У SaaS це може бути trial → paid subscription → renewal.
Tracker може зберігати ці actions як різні conversion goals:
| Goal | Event | Приклад value |
|---|---|---|
| Goal 1 | Registration | $0 |
| Goal 2 | FTD | $50 |
| Goal 3 | Qualified player | $20 additional payout |
Так affiliate бачить не лише фінальну conversion, а всю доступну downstream performance конкретних traffic segments. Це особливо корисно, коли optimization за ранньою registration дає одну картину, а за FTD або approved revenue — зовсім іншу.
Як tracker передає conversion назад у traffic source
Ланцюжок не обов’язково закінчується всередині tracker. Після отримання conversion він може передати event назад у Meta, Google, TikTok або інше traffic source через підтримуваний API, postback чи server-side integration.
Умовно:
Advertiser
↓
Affiliate Network
↓
Tracker
↓
Traffic Source
Це створює feedback loop: рекламна система отримує інформацію не тільки про click, а й про downstream conversion. Але які саме events можна передавати, які identifiers потрібні та як вони використовуються для optimization — залежить від конкретної advertising platform та integration.
Що буде, якщо click ID загубиться
Це одна з найтиповіших tracking problems. Conversion може реально відбутися й навіть бути правильно записана advertiser, але tracker не зможе визначити її source, якщо identifier не повернувся.
Наприклад:
Tracker створив:
abc123
Affiliate link мав передати:
?sub1=abc123
Але фактично пішов URL:
?sub1=
User конвертувався.
Network бачить conversion,
але не має abc123 для postback.
У цьому випадку проблема виникла ще до самої conversion. Тому при debugging потрібно перевіряти весь data flow, а не тільки фінальний postback URL.
Найчастіші помилки при tracking conversion
- Неправильний macro. Tracker передає identifier в одне поле, а network очікує інше.
- Click ID губиться. Parameter не доходить до affiliate system.
- Неправильний postback URL. Network відправляє conversion не на той endpoint або з неправильними parameters.
- Неправильний status mapping. `pending`, `approved` і `rejected` обробляються некоректно.
- Duplicate conversions. Повторний postback створює новий event замість update.
- Payout передається неправильно. Помилка macro, decimal separator або currency.
- Плутанина між IDs. Tracker click ID, network click ID і traffic-source click ID сприймаються як один identifier.
Як перевірити tracking перед запуском
Найкращий спосіб — зробити end-to-end test. Не варто чекати, поки paid campaign витратить budget, щоб потім побачити нуль conversions у tracker. Спочатку потрібно пройти весь flow вручну або використати test conversion, якщо її підтримує affiliate program.
- Відкрити campaign link.
- Перевірити, чи tracker записав click.
- Подивитися, який click ID був створений.
- Перевірити final offer URL і переконатися, що identifier передано.
- Створити test conversion.
- Перевірити postback logs.
- Переконатися, що tracker знайшов правильний click.
- Перевірити goal, status, payout і transaction ID.
- За потреби перевірити передачу event назад у traffic source.
Тільки після цього tracking можна вважати хоча б базово перевіреним. При масштабуванні також варто періодично звіряти статистику tracker і affiliate program, тому що навіть робоча integration може зламатися після зміни URLs, macros або settings.
Чому цифри tracker і партнерки можуть не збігатися
Навіть правильно налаштований tracking не гарантує абсолютної ідентичності всіх dashboard. Tracker може рахувати свої clicks, affiliate network — переходи, які фактично отримала її system, а traffic source — рекламні interactions за власною методологією. Так само можуть відрізнятися time zones, filters та timing оновлення data.
Розбіжність сама по собі ще не доводить shave або технічну проблему. Важливі її масштаб, стабільність і причина. Якщо різниця різко зросла після зміни integration, тоді вже варто перевіряти data flow від click до conversion.
Click ID, transaction ID і user ID — різні речі
Для новачка особливо важливо не змішувати різні identifiers. Click ID ідентифікує tracking click. Transaction ID — конкретну conversion або фінансову операцію. User ID, якщо він взагалі доступний, ідентифікує account користувача всередині певної системи.
| ID | Що ідентифікує | Для чого використовується |
|---|---|---|
| Click ID | Click | Attribution conversion до початкового traffic |
| Transaction ID | Conversion / transaction | Deduplication та update status |
| User ID | User account у певній system | User-level product analytics, якщо доступно та дозволено |
Саме тому говорити «tracker за click ID знає, який саме user конвертнувся» не зовсім правильно. Tracker насамперед знає, який записаний click потрібно пов’язати з conversion. Це набагато точніше технічно.
FAQ про трекінг конверсій
Що таке click ID?
Click ID — унікальний identifier конкретного tracking click. Він дозволяє надалі зв’язати conversion із campaign, source, creative та іншими parameters, записаними під час переходу.
Що таке S2S postback?
S2S postback — HTTP request між servers, за допомогою якого affiliate network або advertiser може повідомити tracker про conversion і передати click ID та інші доступні parameters.
Click ID — це ID користувача?
Ні. У типовому affiliate tracking click ID ідентифікує конкретний click. Один користувач може створити кілька різних clicks і, відповідно, кілька click IDs.
Чи обов’язково postback передає payout?
Ні. Набір parameters залежить від integration. Мінімально tracker потрібен identifier, за яким він зможе зіставити conversion з click. Payout, status, goal, transaction ID та інші дані передаються лише якщо це підтримують системи.
Чи може одна conversion мати кілька status?
Так. Наприклад, lead може спочатку бути pending, а після validation перейти в approved або rejected. Якщо integration це підтримує, tracker може отримувати status updates.
Чому conversion є в партнерці, але немає в tracker?
Одна з типових причин — втрачений або неправильно переданий click ID. Також проблема може бути в postback URL, macros, filters, status mapping або самій integration. Потрібно перевіряти весь flow від початкового click.
Висновок
Трекінг конверсій в affiliate marketing будується навколо простої ідеї: потрібно зберегти зв’язок між початковим click і результатом, який стався пізніше. Tracker створює або записує identifier, передає його далі по funnel, а після conversion отримує цей identifier назад через postback або іншу integration.
Але за простою схемою стоїть багато технічних деталей: macros, click IDs, transaction IDs, conversion goals, statuses, payouts і кілька різних tracking systems. Тому хороший setup — це не просто «вставити postback URL», а перевірити весь ланцюг click → identifier → offer → conversion → feedback → attribution. Коли він працює коректно, affiliate може пов’язати revenue з конкретними traffic segments і приймати рішення вже не наосліп, а на основі downstream data.
