Настройка Яндекс Метрики для использования с dataLayer

Материал из marketing-wiki.ru
Перейти к навигации Перейти к поиску

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

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

<script type="text/javascript"> var yaParams = {имя_параметра:'значение параметра'}; </script>

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

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

1dl-ym.png

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

2dl-ym.png

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

3dl-ym.png

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

4dl-ym.png

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

5dl-ym.png

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

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

dataLayer.push({'param':'value'});

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

dataLayer = [{'param':'value'}];

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

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

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

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

<script type="text/javascript"> var yaParams = { auth:'yes', type:'best', discount:'25%' }; </script>

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

<script type="text/javascript"> var dataLayer = [{ 'auth':'yes', 'type':'best', 'discount':'25%' }]; </script>

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

6dl-ym.png

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

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

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

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

7dl-ym.png

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

8dl-ym.png

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

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

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

9dl-ym.png

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

10dl-ym.png

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

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

2. Использовать передачу параметров визитов можно не только при инициализации счетчика, по этой причине также вместо 0 необходимо использовать соответствующий индекс.