Click ID атрибуция: gclid, fbclid, li_fat_id и как их правильно использовать

Большинство B2B-маркетологов знают про UTM-параметры - и значительно меньше понимают, как работают click ID: gclid от Google, fbclid от Meta, li_fat_id от LinkedIn. Между ними принципиальная разница: UTM-параметры вы создаёте сами и контролируете, click ID присваивает рекламная платформа автоматически. И именно click ID - ключ к точной атрибуции, особенно для B2B с длинным циклом сделки.

Проблема в том, что у 80% B2B-компаний click ID теряется на пути от клика до CRM. Захватили в GA4 - не передали в CRM. Сохранили в cookie - не прочитали при заполнении формы. В итоге Google знает что пользователь кликнул на объявление, но не знает что он стал клиентом через 90 дней. Алгоритмы оптимизируют под micro-конверсии, не под revenue.

Что такое click ID и зачем он нужен

gclid (Google Click ID) присваивается каждому клику на Google Ads объявление. Это уникальный идентификатор конкретного клика конкретного пользователя. Аналогично: fbclid для Meta, li_fat_id для LinkedIn, ttclid для TikTok, msclkid для Microsoft Ads.

Когда вы передаёте gclid обратно в Google через Offline Conversions Import или Enhanced Conversions - Google связывает конкретный клик с конкретной конверсией. Даже если она произошла через 180 дней по телефону. Это принципиально точнее, чем атрибуция по last-click в GA4.

Для B2B - это единственный способ дать рекламным алгоритмам сигнал о реальных продажах, а не о form fills.

Почему click ID теряется

Первая причина: редирект без передачи параметров. Ссылка ведёт на /landing, который редиректит на /ru/landing - и параметры теряются, если редирект настроен некорректно. Проверяйте все редиректы с UTM + click ID.

Вторая причина: форма без hidden fields. Форма на сайте не передаёт gclid в CRM. Пользователь кликнул с рекламы, заполнил форму - в CRM пришёл лид без gclid. Click ID был в cookie браузера, но никто его не прочитал.

Третья причина: cookie ITP (Intelligent Tracking Prevention) в Safari и Firefox. gclid cookie живёт 1-7 дней в зависимости от браузера. Если B2B-цикл длиннее - cookie уже нет.

Как захватить gclid правильно

Минимальная реализация - JavaScript на лендинге:

function getUrlParam(name) {
  const params = new URLSearchParams(window.location.search);
  return params.get(name);
}

function saveClickIds() {
  const ids = {
    gclid:     getUrlParam('gclid'),
    fbclid:    getUrlParam('fbclid'),
    li_fat_id: getUrlParam('li_fat_id'),
    msclkid:   getUrlParam('msclkid'),
    ttclid:    getUrlParam('ttclid'),
  };
  for (const [key, value] of Object.entries(ids)) {
    if (value) {
      // Сохранить в localStorage (переживает переходы по страницам)
      localStorage.setItem(key, value);
      // И в cookie (для server-side чтения)
      document.cookie = key + '=' + value + '; max-age=7776000; path=/; SameSite=Lax';
    }
  }
}
saveClickIds();

На форме - передать в hidden fields:

<input type="hidden" name="gclid" id="hidden_gclid">
<script>
  document.getElementById('hidden_gclid').value =
    localStorage.getItem('gclid') || '';
</script>

Передача click ID в CRM

Когда форма отправляется - gclid должен попасть в CRM-контакт или сделку. В Kommo: кастомное поле “gclid” в контакте, заполняется при создании лида через API. В HubSpot: hidden property google_click_id (встроенный) или кастомное свойство.

Дальше - при закрытии сделки отправить gclid обратно в Google через Offline Conversions API. Это замыкает цикл: Google узнаёт что конкретный клик дал реального клиента.

li_fat_id: особенности LinkedIn

LinkedIn First-Party Ad Tracking ID появляется в URL как li_fat_id. Он привязан к LinkedIn-профилю пользователя, а не к cookie - что делает его более устойчивым к ITP. Срок действия: 30 дней.

Для LinkedIn Conversion API: li_fat_id передаётся в поле li_fat_id в теле запроса конверсии. Без него - LinkedIn не может связать offline конверсию с конкретным пользователем. Захватите и сохраните его так же, как gclid.

Что делать с потерянными click ID

Если click ID не захвачен - fallback через email hash. Google Enhanced Conversions, LinkedIn CAPI и Meta CAPI принимают хешированный email (SHA-256) для offline attribution. Это менее точно, чем click ID, но работает для пользователей, которые вошли в рекламную платформу под тем же email.

Для B2B, где email - основной идентификатор контакта в CRM, это realistically покрывает 40-60% конверсий без click ID.

Для кого это критично

Компании с B2B циклом сделки более 30 дней и бюджетом в Google/LinkedIn/Meta от $10k/месяц. Без click ID передачи вы платите за performance-кампании, но не даёте алгоритмам обучаться на реальных продажах. Smart Bidding оптимизирует под форму заявки, а не под закрытую сделку - это фундаментальная проблема. Исправляется настройкой один раз, результат - кампании, которые привлекают клиентов, а не просто лиды.