Отслеживание параметров yclid/gclid с помощью Google Tag Manager

23 мая, 2021

Хотели бы вы отслеживать данные по каждому рекламному клику Яндекс.Директа и Google Ads в Google Analytics отдельно? Знать какой пользователь с каким Client ID его совершил? Связать клик с заявкой в CRM-системе? Офлайн-конверсии с рекламой? Тогда вы можете передавать дополнительным параметром yclid и gclid рекламных систем в аналитику.

Если рассматривать принципы работы счетчиков веб-аналитики (Google Analytics, Яндекс.Метрика) и рекламных инструментов (Google Реклама, Яндекс.Директ), то между ними есть существенные различия. Ключевыми являются следующие:

  • аналитика фиксирует визиты/сеансы на сайт, а рекламные сервисы — клики по объявлениям;
  • рекламные и аналитические инструменты имеют разный подход к отслеживанию данных и приписыванию конверсий.

Про отличия подходов между Яндекс.Метрикой и Яндекс.Директом подробно написано в двух материалах:

В этой статье я буду больше приводить примеров для Яндекса, но они также применимы и для продуктов Google. Итак, по умолчанию Яндекс.Метрика привязывает достижение цели к тому визиту, во время которого произошла конверсия.

Пример взаимодействия пользователя

Например, пользователь перешел на ваш сайт по рекламе из Яндекс.Директа, но не совершил никаких действий. Затем он зашел на сайт из органической выдачи (результатов поиска) и совершил конверсию. Яндекс.Метрика отнесет конверсию к переходу из поиска.

Почему так? Яндекс.Директ записывает конверсии по той дате, когда был совершен значимый переход по рекламе, то есть привязывается к фактическому клику, а Яндекс.Метрика записывает конверсии в тот день, когда и была совершена конверсия, день в день, то есть привязывается к визиту, который сгенерировал данный клик. Из-за этого происходит расхождение данных по дням, а точность рекламы снижается, особенно когда между совершением клика по рекламе и фактической конверсией проходит много времени.

Возможен и другой случай (не менее распространенный), когда пользователь кликнул по рекламному объявлению, перешел на сайт, оформил заказ, но не оплатил его. Затем он вызвал курьера, который через 3 дня доставил ему посылку на дом. По факту получения заказа пользователь совершил оплату. При такой цепочке касаний мы не можем точно учитывать итоговое количество продаж и конверсию из заявки в оплаченный заказ в Яндекс.Метрике без дополнительных действий с нашей стороны. А данный недостаток данных может сильно повлиять на результаты рекламных кампаний.

Чтобы избежать таких случаев, а также иметь возможность загружать данные по офлайн-конверсиям в аналитику и рекламные кабинеты, необходимо отслеживать конверсии по параметру yclid и gclid.

Метка yclid

yclid (Yandex Click Identifier, Yandex Click ID) - специальная метка с уникальным номером клика в Яндекс.Директе, которая добавляется в конец ссылки рекламного объявления и позволяет связывать визиты в Метрике с кликами по объявлению.

Размечать ссылки для Метрики параметром yclid

При настройке рекламной кампании данная опция по умолчанию включена. Когда пользователь совершает клик по рекламному объявлению из поисковой выдачи Яндекса и переходит на сайт, в адресной строки браузера вы можете заметить, как к текущему URL-адресу добавляется параметр yclid с автоматически сгенерированным уникальным значением (после utm_меток или сразу же):

Параметр yclid в конце ссылки (после utm_меток)

Ссылка может имеет простой вид: https://osipenkov.ru/?yclid=2780136507770954362

Примечание: если в URL уже добавлен какой-либо параметр, обозначенный знаком ? (например, utm_метки), то параметру yclid будет предшествовать знак & (см. скриншот выше).

Значение параметра yclid для каждого рекламного клика уникально. В него "зашита" информация о переходе пользователя: времени клика, стоимости клика, рекламной кампании, ключевому слову, площадке и всех его последующих действиях на сайте. Таким образом, yclid из Яндекс.Директа позволяет Яндекс.Метрике собрать данные о параметре перехода и отследить действия пользователя на сайте после клика на объявление, в том числе и офлайн-конверсии.

Метка gclid

gclid (Google Click Identifier, Google Click ID) - схожая по функционалу с Яндексом метка с уникальным номером клика в Google Рекламе, которая также добавляется в конец ссылки рекламного объявления и позволяет связывать сеансы в Google Analytics с кликами по объявлению. При использовании параметра gclid можно также импортировать сложные конверсии (онлайн и офлайн) в Google Ads.

Аналогично Директу и Метрике, когда пользователь совершает клик по рекламному объявлению из поисковой выдачи Google и переходит на сайт, в адресной строки браузера вы можете заметить, как к текущему URL-адресу добавляется параметр gclid с автоматически сгенерированным уникальным значением (после utm_меток или сразу же):

Параметр gclid в конце ссылки

Ссылка может имеет простой вид: https://osipenkov.ru/?gclid=Cj0KCQjw16KFBhCgARIsALB0g8Ju2-h4FL94jbEG16C_SI6dkDjurf0lVnfkyLM9paC8eqpLc0u1QeMaAqJMEALw_wcB

Примечание: если в URL уже добавлен какой-либо параметр, обозначенный знаком ? (например, utm_метки), то параметру gclid будет предшествовать знак & (см. скриншот выше).

Активировать данную настройку можно с помощью простановки галочки в пункте Автоматическая пометка тегами в настройке аккаунта Google Ads:

Автоматическая пометка тегами

При использовании связки Google Analytics - Google Реклама разработчики Google рекомендуют использовать именно способ автоматической пометки тегами, а не промечать рекламные кампании utm_метками вручную, поскольку из-за последних точность сбора данных может снизиться. Используйте либо автоматическую пометку тегами, либо utm_метки.

Однако на практике иногда встречается гибридный, третий вариант, при котором автоматическая пометками тегами с gclid нужна для Google Ads и передачи офлайн-конверсий, а utm_метки - для разметки трафика для других аналитических систем. В этом случае интернет-маркетолог использует в рекламных объявлениях и то, и то. Тогда в самом Universal Analytics в настройках на уровне ресурса следует поставить галочку Разрешить пометку вручную (значения UTM), замещающую автоматическую пометку (значения GCLID). О том, какие еще проблемы могут возникнуть при переадресации URL и отслеживании параметра gclid, читайте в справке Google.

Если на вашем сайте настроена переадресация, важно, чтобы параметр yclid/gclid сохранялся в URL страницы, на которую переадресовывается пользователь. Если при переходе он теряется, то обратитесь к своему разработчику с просьбой внести корректировки в работу сайта.

Сохранение параметров yclid и gclid в cookie

Перед тем, как начать настройку отслеживания параметров yclid и gclid с помощью Google Tag Manager, хотелось бы напомнить, что привязка офлайн-конверсий, как правило, идет на стороне CRM-системы, куда поступают данные по фактическим продажам и итоговой сумме покупки, а оттуда уже данные выгружаются и передаются по определенному шаблону в инструменты аналитики и рекламы. Таким образом, соответствующие параметры yclid и gclid у вас должны также фиксироваться вне счетчиков веб-аналитики, например, на стороне CRM-системы. А это еще одна дополнительная задача для разработчиков - передать данные по параметру yclid/gclid в отдельное поле карточки сделки в CRM-системе!

Итоговый алгоритм того, что нужно сделать для отслеживания параметров yclid и gclid, следующий:

  • включить разметку ссылок для Метрики в Яндекс.Директе и автоматическую пометку тегами в Google Рекламе;
  • добавить на сайт код, который сохраняет значение параметра yclid/gclid из URL в cookie;
  • извлечь значение параметров yclid/gclid из cookie и отправить его в CRM-систему после того, как пользователь на сайте совершит конверсию (обращение);
  • закрыть сделку, переведя ее в соотвествующий статус в CRM;
  • выгрузить данные из CRM по успешным сделкам с привязкой к параметру yclid/gclid, и загрузить эту информацию в Яндекс.Метрику и Google Рекламу.

Также дополнительно с достигнутой конверсией мы можем передавать значения yclid/gclid в аналитику в качестве параметра визита для Яндекс.Метрики и специального параметра в Universal Analytics.

Осталось теперь настроить сами отслеживания данных парамеров. Для этого будем использовать Google Tag Manager. Создайте тег типа Пользовательский HTML и вставьте в него следующий код:

В Google Tag Manager это выглядит так:

Тег "Пользовательский HTML" для сохранения параметра yclid в cookie

Триггер активации - Все страницы (All Pages).

Этот тег сохраняет значение параметра yclid в cookie. В этом легко убедиться: просто перейдите в режим предварительного просмотра GTM, и в адресной строке браузера в URL добавьте параметр yclid с любым значением, например: https://osipenkov.ru/?yclid=2780136507770954362

Затем перейдите в консоль разработчика на вкладку Application и откройте раздел с куками Cookies. В перечне всех файлов cookie найдите yclid. В параметре должно отобразиться ваше значение:

Параметр yclid сохраняется в основных файлах cookie

Если yclid изменить, то изменится и значение в куке yclid, оно перезапишется:

Другое значение в параметре yclid

Примечание: способы получения yclid на сайте и их извлечения для отслеживания конверсий подробно описаны в официальной документации Яндекса.

Аналогичный код нужно добавить для сохранения параметра gclid в куки. В диспетчере тегов Google создайте тег типа Пользовательский HTML и вставьте в него следующий код:

В Google Tag Manager это выглядит так:

Тег "Пользовательский HTML" для сохранения параметра gclid в cookie

Триггер активации - Все страницы (All Pages).

Сохранив изменения, проверим корректность сохранения gclid в файле cookie таким же способом, что и yclid. Например: https://osipenkov.ru/?gclid=EAIaIQobChMI7pLCy_Pd8AIVh0eRBR0SZwFzEAAYASAAEgI23PD_BwE

Консоль разработчика - Application - Cookies:

Параметр gclid сохраняется в основных файлах cookie

Из любопытства в адресную строку браузера можно добавить два параметра подряд:

gclid и yclid вместе

Отлично! Мы научились сохранять значения параметров yclid и yclid в куки с помощью специального кода JavaScript и Google Tag Manager. Теперь необходимо эти данные извлечь.

Извлечение параметров yclid и gclid из cookie

Самый простой способ - в GTM создать 2 переменные типа Основной файл cookie с соответствующими названиями yclid и gclid:

Переменные типа "Основной файл cookie" - yclid и gclid

Перейдя в режим отладки Google Tag Manager, на вкладке Variables напротив соответствующей переменной вы должны увидеть сохраненные значения каждого из параметров:

Значения переменных yclid и gclid в режиме отладки GTM

Примечание: значения yclid и gclid в Google Tag Manager можно также извлекать из пользовательской переменной URL с типом компоненты Запрос:

Извлечение данных из URL

Однако, если пользователь перейдет на вторую страницу, параметр gclid исчезнет, поэтому сохранение значения параметра в cookie является наиболее правильным и точным решением.

Теперь вы можете передавать значения yclid и gclid пользователей вместе с достижением конверсии (конкретной цели), отправляя их при выполнении какого-либо триггера/тега (отправки формы, клика по кнопке и т.д.) в параметры визита Яндекс.Метрики и как специальный параметр Universal Analytics. А для связывания этой информации со статусами сделок параметры yclid и gclid следует передавать еще и в CRM-систему. То, как программно получать эти данные, мы разобрали. А вот как эти данные передать в CRM-систему в отдельные поля, уточните у своего разработчика или команды интеграторов (специалистов по внедрению CRM-систем).

После этого вы можете воспользоваться нижеприведенными инструкциями, чтобы передать данные офлайн-конверсий в Метрику и Google Рекламу:

Пример специального отчета в Universal Analytics со специальными параметрами Client ID (область действия - Пользователь) и gclid (область действия - Сеанс):

Пример специального отчета с Client ID и gclid

Если вы используете функцию User ID, вы также можете связать офлайн-конверсии с данными Google Analytics и Google Рекламы. Главное - настройте передачу данных по параметрам yclid/gclid в отдельные поля вашей CRM-системы.

Добавив в отчет параметры кампании, ключевого слова и gclid, вы получите отчет примерно такого вида:

Отчет с разбивкой по кампании и ключевому слову с gclid

Чтобы передавать данные по yclid в Яндекс.Метрику как параметр визита, добавьте одну строчку в итоговый код счетчика, как показано ниже:

Пример передачи yclid в качестве параметра визита

Конструкция:

позволяет передавать в Яндек.Метрику один объект или массив данных как параметр визита. В моем примере: yclid - параметр визита 1 уровня, а переменная {{Variable - yclid }}, на которую мы ссылаемся в коде и в которую будет подставляться значение уникального клика из Яндекс.Директа - параметр визита 2 уровня.

Примечание: вы можете объединить коды для сохранения параметра yclid в cookie и Яндекс.Метрики в один Пользовательский HTML тег. В результате в консоли разработчика (проверка во вкладке Console и с меткой _ym_debug=1) при инициализации счетчика Метрики параметр yclid будет передаваться как параметр визита (Params):

Пример передачи yclid как параметр визита

Через некоторое время в отчете Параметры визитов Яндекс.Метрики отобразиться данное значение:

Параметр визита в отчете Яндекс.Метрике

Мы также, как и в Universal Analytics, можем сопоставить его со значением уникального идентификатора пользователя (Client ID):

Сопоставление Client ID и yclid

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике