Настройка User ID в Яндекс Метрике с помощью Яндекс Тег Менеджера
В предыдущем материале мы подробно разобрали функцию User ID: ее назначение и пошаговую настройку всех этапов, включая отслеживание с помощью Google Tag Manager. В этом руководстве я покажу заключительный этап работы интернет-маркетолога - настройку User ID через Яндекс Тег Менеджер.
В моем блоге за последние полгода опубликовано более 20 материалов, посвященных настройке и отслеживанию событий с помощью Яндекс Тег Менеджера. В каждом из этих руководств подробно разбираются шаги настройки и методы проверки корректности внедрения. Ранее для отладки использовались шаблон тега Мини дебагер триггеров и переменных, а также режим _ym_debug=2 от Яндекс Метрики. С 20 ноября 2025 года в Яндекс Тег Менеджере появилась полноценная панель отладки, и часть описанных ранее подходов устарела. Поэтому, пожалуйста, пользуйтесь новой панелью отладки ЯТМ для проверки ваших настроек и обращайте внимание на актуальность информации в текущих статьях.
Начало
Сразу хочу отметить, что если вы начнете изучение User ID в Яндекс Метрике с этой статьи, многое окажется непонятным. Чтобы легче разобраться с этим руководством, сначала необходимо освоить базу - понять разницу между Client ID и User ID, а также изучить способы настройки через параметры посетителя и метод setUserID. Подробнее про это как раз написано в этой публикации.
Обязательно прочитайте ее, а также посмотрите подробную видеоинструкцию на 40 минут по всем пунктам и настройкам User ID в Яндекс Метрике с помощью Google Tag Manager, включая само ТЗ, настройку и проверку выполненных отслеживаний. Материал доступен для премиум-подписчиков, но это того стоит.
Фактически, ниже я буду продолжать то, о чем поведал вам в том руководстве, но только для Яндекс Тег Менеджера. И начнем мы прямо сейчас!
Читать еще:
- User ID в Google Analytics
- Отслеживание User ID для интернет-магазина на 1С-Битрикс
- Настройка User ID для Universal Analytics с помощью GTM
- Настройка User ID для сайтов на WordPress
- Настройка User ID для Google Analytics 4 с помощью GTM
Итак, напоминаю последовательность действий по настройке User ID для Яндекс Метрики:
- вы определяете способ передачи данных (отправлять идентификатор User ID в качестве параметра посетителя или использовать метод setUserID);
- если речь идет только о параметре посетителя, то его передача так же может осуществляться двумя способами - во время посещения сайта или с помощью CSV-файла в произвольный момент времени);
- определившись с методом передачи данных, вы пишете техническое задание (ТЗ) своему программисту на внедрение специальной конструкции, которая бы передавала идентификатор пользователя на уровень данных (dataLayer), которая срабатывает в момент регистрации и авторизации (входа пользователя под своей учетной записью). Подробнее об этом как раз написано в другой статье;
- после того, как он выполнит основную часть работы, вам необходимо будет проверить корректность передачи данных, а также выполнить дополнительные настройки в системе управления тегами.
Способ с отслеживанием с помощью Google Tag Manager как раз разобран в другом руководстве. В этом мы сосредоточимся на Яндекс Тег Менеджере.
Предполагаем, что программист внедрил такую конструкцию на наш сайт:
|
1 2 3 4 5 6 7 |
<script type="text/javascript"> window.dataLayer = window.dataLayer || []; window.dataLayer.push( {'event':'userId', 'user_id':'{{customer_id}}' }); </script> |
, где в {{customer_id}} передается идентификатор авторизованного пользователя (реализуется программистом).
Тогда настройка User ID в Яндекс Метрике с помощью Яндекс Тег Менеджера будет состоять из следующих шагов.
Активация функции “Пользовательский HTML”
Первым делом вам необходимо активировать опцию Пользовательский HTML в настройках счетчика Яндекс Метрики.
Для этого перейдите в раздел Настройки - Счетчик:
И включите функцию Пользовательский HTML:
Пользовательский HTML в Yandex Tag Manager (YTM) - это тип тега, который позволяет добавлять на сайт произвольный HTML-код, JavaScript или другие скрипты, которые не поддерживаются стандартными тегами и которых нет в каталоге шаблонов. Код будет выполняться при срабатывании триггера, в нем также можно использовать переменные для динамической подстановки нужных значений.
Сохраните изменения.
Создание переменной уровня данных
Перейдите в Яндекс Тег Менеджер и откройте раздел Переменные.
В шаблоне переменной выберите Переменная уровня данных:
В поле Имя переменной уровня данных укажите то значение, которое вы использовали в своем ТЗ для разработчика. В моем примере - это user_id:
Задайте название пользовательской переменной уровня данных (например: DLV - User ID) и сохраните ее.
Создание триггера специального события
Перейдите на вкладку Триггеры и создайте новый триггер. В открывшемся окне выберите тип триггера Специальное событие:
В поле Название события укажите то значение, которое вы использовали в своем ТЗ для разработчика. В моем примере выше - это userId ('event':'userId'):
Задайте название триггеру специального события (например - UserID) и сохраните его.
Создание тега для Яндекс Метрики
Теперь откройте раздел Теги и создайте тег типа Пользовательский HTML:
В поле HTML вставьте нижеприведенный фрагмент кода, если вы хотите отправлять идентификатор UserID как параметр посетителя (метод userParams):
|
1 2 3 |
<script> ym(XXXXXXXX, 'userParams', {UserID: '{{user_id}}' }); </script> |
, где вместо:
- XXXXXXXX - добавьте идентификатор вашего счетчика Яндекс Метрики;
- {{user_id}} - укажите переменную уровня данных, которую вы создали на предыдущем шаге. Название этой переменной у вас может быть другим.
В Яндекс Тег Менеджере поддерживается шаблонизация в теге Пользовательский HTML. То есть вы можете в собственном JavaScript-коде ссылаться на другие переменные, которые вы раннее создали в своем контейнере, используя шаблон {{ Как только вы начнете вводить двойные фигурные скобки, вам откроется список доступных переменных, из которого вы можете выбрать нужные:
Сделайте так для своей переменной user_id.
Если вы желаете отправлять идентификатор UserID с методом setUserID, то дополнительно в этот же код вы можете вставить вторую строку:
|
1 2 3 |
<script> ym(XXXXXXXX, 'setUserID', '{{user_id}}'); </script> |
, где XXXXXX – идентификатор вашего счетчика Яндекс Метрики.
Собственные идентификаторы будут привязаны к ClientID только для тех посетителей сайта, во время посещений которых метод setUserID был вызван. Для сбора более полной статистики Яндекс рекомендует подождать некоторое время, пока в Яндекс Метрику будет передан больший объем данных.
В качестве триггера активации используйте триггер специального события, который вы создали на предыдущем шаге.
Итоговый тег для User ID в Яндекс Тег Менеджере будет выглядеть так:
Примечание: вы можете использовать два разных тега с разными методами (userParams и setUserID), а можете задать все в одном HTML.
Сохраните тег.
Проверка настроек
Вы можете воспользоваться традиционным способом, активировав режим предварительного просмотра. В правом верхнем углу Тег Менеджера нажмите на кнопку Предварительный просмотр и дождитесь компиляции ссылки.
Как только это произойдет, нажмите на кнопку Открыть предварительный просмотр:
Небольшой лайфхак: что бы не ждать, пока прогрузиться всплывающее окно с ссылкой на предварительный просмотр, обновите страницу, ссылка сгенерируется быстрее.
В отдельном окне откроется ваш сайт, а в адресной строке браузера в URL-ссылке будет добавлен специальный параметр _ytm_preview. Добавьте после него через & параметр отладки _ym_debug=2 Яндекс Метрики, чтобы получилось так:
|
1 |
https://site.ru/?_ytm_preview=XXXXXXXXXXXXXXXX&_ym_debug=2 |
Вы можете сделать это даже в режиме Инкогнито, после компиляции ссылки для режима предварительного просмотра ЯТМ. Внизу страницы появится значок
. Нажмите на него, чтобы открыть панель отладки. Перейдите на свой сайт и авторизуйтесь/зарегистрируйтесь. После того, как вы это сделаете, на вкладке Parameters должно отобразиться значение параметра посетителя - ваш идентификатор UserID:
А если вы еще передавали UserID методом setUserID, то на вкладке Console будет отображаться дополнительная информация об идентификаторе - Set user id:



















