Как в Яндекс Метрике использовать dataLayer из Google Tag Manager

При отслеживании действий пользователя мы используем различные свойства, которыми помечаем некоторые группы посетителей для удобства сегментирования.

В Google Analytics для этих целей используются пользовательские параметры и показатели, в Яндекс Метрике параметры визитов. Параметры визита описываются следующим образом:

В качестве имени переменной yaParams может быть использовано любое другое.

Давайте посмотрим, как выглядят данные передаваемые в качестве параметров визитов в консоли браузера. В исходном коде страницы параметры описаны следующим образом:

Параметры вызитов в исходном коде

Параметры вызитов в исходном коде

После того, как страница загружена в браузер пользователя:

Параметры визитов в консоли браузера

Параметры визитов в консоли браузера

Для того, чтобы эти данные “попали” в Яндекс Метрику необходимо в исходный код счетчика добавить всего одну строчку:

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

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

После этого данные будут доступны в отчетах. Найти нужный отчет можно следующим образом (см. ниже), а также использовать из при подготовке нужного сегмента:

Доступ к отчету с параметрами витов в Яндекс Метрике

Доступ к отчету с параметрами витов в Яндекс Метрике

Данные отображаются в отчетах:

Информация в отчете

Информация в отчете

Зачастую на сайте используется две системы аналитики Яндекс Метрика и Google Analytics. Сейчас практически все новые внедрения Google Analytics на сайт выполняются с помощью Google Tag Manager, это значительно упрощает процесс внедрения, снижает зависимость от разработчиков и позволяет оперативно вносить изменения в настройки Google Analytics. При настройке отслеживания действий пользователя на сайте, если используется Google Tag Manager, если необходимо передать дополнительную информацию, применяют возможности уровня данных или dataLayer.

Чтобы передать сведения в уровень данных используется конструкция вида:

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

Давайте предположим, что мы используем пометку посетителя, который является авторизованным пользователем нашего сайта и он отнесен к категории лучших покупателей. При этом каждый пользователь нашего сайта имеет уникальную скидку, которая рассчитывается исходя из его прошлых покупок.

Итак, у нас есть три параметра, которые мы хотим передать в Яндекс Метрику и Google Analytics:

  • признак, что пользователь авторизован;
  • категория пользователя – лучший пользователь;
  • индивидуальная скидка пользователя, для примера 25%.

Передаем параметры в Яндекс Метрику:

Передаем параметры в Google Analytics (он у нас настроен через Google Tag Manager и мы используем уровень данных для передачи данных):

Теперь посмотрим, какие данные доступны для передачи:

Данные для передачи

Данные для передачи

Как видите несмотря на то, что мы использовали несколько отличающиеся варианты описания параметров, с технической точки зрения они выглядят одинаково. Раз это так зачем нам использовать два описания одного и того-же? Нужно убрать один из вариантов, но какой?

Если мы уберем второй вариант, где параметры описаны через уровень данных, а вместо этого попробуем передать в Google Tag Manager переменную yaParams, то у нас ничего не выйдет. Но если мы уберем yaParams и вместо него в коде счетчика будем использовать dataLayer, то у нас может получится то, что нужно.

Важно! Описание параметров в dataLayer должно быть ДО кода контейнера Google Tag Manager и ДО кода Яндекс Метрики.

Внесем изменения в код счетчика Яндекс Метрики, вместо строки:

Исходный код счетчика

Исходный код счетчика

укажем строку:

Измененный код счетчика Яндекс Метрики

Измененный код счетчика Яндекс Метрики

Теперь мы имеем (в порядке следования в исходном коде сайта, п. 2 и п. 3 могут меняться местами):

  • описание уровня данных или dataLayer;
  • код Google Tag Manager;
  • код Яндекс Метрики (он может быть также размещен в Google Tag Manager).

Посетим страницу сайта и посмотрим на информацию в отчете Яндекс Метрики:

Переданные данный из dataLayer в отчете Яндекс Метрики

Переданные данный из dataLayer в отчете Яндекс Метрики

Если посмотреть на отладчик Google Tag Manager, то в нем также присутствует необходимая нам информация, которую теперь легко передать в Google Analytics использую пользовательские параметры:

Данные в Google Tag Manager

Данные в Google Tag Manager

Описанный способ демонстрирует возможность использования dataLayer или уровень данных Google Tag Manager в Яндекс Метрике, но есть несколько важных замечаний:

  1. Если вы обратили внимание, то мы передавали в Яндекс Метрику уровень данных в виде dataLayer[0]. В нашем случае ноль, это первая “порция” данных отправленных в уровень данных. Если у вас будет использоваться конструкция вида dataLayer.push(), то вместо 0 должен быть использовать соответствующий индекс, который равен порядковому номеру минус 1, передачи данных в уровень данных. В материале есть ссылка на описание уровня данных, обратите на нее внимание, чтобы понять принцип его работы.
  2. Использовать передачу параметров визитов можно не только при инициализации счетчика, по этой причине также вместо 0 необходимо использовать соответствующий индекс.
Кейсы и инструкции по настройке в вашем ящике. Подпишитесь сейчас!

11 комментария(ев) к “Как в Яндекс Метрике использовать dataLayer из Google Tag Manager

  1. Иван, спасибо очень помогли!

    На основании материала этой статьи можно передать в GA поисковые запросы из Яндекса. Ассоциировать пользователя по ID, экспортировать из Яндекса и передать в GA по measurement protocol. Надеюсь напишите материал на эту тему.

  2. Иван, добрый день!

    Подскажите, пожалуйста, можно при установке кода поставить вначале код tag manager, потом код метрики с добавленным параметром params:window.dataLayer [0] , а код datalayer не ставить самым первым, ведь он уже и так указан в коде tag manager Как я понимаю его ставят самым первым только на определенных страницах, где мы явно хотим указать определенные значения, которые надо положить в dataLayer Я делаю настройку первый раз и пока все эти значения для отслеживания планирую настраивать через панель управления tag manager. Соответственно если код tag manager стоит перед кодом метрики, то и данные уже будут в dataLayer и будут корректно отправляться в метрику.

    • Виктор, дело в том, где и как определяется уровень данных, какие манипуляции с ним выполняются до его использования

  3. Здравствуйте! Как настроить отслеживание значений, которые заполняются в фильтре. Например, указываю промежуток значений для выбора товара и нажимаю на кнопку “подобрать”. Можно ли вообще это отследить? Спасибо

    • Дмитрий, можно настроить практически любое взаимодействие с фильтром. Для этого нужно проработать схему учета данных, а затем с помощью JavaScript реализовать

  4. подскажите, а как можно передавать спец. параметры после инициализации счетчика? То есть, когда происходит в таком порядке: сначала грузится GTM, потом переменным, которые мы передаем в GA, присваиваются значения, потом через datalayer мы передаем эти значения переменных в GTM…

  5. Иван, здравствуйте! Сделал передачу данных по вашей статье: у меня сначала стоит код GTM, потом на сайте описываются переменные c2n.me/3rc1iG2.png, счетчик га и яндекс метрики вызывается триггером “модель DOM готова” , прописал строчку в счетчик метрики c2n.me/3rc1ziy.png , но данные в метрику почему-то не идут (в ГА передаются). Подозреваю, что строчку в счетчике метрики нужно как-то изменить…

    • Александр, у Вас не правильно “активирована” расширенная торговля в Яндекс Метрике. На одном из скриншотов выше есть строчка, которая должна быть внесена в код отслеживания Яндекс Метрики

  6. Поправил код по расширен. торговли http://c2n.me/3rt3hSJ.png, но данных о кастомных параметрах все равно нет http://c2n.me/3rt2NdJ.png . До этого у меня передавались кастомные параметры в метрику корректно http://c2n.me/3rt3E8q.png, но тогда у меня параметры описывались до кода GTM . Сейчас у меня параметры описываются после кода GTM и вот наблюдается проблема. Может с этим параметром что-то не так http://c2n.me/3rt3tLb.png ?

    • Александр, для поиска проблемы необходимо работать с конкретной страницей сайта, поскольку причин может быть много

Добавить комментарий

Current month ye@r day *