click_id, sub1, fbclid, fbc, ttclid і transaction_id можуть бути в одному URL, але вирішують різні задачі. Помилки починаються, коли campaign ID використовують як унікальний клік, fbclid вважають внутрішнім ключем трекера або одним click ID дедуплікують усі покупки.
Карта ідентифікаторів
| Значення | Хто створює | Що ідентифікує | Де зберігати | Навіщо повертати |
|---|---|---|---|---|
| Internal click ID | Трекер | Один відстежений клік | Окреме поле або sub-поле мережі | S2S postback |
| Sub ID | Трекер/баєр | Довільний контекст або контейнер | sub1…subN, aff_sub | Зріз або перенос click ID |
fbclid | Meta | Клік із реклами Meta | Click record і first-party storage | Побудова fbc, CAPI attribution |
fbc | Сайт/інтеграція | Meta click context | First-party/server storage | Meta CAPI |
fbp | Meta Pixel/сайт | Браузер Meta | First-party cookie | CAPI matching |
ttclid | TikTok | Клік із TikTok Ads | Click record | TikTok attribution/Events API |
gclid | Google Ads | Клік із Google Ads | Click record/CRM | Offline conversion import |
| Transaction ID | Мережа/CRM | Одну бізнес-подію | Conversion record | Dedup і correction |
| Campaign/ad IDs | Рекламна платформа | Групу кліків | Окремі dimensions | Звітність |
Internal click ID — основний ключ трекера
Він створюється під час проходження tracking link, має бути унікальним, незмінним і без персональних даних. Трекер повертає за ним пізню registration або purchase до source, campaign, creative, stream і offer.
Значення часто їде в універсальному полі мережі:
https://network.example/offer?aff_sub={click_id}
і повертається postback-запитом:
https://tracker.example/postback?click_id={aff_sub}&status={status}
Назви можуть відрізнятися, значення — ні. Напрямок власності пояснює гайд про параметри Postback URL.
Sub ID — це поле, а не тип даних
sub1, sub2, aff_sub і s2 — контейнери. У них можна покласти внутрішній click ID, код баєра, placement, creative angle або landing variant. Тому «click ID лежить у sub2» може бути правильним, а «кожен sub ID є click ID» — ні.
sub1=facebook_feed корисний як сегмент, але повторюється на багатьох переходах і не знаходить одну конверсію.
fbclid, fbc і fbp
Meta може додати fbclid до landing URL після рекламного кліку. Це контекст Meta, не внутрішній namespace вашого трекера. Для server-side події використовується fbc у потрібному форматі; fbp допомагає browser matching.
Зберігайте паралельно:
- internal click ID для власної атрибуції та postback;
- Meta click/browser context для CAPI.
Жоден із них не замінює transaction ID. Для Browser Pixel і CAPI-копії тієї самої події також потрібен узгоджений event_id. Campaign, ad set і ad IDs тримайте в окремих полях; шаблон є в макросах Facebook Ads.
ttclid
TikTok визначає TTCLID як click ID, що додається до landing URL та використовується для атрибуції, вимірювання, аудиторій і оптимізації (офіційна довідка TikTok). Зберігайте його окремо:
internal_click_id = dc_01K2A7M9X4
ttclid = EAIaIQob...
campaign_id = 183746...
Якщо redirect або PWA втрачає query string, TikTok context зникне, хоча трекер продовжить рахувати кліки. Повний шаблон dimensions — у гайді про макроси TikTok Ads.
gclid та інші platform IDs
Google Ads використовує gclid для click attribution та offline conversions. Загальна модель однакова:
- platform click ID належить рекламній системі;
- internal click ID належить трекеру;
- click record зберігає їхній зв’язок;
- transaction ID належить конверсії.
Не створюйте platform IDs самостійно: випадкове значення не відновить атрибуцію.
Transaction ID і event ID
Один click ID може дати кілька справжніх подій:
click dc_01K2A7M9X4
├── registration tx_reg_7719
├── first_deposit tx_dep_8821
└── repeat_deposit tx_dep_9904
Transaction ID розрізняє їх і не дає retry врахувати одну подію двічі. Для Browser Pixel + Meta CAPI спільний event_id пов’язує дві копії однієї події.
Не використовуйте один event ID на все життя користувача — реальні покупки склеяться. Не створюйте різні IDs для browser і server копій однієї покупки — платформа може порахувати дві.
UTM — не click ID
utm_source, utm_campaign, utm_content описують канал і групу. Тисячі переходів можуть мати однаковий набір. Ієрархія проста:
- UTM і campaign/ad IDs — де та в якій групі;
- click ID — який конкретний перехід;
- transaction/event ID — яка конкретна подія.
Pass/fail-перевірка
| Тест | Pass |
|---|---|
| Кожен контрольний перехід створює новий internal click ID | ☐ |
fbclid або ttclid проходить усі redirect | ☐ |
| Campaign/ad IDs не підміняють унікальний click key | ☐ |
| Мережа отримує ID в узгодженому sub-полі | ☐ |
| Postback повертає те саме значення | ☐ |
| Кожна транзакція має стабільний ID | ☐ |
Pixel і CAPI використовують спільний event_id | ☐ |
| У URL немає PII і секретів | ☐ |
FAQ
Click ID і Sub ID — одне й те саме?
Ні. Click ID описує роль унікального ключа. Sub ID — гнучке поле, яке може містити цей ключ або іншу мітку.
Чи потрібен internal ID, якщо є fbclid?
Так. fbclid підтримує Meta attribution, а внутрішній ID — незалежний tracking, postback і reconciliation.
Навіщо transaction ID?
Один клік може породити кілька реальних подій і кілька доставок одного callback. Transaction ID відрізняє подію від retry.
Робоча модель
DarkCore PWA Tracker пов’язує source context, internal click ID і platform identifiers; Conversion Statuses нормалізують callback, а Analytics показує результат за однією явною моделлю.