Перейти к содержимому
Все статьи
7 мин чтения

Click ID, Sub ID, fbclid, fbc и ttclid: чем они отличаются

Разные идентификаторы клика проходят через подписанные каналы одной системы атрибуции

click_id, sub1, fbclid, fbc, ttclid и transaction_id часто оказываются в одном URL, но решают разные задачи. Ошибка начинается, когда один идентификатор пытаются использовать вместо другого: campaign ID отправляют как уникальный клик, fbclid считают внутренним ключом трекера, а один click ID используют для дедупликации всех депозитов.

Эта статья — карта ролей: кто создаёт идентификатор, где он живёт и на каком этапе его нужно вернуть.

Карта идентификаторов

ЗначениеКто создаётЧто идентифицируетГде хранитьДля чего вернуть
Internal click IDТрекерОдин отслеженный кликОтдельное поле click ID или sub-поле сетиS2S postback в трекер
Sub IDТрекер/баерПроизвольный контекст или контейнерsub1…subN, aff_subАналитический срез или перенос click ID
fbclidMetaКлик по рекламе MetaВ click record и first-party storageПостроение fbc, CAPI attribution
fbcСайт/интеграцияCookie-формат Meta click contextFirst-party cookie/серверMeta Conversions API
fbpMeta Pixel/сайтИдентификатор браузера MetaFirst-party cookieMeta CAPI matching
ttclidTikTokКлик по рекламе TikTokВ click record и first-party storageTikTok Events API/атрибуция
gclidGoogle AdsКлик по рекламе GoogleВ click record/CRMOffline conversion import
Transaction IDСеть/CRMОдно бизнес-событиеConversion recordDedup и correction
Campaign/ad IDsРекламная платформаГруппу кликовОтдельные dimensionsОтчётность и разбивка

Internal click ID: позвоночник трекера

Внутренний click ID создаётся, когда пользователь проходит через tracking link. Он должен быть уникальным, неизменяемым и не содержать персональные данные.

Трекер использует его как ключ, чтобы поздняя регистрация или покупка вернулась к исходному source, campaign, creative, stream и offer. В URL партнёрской сети ID часто едет в универсальном поле:

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;
  • buyer/team code;
  • placement;
  • creative angle;
  • имя landing-варианта.

Поэтому фраза «наш click ID лежит в sub2» корректна. Фраза «любой sub ID — это click ID» — нет. Если в sub1=facebook_feed, это полезная метка, но она повторяется у множества кликов и не может найти одну конверсию.

fbclid и fbc: связаны, но не равны

Meta добавляет fbclid к URL после рекламного клика. Это платформенный идентификатор, а не замена внутреннего ключа трекера. Для server-side отправки Meta использует параметр fbc, который обычно строится из click context и имеет ожидаемый формат.

Практически нужно сохранить оба слоя:

  1. внутренний click ID — чтобы ваш трекер нашёл клик;
  2. Meta click context — чтобы Meta сопоставила CAPI-событие со своим рекламным кликом.

fbp решает ещё одну задачу: помогает Meta сопоставить браузер. Он не идентифицирует business transaction и не заменяет event_id для дедупликации Browser Pixel + CAPI.

Параметры кампаний Meta — campaign_id, adset_id, ad_id и их name-макросы — вынесите в отдельные поля. Рабочий шаблон разобран в макросах URL для Facebook Ads.

ttclid: click context TikTok

TikTok описывает TTCLID как click ID, который добавляется к landing URL после клика и используется для атрибуции, измерения, создания аудиторий и оптимизации доставки (официальная справка TikTok).

Его тоже нужно хранить отдельно от internal click ID:

internal_click_id = dc_01K2A7M9X4
ttclid           = EAIaIQob...
campaign_id      = 183746...

Если редирект или PWA теряет query string, TikTok context исчезнет, даже когда ваш внутренний трекер продолжит считать клики. Именно поэтому URL надо проверять после каждого перехода. Для структуры campaign-параметров используйте гайд по макросам TikTok Ads.

gclid и другие platform click IDs

Google Ads использует gclid для click attribution и offline conversion workflows. Другие платформы имеют свои идентификаторы. Общая модель не меняется:

  • platform click ID принадлежит рекламной системе;
  • internal click ID принадлежит вашему трекеру;
  • mapping между ними хранится в click record;
  • transaction ID принадлежит конверсии.

Не пытайтесь создать собственный gclid, fbclid или ttclid. Если платформа не передала значение, произвольная строка не восстановит её атрибуцию.

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 для Pixel и CAPI одной покупки: платформа увидит две конверсии.

UTM-параметры — не идентификатор клика

utm_source, utm_campaign, utm_content описывают канал и группировку. Тысячи переходов закономерно имеют одинаковый UTM-набор. UTM полезны для отчётности, но не могут надёжно вернуть позднюю конверсию к одному клику.

Удобная иерархия:

  • UTM и campaign/ad IDs — где и в какой группе;
  • click ID — какой конкретно переход;
  • transaction/event ID — какое конкретно событие.

Пример записи одного клика

{
  "click_id": "dc_01K2A7M9X4",
  "source": "facebook",
  "campaign_id": "120210001",
  "adset_id": "120210101",
  "ad_id": "120210111",
  "fbclid": "IwY2xjaw...",
  "fbc": "fb.1.1786011100.IwY2xjaw...",
  "sub1": "buyer_07",
  "sub2": "feed_video_a"
}

Ни email, ни телефон, ни имя не должны ехать в открытом query string. URL попадают в access logs, analytics, историю браузера и интерфейсы партнёров.

Pass/fail-проверка параметров

ТестPass
Каждый тестовый переход создаёт новый internal click ID
fbclid или ttclid сохраняется после всех редиректов
Campaign/ad IDs лежат в отдельных полях и не подменяют click ID
Сеть получает внутренний click ID в согласованном sub-поле
Postback возвращает то же значение без изменений
Каждая транзакция получает стабильный уникальный ID
Pixel и CAPI одной конверсии используют общий event_id
В URL нет персональных данных и секретов

Частые ошибки

  • записать campaign ID в click_id и схлопнуть все переходы;
  • сохранить fbclid, но потерять его при PWA/open/offer redirect;
  • передать внутренний click ID в сеть, но вернуть другой sub-слот;
  • считать fbc буквальной копией fbclid без корректного формата;
  • использовать UTM как ключ postback;
  • дедуплицировать все события только по click ID;
  • менять регистр или длину непрозрачного идентификатора;
  • передавать PII в sub-параметрах.

FAQ

Click ID и Sub ID — одно и то же?

Нет. Click ID — роль уникального ключа клика. Sub ID — универсальное поле, которое может переносить click ID или любую другую метку.

Нужно ли хранить internal click ID, если есть fbclid?

Да. fbclid помогает Meta, а внутренний ID обеспечивает вашу собственную атрибуцию, postback и reconciliation между источниками.

Чем fbclid отличается от fbc?

fbclid приходит в landing URL после рекламного клика. fbc — параметр click context в ожидаемом Meta формате для server-side события. Они связаны, но не взаимозаменяемы как имена полей.

Зачем transaction ID, если click ID уже уникален?

Потому что один клик может дать несколько настоящих конверсий и несколько повторных доставок одного callback. Transaction ID отличает событие от retry.

Рабочая модель

Храните отдельные колонки для отдельной ответственности. В DarkCore PWA Tracker click record связывает source context, внутренний click ID и platform identifiers; Conversion Statuses нормализуют callback, а аналитика показывает итог по одной согласованной модели.

  • click id vs sub id
  • что такое fbclid
  • fbc facebook
  • ttclid
  • идентификатор клика