2 способа получения Client ID Google Analytics в Google Tag Manager

Google Analytics
Google Tag Manager

Этот вопрос становится все более актуальным по причине популяризации Google Tag Manager и роста интереса к сбору данных о конкретном пользователе.

Ранее я приводил пример настройки для сбора данных о конкретном пользователе в Google Analytics и Яндекс Метрике используя настройки Google Tag Manager, в которых для уникального ключа использовал самостоятельно сгенерированное значение. Но имеется также решение и на базе значения Client ID Google Analytics. Об особенностях его использования я писал ранее.

Давайте рассмотрим варианты получения значения Client ID в Google Tag Manager. Для решения задачи нам понадобится создать собственную переменную, настройки которой будут зависеть от выбранного вами варианта. Я предлагаю два:

  • с помощью метода get() Google Analytics;
  • из cookie _ga Google Analytics.

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

Первый вариант: получаем Client ID Google Analytics методом get().

Необходимо создать собственную переменную типа Собственный код JavaScript:

Переменная типа Собственный код JavaScript

Переменная типа Собственный код JavaScript

Далее указать следующий код JavaScript:

Немного поясню, что он делает. Сначала мы получаем трекер Google Analytics, затем методом get() через него получаем нужное нам значение. Результат работы в отладчике:

Получение через метод get()

Получение через метод get()

Второй вариант: получаем Client ID Google Analytics из cookie _ga.

Необходимо создать переменную, которая получит значение из cookie, и вернет необходимое значение. Пути решения два:

  • создать переменную для получения значения из cookie файла и затем работать с этой переменной;
  • создать универсальную переменную, которая сразу вернет нужное значение.

Я покажу второй вариант, но предварительно напомню, что Client ID Google Analytics хранится в cookie файле _ga в следующем виде:

Client ID в cookie файле

Client ID в cookie файле

Нам же необходимы только 3 и 4 фрагмент, если разделить эту строку на части через знак . .

Создаем переменную со следующими настройками:

Переменная типа Собственный код JavaScript

Переменная типа Собственный код JavaScript

В поле Собственный код JavaScript размещаем следующий код (что он делает указано в комментариях):

В интерфейсе Google Tag Manager это выглядит примерно вот так:

Настройки переменной

Настройки переменной

После этого сохраняем переменную и можем посмотреть как она работает в режиме предварительного просмотра Google Tag Manager:

Проверка перемнной в отладчике

Проверка перемнной в отладчике

Итак, мы решили нашу задачу – получили Client ID Google Analytics в Google Tag Manager. Но… Есть один момент, который нужно учитывать при использовании этих методов.

При первом обращении к сайту нужное значение для пользователя будет возвращено не ранее стандартного события gtm.load при условии, что тег Google Analytics активируется триггером “по умолчанию” Все страницы.

Вот пример первого визита пользователя на ваш сайт:

Событие Pageview Google Tag Manager

Событие Pageview Google Tag Manager

После выполнения события gtm.load становится доступно нужное значение:

Событие Page Load Google Tag Manager

Событие Page Load Google Tag Manager

При повторном визите / загрузке следующей страницы, нужно значение доступно с первого события Google Tag Manager при использовании способа получения значения из cookie, если через метод get(), то не ранее gtm.load.

Кто готов поделиться соображениями почему так происходит, прошу писать комментарии.

Еженедельная рассылка кейсов!