При отслеживании действий пользователя мы используем различные свойства, которыми помечаем некоторые группы посетителей для удобства сегментирования.
В Google Analytics для этих целей используются пользовательские параметры и показатели, в Яндекс Метрике параметры визитов. Параметры визита описываются следующим образом:
1 2 3 |
<script type="text/javascript"> var yaParams = {имя_параметра:'значение параметра'}; </script> |
В качестве имени переменной yaParams может быть использовано любое другое.
Давайте посмотрим, как выглядят данные передаваемые в качестве параметров визитов в консоли браузера. В исходном коде страницы параметры описаны следующим образом:
После того, как страница загружена в браузер пользователя:
Для того, чтобы эти данные «попали» в Яндекс Метрику необходимо в исходный код счетчика добавить всего одну строчку:
После этого данные будут доступны в отчетах. Найти нужный отчет можно следующим образом (см. ниже), а также использовать из при подготовке нужного сегмента:
Данные отображаются в отчетах:
Зачастую на сайте используется две системы аналитики Яндекс Метрика и Google Analytics. Сейчас практически все новые внедрения Google Analytics на сайт выполняются с помощью Google Tag Manager, это значительно упрощает процесс внедрения, снижает зависимость от разработчиков и позволяет оперативно вносить изменения в настройки Google Analytics. При настройке отслеживания действий пользователя на сайте, если используется Google Tag Manager, если необходимо передать дополнительную информацию, применяют возможности уровня данных или dataLayer.
Чтобы передать сведения в уровень данных используется конструкция вида:
1 |
dataLayer.push({'param':'value'}); |
После этого в Google Tag Manager можно настроить получение соответствующих параметров и их значений. Помимо описанной выше конструкции (которая используется ПОСЛЕ кода контейнера Google Tag Manager), есть возможность описать уровень данных ДО кода контейнера, в этом случае код выглядит следующим образом:
1 |
dataLayer = [{'param':'value'}]; |
Давайте предположим, что мы используем пометку посетителя, который является авторизованным пользователем нашего сайта и он отнесен к категории лучших покупателей. При этом каждый пользователь нашего сайта имеет уникальную скидку, которая рассчитывается исходя из его прошлых покупок.
Итак, у нас есть три параметра, которые мы хотим передать в Яндекс Метрику и Google Analytics:
- признак, что пользователь авторизован;
- категория пользователя — лучший пользователь;
- индивидуальная скидка пользователя, для примера 25%.
Передаем параметры в Яндекс Метрику (для передачи сведений о категории пользователя и скидке можно использовать параметры посетителей Яндекс Метрики, а не параметры визита):
1 2 3 |
<script type="text/javascript"> var yaParams = { auth:'yes', type:'best', discount:'25%' }; </script> |
Передаем параметры в Google Analytics (он у нас настроен через Google Tag Manager и мы используем уровень данных для передачи данных):
1 2 3 |
<script type="text/javascript"> var dataLayer = [{ 'auth':'yes', 'type':'best', 'discount':'25%' }]; </script> |
Теперь посмотрим, какие данные доступны для передачи:
Как видите несмотря на то, что мы использовали несколько отличающиеся варианты описания параметров, с технической точки зрения они выглядят одинаково. Раз это так зачем нам использовать два описания одного и того-же? Нужно убрать один из вариантов, но какой?
Если мы уберем второй вариант, где параметры описаны через уровень данных, а вместо этого попробуем передать в Google Tag Manager переменную yaParams, то у нас ничего не выйдет. Но если мы уберем yaParams и вместо него в коде счетчика будем использовать dataLayer, то у нас может получится то, что нужно.
Важно! Описание параметров в dataLayer должно быть ДО кода контейнера Google Tag Manager и ДО кода Яндекс Метрики.
Внесем изменения в код счетчика Яндекс Метрики, вместо строки:
укажем строку:
Теперь мы имеем (в порядке следования в исходном коде сайта, п. 2 и п. 3 могут меняться местами):
- описание уровня данных или dataLayer;
- код Google Tag Manager;
- код Яндекс Метрики (он может быть также размещен в Google Tag Manager).
Посетим страницу сайта и посмотрим на информацию в отчете Яндекс Метрики:
Если посмотреть на отладчик Google Tag Manager, то в нем также присутствует необходимая нам информация, которую теперь легко передать в Google Analytics использую пользовательские параметры:
Описанный способ демонстрирует возможность использования dataLayer или уровень данных Google Tag Manager в Яндекс Метрике, но есть несколько важных замечаний:
- Если вы обратили внимание, то мы передавали в Яндекс Метрику уровень данных в виде dataLayer[0]. В нашем случае ноль, это первая «порция» данных отправленных в уровень данных. Если у вас будет использоваться конструкция вида dataLayer.push(), то вместо 0 должен быть использовать соответствующий индекс, который равен порядковому номеру минус 1, передачи данных в уровень данных. В материале есть ссылка на описание уровня данных, обратите на нее внимание, чтобы понять принцип его работы.
- Использовать передачу параметров визитов можно не только при инициализации счетчика, по этой причине также вместо 0 необходимо использовать соответствующий индекс.