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

Новая возможность Яндекс Метрики позволяющая дополнять сведения о посещениях конкретными данными о реальных пользователях.

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

Желание фиксировать сведения о действиях конкретного пользователя появилось относительно не давно и инструменты веб-аналитики стали предоставлять такую возможность (нужно обращать внимания на условия использования конкретного сервиса). Но прежде чем мы перейдем непосредственно к  функционалу параметров посетителей в Яндекс Метрике хочу напомнить, как на сегодняшний день в целом организована схема отслеживания посетителей.

После установив кода отслеживания сервиса веб-аналитики (Яндекс Метрики,  Google Analytics и т.п.) на сайт, при загрузке страниц вашего сайта в браузерах пользователей происходит проверка на наличие специального cookie файла, который устанавливает система веб-аналитики.

Если такого файла система не обнаруживает, то она принимает решение, что это новый посетитель и устанавливает cookie, если же cookie файл был установлен ранее, то система “понимает”, что вы уже были на этом сайте.

В таких cookie файлах может содержаться разнообразная информация, но в последнее время происходит тенденция в направлении того, чтобы в cookie хранить только идентификатор клиента. Этот идентификатор “ключ” ко всем данным, которые соберет о вас ситема веб-аналитики. Но для таких “ключей” есть один существенный недостаток, связан он с тем, что на каждом устройстве, в каждом браузере для вас будет свой уникальный “ключ”, а для системы веб-аналитики такие ключи это отдельные пользователи, хотя по факту, это может быть один единственный реальный человек.

Каким образом системы веб-аналитики решают данную проблему? Они стали вводить помимо понятия идентификатор клиента еще одно, более широкое – идентификатор пользователя. Сайт может присвоить вам такой идентификатор, например после авторизации, используя свою внутреньную систему учета пользователей. После его использования все идентификаторы клиента “привязываются” или “склеиваются” в единую последовательность действий конкретного пользователя (реального человека).

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

Итак, мы разобрались, что каждое посещение сайта, в каждом браузере на разных устройствах для системы веб-аналитики это уникальный пользователь (который имеет свой уникальный идентификатор клиента, присвоенный системой веб-аналитки), но мы можем “подсказать” системе веб-аналитики, что это все один реальный человек передав ей его идентификатор из нашей системы учета пользователей сайта (идентификатор пользователя).

Со временем у многих владельцев сайтов, особенно связанных с продажей товаров или услуг, возникает желание дополнить данные о посетителях его сайта информацией, которая может повлиять на принятие управленческих решений. Например, передать сведения об уровне дохода пользователя, наличии у него автомобиля или его интересов. Разумеется, такие данных должны быть у вас собраны до того, как они попадут в систему веб-аналитики.

Вы можете выяснить их при регистрации пользователя (форма регистрации с соответствующими полями) или же после регистрации предложив заполнить анкету взамен пообещав бонусы или скидку и т.п. Т.е. задача сбора данных о пользователе, это ваша задача!

Итак, данные собраны, система веб-аналитики настроена, принимаем решение, что будем передавать в систему дополнительные сведения о пользователе (конкретном человеке).

Далее механизм реализации зависит от выбранного инструмента, все, что будет описано ниже, относится к Яндекс Метрике (для Google Analytics можете ознакомиться с материалами про настройку userID или использование пользовательских параметров и показателей).

Для фиксации сведений о пользователе будем использовать схему:

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

Предположим, что есть некоторый пользователь А, который зарегистрирован в вашей системе, он интересуется спортом и автомобилями, пока что его уровень бронзовый и у него 100 бонусных баллов, его доход от 50 до 70 т.р. в месяц и у него есть автомобиль.

Итак, приступаем к настройке передачи параметров посетителя в Яндекс Метрику. Сделать это мы можем двумя способами:

  • непосредственно на сайте (с помощью кода отслеживания), когда посетитель находится на нем;
  • в любой момент времени, когда нам это удобно (с помощью загрузки специального файла).

Передача параметров посетителей в Яндекс Метрику на сайте сводится к размещению на странице сайта специального кода отслеживания. Опишем нашего пользователя:

В примере выше четыре ключа и их значения, например, третий ключ revenue принимает значение от 50 до 70 т.р.. Ключи и их значения записываются по схеме: ключ : значение, для тех, кто знаком с Google Tag Manager это полная аналогия использования уровня данных (dataLayer).

Остановимся на том, какие типы значений могут быть использованы:

  • объект – пример, описание пользователя, ключ user;
  • строка – используется для ключа revenue;
  • число – в пояснении не нуждается, пример отсутствует;
  • логическое значение – варианты true, false или null (если не подходит true или false), ключ car.

Итак, мы описали нашего пользователя можно передать данные в Яндекс Метрику. Как это сделать? С помощью добавления фрагмента кода, который приведен выше в исходный код страницы сайта.

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

Пример для загрузки страницы (с использованием jQuery):

Пример для события onclick (с использованием jQuery):

После настройки передачи нужных нам параметров перейдем в соответствующий раздел отчетов Яндекс Метрики:

Отчет содержащий параметры посетителей

Отчет содержащий параметры посетителей

Если все было сделано верно, то вы увидите переданные параметры:

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

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

Далее можно посмотреть значения раскрыв список слева от интересующего параметра:

Просмотр значений параметров посетителей

Просмотр значений параметров посетителей

Если у вас не отображаются параметры посетителей или отсутствуют некоторые значения, то вы можете проверить корректность передачи данных воспользовавшись отладчиком Яндекс Метрики. Для этого необходимо на странице, которая передает параметры посетителей в Яндекс Метрику, добавить в URL дополнительный параметр _ym_debug=1, после этого в консоли браузера появится информация передаются ли параметры или есть ошибки. В случае успешной передачи вы увидите примерно следующее:

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

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

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

Важно! Я использовал имена параметров и переменных для более наглядных примеров, вы можете использовать свои собственные.

Самый простой вариант (первый) если разработчики вашего сайта организуют вывод в код страницы сайта небольшого блока JavaScript кода, в котором некоторой переменной присвоят нужное вам значение:

После этого в Google Tag Manager можно создать тег типа Пользовательский HTML, в котором указать код Яндекс Метрики передающий параметр посетителя, в качестве значения которого передать ранее созданную переменную JavaScript:

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

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

В примере я использовал параметр посетителя с именем js_param, которому присвоил значение содержащееся в переменной JavaScript ym_user_params. Ранее я присвоил значение равное “ваше значение”. Результат выполнения настройки:

Передача параметра из JavaScript переменной

Передача параметра из JavaScript переменной

Обратите внимание, что сам код Яндекс Метрики я также внедрил через Google Tag Manager (см. настройка Яндекс Метрики в Google Tag Manager) со следующими настройками тега:

Код Яндекс Метрики в Google Tag Manager

Код Яндекс Метрики в Google Tag Manager

Важно! Чтобы тег, передающий данные в Яндекс Метрику сработал корректно у него необходимо указать триггер со следующими настройками:

Триггер активации тега для передачи параметров в Яндекс Метрику

Триггер активации тега для передачи параметров в Яндекс Метрику

Связано это с тем, что для передачи параметров, код Яндекс Метрики с методом userParams должен срабатывать ПОСЛЕ основного кода счетчика. Показанная настройка триггера срабатывает на каждой странице ПОСЛЕ выполнения основного кода счетчика Яндекс Метрики. Также можно настроить триггеры для фиксации действий пользователя по определенным условиям, например по кликам на некоторых кнопках и т.п.

Описанный выше способ можно “усовершенствовать” дополнительно создав в Google Tag Manager переменную типа Переменная JavaScript, в которую “записывать” значение, а ее затем использовать в теге Google Tag Manager.

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

Собственно второй способ передачи параметров посетителей Яндекс Метрики с помощью Google Tag Manager заключается в использовании уровня данных. Схема реализации выглядит следующим образом:

  1. настроить передачу данных из внутренней системы в уровень данных на странице сайта;
  2. создать переменную Google Tag Manager получающую значение со страницы через уровень данных;
  3. создать тег с кодом Яндекс Метрики, который передаст параметры посетителя.

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

  • наличие карты постоянного клиента у посетителя;
  • предпочтительный район доставки.

Теперь с помощью уровня данных (dataLayer) выполним описание пользователя:

После того, как описание уровня данных добавлено на страницы сайта необходимо создать переменную в Google Tag Manager, которая “получит” эти данные со страницы, чтобы они стали доступны для работы в нем. Создаем переменную со следующими настройками:

Настройка переменной в Google Tag Manager для Яндекс Метрики

Настройка переменной в Google Tag Manager для Яндекс Метрики

После этого создадим (внесем изменения) в ранее созданный тег, передающий значения параметров посетителей в Яндекс Метрику:

Тег передающий параметры посетителей через уровень данных

Тег передающий параметры посетителей через уровень данных

Обратите внимание, что в качестве значения для параметра пользователя dataLayer_params используется имя ранее созданной переменной Google Tag Manager в двойных фигурных скобках {{DL – YM User Params}}.

Теперь можно запустить отладчик Google Tag Manager , открыть консоль браузера и посмотреть на результаты:

Сведения из отладчика и консоли

Сведения из отладчика и консоли

Спустя некоторое время данные появятся в отчетах Яндекс Метрики:

Сведния в Яндекс Метрике

Сведния в Яндекс Метрике

На что нужно обратить внимание при такой реализации! Все переданные нами параметры расположены на уровне 2 основного параметра пользователя в Яндекс Метрике:

  • основной параметр “контейнер”: dataLayer_params;
  • параметры с конкретным описанием пользователя: user_card и user_delivery.

Чтобы параметры описывающие пользователя стали параметрами первого уровня, необходимо немного изменить тег передающий данные в Яндекс Метрику:

Изменение настройки тега Google Tag Manager

Изменение настройки тега Google Tag Manager

После этого данные, которые отправляются в Яндекс Метрику, выглядят следующим образом:

Сведения из отладчика Яндекс Метрики

Сведения из отладчика Яндекс Метрики

Проверим сведения в отчетах:

Параметры в отчетах

Параметры в отчетах

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

  • первый, когда из уровня данных передаем значение для параметра первого уровня, как объекта: dataLayer_params: {{DL – YM User Params}}
  • второй, когда из уровня данных получаем значение для каждого параметра, например: dataLayer_user_card : {{DL – YM User Params}}.user_card
Различия в реализации

Различия в реализации

При этом нет большой разницы в использовании этих данных в Яндекс Метрике:

Доступ к параметрам пользователя второго уровня в Яндекс Метрике

Доступ к параметрам пользователя второго уровня в Яндекс Метрике

Для параметров первого уровня:

Доступ к параметрам первого уровня

Доступ к параметрам первого уровня

Я бы рекомендовал при использовании уровня данных Google Tag Manager, для набора данных описывающих пользователя в уровне данных, выделять отдельное имя, например, ym_user_params (пример описания в коде см. выше). В этом случае все последующие обращения к нужному набору данных упрощаются. Вы сможете передавать параметры как целым объектом, так и отдельными значениями из него не прибегая к созданию дополнительных переменных в Google Tag Manager.

Мы рассмотрели с вами вариант передачи параметров посетителей Яндекс Метрики через код отслеживания, а также с помощью Google Tag Manager, но существует также еще один способ сообщить Яндекс Метрике, что вам необходимы дополнительные данные в отчетах – это загрузка данных, об этом способе в одном из следующих материалов. Чтобы узнать первым о его выходе подпишитесь на рассылку!

Кейсы и инструкции по настройке в вашем ящике. Подпишитесь сейчас!
я даю согласие на обработку персональных данных

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

  1. Все разложено по полочкам. … но объясните пожалуйста зачем это нужно для каких целей?

    • Чтобы потом смотреть и анализировать кто и что делает на сайте. Чтобы давать этим телам какой-то свой контент. Но да, каждая фишка обрастает таким небывалым слоем лишней шляпы, что порой сидишь и не поймешь на кой это все надо. :)

    • Юрий, как один из вариантов – создание сегментов пользователей для проведения рекламных кампаний

  2. Очень интересная статья, я как раз ищу что-то подобное для своего сайта. Мне нужно отслеживать персональную статистику по внешним переходам каждого пользователя. Сделать это нужно всего лишь для одной странице, но так как я новичок это для меня звучит достаточно сложно, даже с помощью статьи. Просьба к автору: не могли бы Вы дать какие-то советы максимально приближенные к моему вопросу? Буду очень признателен, так как для меня как новичка задача кажется достаточно сложная.

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

  3. Здравствуйте. Почитал почти все статьи на вашем сайте по данной тематике, но так и получил ответа на свой вопрос – Google Client ID это уникальный идентификатор пользователя генерируемый гуглом в пределах этого сайта или всей эко-системы гугла? Допустим клиент зашедший на сайт с компа, и тот же клиент зашедший с телефона андроида или с залогиненного хрома будет индентифицирован как один пользователь? У них будет один и тот же clien id ?

    • Сергей, ClientID это уникальный идентификатор браузера для посетителя сайта. Если я зайду с одного ПК на один и тот-же сайт из разных браузеров у меня будет два разных ClientID. Информацию по его использованию вне Google Analytics не встречал

  4. Добрый день!
    Подскажите,а можно собрать параметры посетителей из метрики,а потом в гугле делать ремаркетинг на этих посетителей?

    • Добрый день! Сама Яндекс Метрика не содержит параметров посетителей, Вы организуете их передачу самостоятельно, параллельно можно настроить передачу данных и в Google Analytics

  5. Здравствуйте!

    1.Подскажите пожалуйста как быстро у вас уходят данные в метрику “параметры пользователей “?
    У меня уже прошло больше 4-5 часов и что-то глухо, в логах все было отображено верно, js объект появился со своими значениями. А вот параметры визитов почти через 10-15 минут появляются почему-так?
    2. Тесты проводились в отдельном браузере где нету адблоков, но как как правильно будут собраны данные в случае если у пользователя есть блокировщики реклам?

    • Андрей, данные появились в отчетах в течении нескольких минут. Если блокировщик режет код Яндекс Метрики, то ничего не сработает, но не все блокировщики убирают системы веб аналитики

  6. Иван, добрый вечер!

    Подскажите, пожалуйста, можно ли другим способом передавать данные. Я в качестве переменной для указания userid использую элемент уровня DOM, который явно указывается на сайте. Он легко попадает в tag manager и записывается в качестве переменной, и я его использую для гугл аналитикс. Решил попробовать отправить его в яндекс, добавив тег в tag manager:

    yaCounter*******.userParams({
    dataLayer_params : {{Bizuserid}}
    });

    Сработает или нет?
    Или надо вот так:

    yaCounter*******.userParams({
    user : {{Bizuserid}}
    });

    Через отладчик tag manager не понятно, что происходит, он пишет:

    ​’yaCounter*****.userParams({dataLayer_params:go
    ogle_tag_manager["GTM-NGX7PX"].macro(\’gtm15\’)});’
    ‘yaCounter*****.userParams({dataLayer_params:go
    ogle_tag_manager["GTM-NGX7PX"].macro(\’gtm15\’)});’

  7. Здравствуйте!Спасибо за статью!
    Не подскажите куда конкретно вставлять эту часть кода?
    $(‘#btnClick’).click(function(){
    yaCounterВАШ_СЧЕТЧИК.userParams({
    user : { // описание пользователя
    type : ‘bronze’, // бронзовый уровень
    bonus : 100 // 100 бонусных баллов
    },
    interests: { // интересы
    1 : ‘спорт’,
    2 : ‘автомобили’
    },
    revenue : ‘от 50 до 70 т.р.’, // средний доход в месяц
    car : true // наличие машины
    });
    });

    Если у меня WordPress и плагин GoogleTagManager, я кликнул на изменить код плагина, там такой код:

    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({‘gtm.start’:
    new Date().getTime(),event:’gtm.js’});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!=’dataLayer’?’&l=’+l:”;j.async=true;j.src=
    ‘https://www.googletagmanager.com/gtm.js?id=’+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,’script’,’dataLayer’,”);


    <iframe src="https://www.googletagmanager.com/ns.html?id=
    height=”0″ width=”0″ style=”display:none;visibility:hidden”>

    <?php
    }
    }

    google_tag_manager::go();

    Т.е. я так понимаю надо добавить данные после window в этой строчке (window,document,'script','dataLayer','’);

    Помогите разобраться!

    • Антон, все зависит от логики работы Вашего сайта, а также что и когда Вы хотите фиксировать. Вероятно Вам нужно выполнять код в момент определенного действия пользователя, какое это действие – известно только Вам. Я не работаю с плагинами, я пишу рекомендации разработчикам для внедрения либо самостоятельно внедряю через Google Tag Manager

Добавить комментарий для Sergey Отменить ответ

Current month ye@r day *