15 мин чтения100CTR
Как установить Яндекс Метрику на 1С-Битрикс: модуль, шаблон, электронная коммерция и цели
Два способа поставить счётчик на сайт на 1С-Битрикс: официальный модуль Метрики и код в шаблоне. Как передавать заказы в электронную коммерцию, настроить цели на веб-формы и оформление заказа, проверить работу и связать Метрику с Битрикс24.

Поставить Яндекс Метрику на сайт на 1С-Битрикс можно двумя способами. Первый — официальный бесплатный модуль «Яндекс Метрика» из Marketplace: его устанавливают в админке, указывают номер счётчика в «Настройках модулей», и модуль сам выводит код на всех страницах и передаёт события интернет-магазина. Второй — вставить код счётчика в шаблон сайта через «Настройки» → «Настройки продукта» → «Сайты» → «Шаблоны сайтов». Для магазина удобнее модуль, для сайта услуг с нестандартным шаблоном подойдут оба варианта.
Какой у вас Битрикс
Под названием «Битрикс» скрываются два разных продукта, и Метрика подключается к ним по-разному.
| Продукт | Как выглядит | Как подключить Метрику |
|---|---|---|
| «1С-Битрикс: Управление сайтом» | Коробочная CMS на своём хостинге, админка по адресу /bitrix/admin/ |
Модуль Метрики или код в шаблоне — основная часть статьи |
| Сайты и магазины Битрикс24 | Конструктор внутри портала Битрикс24 | Номер счётчика в настройках сайта или страницы, раздел «Аналитика» |
| CRM Битрикс24 | Сделки, лиды, контакты | Приложение Метрики для передачи заказов из CRM, см. раздел о Битрикс24 ниже |
Что подготовить
- Счётчик Метрики. Создайте его на metrika.yandex.ru и укажите в поле адреса домен сайта. Как заполнить поля и какие опции включить — в статье как установить Яндекс Метрику на сайт. Если сайт будет рекламироваться в Директе, создавайте счётчик на том же Яндекс ID, что и рекламный кабинет, или выдайте этому логину доступ.
- Номер счётчика. Цифры из списка «Мои счетчики» или из кода:
ym(12345678, "init", …). Модулю нужен только он. - Опция «Электронная коммерция» в настройках счётчика, если на сайте есть каталог с корзиной. После включения в код добавится контейнер данных
dataLayer. - Права администратора в админке Битрикса: без них не получится установить модуль или править шаблон.
- Версия платформы. Официальный модуль работает с 1С-Битрикс 18.0 и выше во всех редакциях «Управления сайтом». Текущую версию видно в «Marketplace» → «Обновление платформы».
Опция электронной коммерции включается в настройках счётчика до установки модуля
Скриншоты — из официальной справки Яндекс Метрики: «Подключение модуля для 1С-Битрикс».
Модуль или код в шаблоне: что выбрать
| Критерий | Официальный модуль | Код в шаблоне |
|---|---|---|
| Кто справится | Администратор сайта без программиста | Тот, кто умеет править header.php |
| Электронная коммерция | Просмотр товара, корзина, покупка передаются модулем | Нужно включить передачу в компонентах магазина |
| Вебвизор | Включён по умолчанию, отключается в настройках модуля | Зависит от настроек счётчика |
| Несколько сайтов в одной установке | Свой счётчик для каждого сайта в настройках модуля | Код в шаблоне каждого сайта |
| Риск потерять код | Низкий: код не зависит от шаблона | Шаблон готового решения может перезаписаться при обновлении |
Перед любым способом проверьте, что код Метрики уже не стоит на сайте: в шаблоне, в стороннем модуле или в настройках готового решения. Два одинаковых кода дают двойной подсчёт.
Как установить официальный модуль
Шаг 1. Удалите сторонние модули Метрики
В админке откройте «Marketplace» → «Установленные решения» и поищите модули со словами «Метрика», «Metrica» или «Metrika». Если такой модуль есть, удалите его, иначе модули будут конфликтовать. Если код счётчика вставлен в шаблон вручную, уберите и его.
Шаг 2. Установите модуль
- Откройте «Marketplace» → «Установленные решения».
- Найдите модуль «Яндекс Метрика», нажмите на значок рядом с ним и выберите «Установить».
- Если модуля нет в списке, найдите его в каталоге 1С-Битрикс: Маркетплейс и установите оттуда.
Справка Метрики описывает и установку из ZIP-архива через «Контент» → «Файлы и папки» → bitrix/modules. Этот путь нужен, только если Marketplace недоступен.
Шаг 3. Укажите номер счётчика
- Перейдите в «Настройки» → «Настройки продукта» → «Настройки модулей» → «Яндекс Метрика».
- Выберите сайт.
- Введите номер счётчика — только цифры, без пробелов и букв. Если модуль сам нашёл счётчик на сайте, поля уже заполнены: проверьте номер.
- Оставьте включённым Вебвизор или отключите его, если записи визитов не нужны.
- Для интернет-магазина выберите «Свойство Бренда» — свойство инфоблока каталога, где хранится бренд или производитель. Найти его можно в «Контент» → «Типы инфоблоков» → «Каталоги» → нужный каталог → вкладка «Свойства». Поле необязательное, без него не будет отчёта по брендам.
- Сохраните настройки.
Номер счётчика и Вебвизор задаются отдельно для каждого сайта установки
Здесь находят свойство инфоблока, которое хранит бренд товара
После сохранения откройте модуль ещё раз и посмотрите лог ошибок. Частые причины ошибок — буквы в номере счётчика, несуществующее свойство бренда и устаревшая версия платформы.
Обновления модуля
Уведомление о новой версии появляется в админке. Обновляйте модуль через «Marketplace» → «Установленные решения»: Яндекс вместе с 1С-Битрикс закрыл в нём несколько уязвимостей, в том числе связанных с CSRF-проверками и сохранением настроек, поэтому старые версии лучше не держать.
Как вставить код в шаблон вручную
Ручная установка подходит, если модуль не ставится (старая версия платформы, ограничения хостинга) или нужен полный контроль над кодом.
- В Метрике откройте «Настройка» нужного счётчика и скопируйте код из блока «Код счетчика».
- В админке Битрикса перейдите в «Настройки» → «Настройки продукта» → «Сайты» → «Шаблоны сайтов».
- Откройте на редактирование шаблон, который назначен сайту. Какой шаблон используется, видно в «Сайты» → «Список сайтов» → карточка сайта.
- Вставьте код как можно ближе к началу
<head>или сразу после открывающего<body>. - Сохраните шаблон и очистите кеш: «Настройки» → «Настройки продукта» → «Автокеширование» → «Очистка файлов кеша» или кнопка сброса кеша на верхней панели.
Через файловую систему тот же шаблон лежит в /local/templates/<имя_шаблона>/header.php или /bitrix/templates/<имя_шаблона>/header.php. В header.php формируется шапка всех страниц, поэтому код попадёт и на новые страницы.
Особенности шаблонов Битрикса
- Один шаблон на несколько сайтов. Если у сайтов разные счётчики, скопируйте шаблон, вставьте в копию свой код и назначьте её нужному сайту в «Списке сайтов».
- Условия показа шаблонов. Битрикс может применять разные шаблоны к разным разделам, например отдельный шаблон для корзины или лендинга. Код нужен в каждом из них.
- Перенос JavaScript в конец страницы. Если в настройках главного модуля включено перемещение JavaScript в конец страницы, Битрикс переносит и код счётчика. Чтобы он остался в
head, добавьте тегу атрибут:<script type="text/javascript" data-skip-moving="true">. - Готовые решения. Шаблоны Аспро и других разработчиков часто имеют своё поле для кода счётчиков и встроенные цели. Ставьте код туда, а не в
header.php: при обновлении решения файлы шаблона могут перезаписаться.
После изменения настроек счётчика (например, включили Вебвизор или электронную коммерцию) скопируйте обновлённый код и замените его в шаблоне. С модулем этого делать не нужно.
Как подключить электронную коммерцию
Электронная коммерция — отчёты Метрики по просмотрам товаров, корзинам, заказам и выручке. Данные передаются через контейнер dataLayer, поэтому в коде счётчика должна быть строка ecommerce:"dataLayer". Подробно об отчётах и формате данных — в статье электронная коммерция в Яндекс Метрике.
Через модуль
Модуль передаёт четыре события: просмотр карточки товара, добавление в корзину, удаление из корзины и покупку, а также расширенные данные о товаре и бренд. Достаточно включить опцию «Электронная коммерция» в счётчике и выбрать свойство бренда в модуле.
Событие просмотра карточки (detail) нужно для отчёта «Популярные товары» и требует правки шаблона:
- На вкладке «Сайт» включите «Режим правки» и откройте карточку товара.
- Через меню компонента каталога выберите «Копировать шаблон компонента» и скопируйте его в текущий шаблон сайта.
- Откройте файл
element.phpскопированного шаблона. - После вызова
bitrix:catalog.elementдобавьте строку:
$APPLICATION->IncludeComponent("yandex.metrika:detail", "", array("PRODUCT_ID" => $elementId), $component);
- Сохраните файл. Если в шаблоне нет переменной
$elementId, её придётся получить из результата компонента — это задача для разработчика.
Через компоненты магазина
Без модуля передачу включают в стандартных компонентах 1С-Битрикс. Функция доступна в редакциях «Малый бизнес» и выше.
| Страница | Компонент | Что включить |
|---|---|---|
| Каталог | bitrix:catalog |
«Включить отправку данных в электронную торговлю» и свойство бренда |
| Корзина | sale.basket.basket |
«Включить отправку данных в электронную торговлю» |
| Оформление заказа | sale.order.ajax |
«Включить отправку данных в электронную торговлю» |
Имя контейнера данных оставьте dataLayer: оно должно совпадать с настройкой счётчика. Если опции в параметрах компонента нет, скорее всего, используется доработанный шаблон компонента без нужных параметров. Переключитесь на стандартный шаблон (.default или bootstrap_v4) и проверьте снова; если опция появилась, попросите разработчика перенести её в ваш шаблон.
Используйте один источник данных: модуль или компоненты. Если включить оба, покупка может уйти в Метрику дважды, и выручка в отчётах удвоится.
Отчёты лежат в «Отчеты» → «Стандартные отчеты» → «Электронная коммерция»: заказы, содержимое заказов, товары в корзине, популярные товары, категории и бренды, промокоды. Первые данные появляются через несколько часов после первого заказа.
Как настроить цели на формы Битрикса
Цель — действие посетителя, которое важно для бизнеса: заявка, заказ, звонок. Типы целей и общий порядок создания описаны в статье цели в Яндекс Метрике, здесь — особенности стандартных форм Битрикса.
| Форма | Компонент | Самая надёжная цель |
|---|---|---|
| Веб-форма модуля «Веб-формы» | form.result.new |
«Посещение страниц» по параметру formresult=addok или по странице благодарности |
| Обратная связь | main.feedback |
«Посещение страниц» по параметру success= |
| Оформление заказа | sale.order.ajax |
«Целевое событие» с идентификатором BX-order-save |
| AJAX-формы готовых решений и самописные | Разные | «Целевое событие» через reachGoal после успешного ответа сервера |
Веб-формы (form.result.new)
Когда веб-форма отправляется без AJAX, компонент перезагружает страницу и добавляет к адресу параметры WEB_FORM_ID, RESULT_ID и formresult=addok. Этот адрес и есть признак успешной отправки.
- Отправьте тестовую заявку и скопируйте адрес страницы после отправки.
- В Метрике откройте «Цели» → «Добавить цель», выберите тип «Посещение страниц».
- Задайте условие «url: содержит» и значение
formresult=addok. Чтобы различать формы, добавьте номер формы:WEB_FORM_ID=3. - Сохраните цель.
Ещё проще указать в параметрах компонента страницу успешной отправки (например, /thanks/) и поставить цель на её адрес. Если в компоненте включён режим AJAX, адрес в браузере не меняется — тогда подойдёт только целевое событие.
Обратная связь (main.feedback)
Компонент main.feedback после успешной отправки перенаправляет посетителя на ту же страницу с параметром success= и служебным хешем. Цель: «Посещение страниц», «url: содержит», значение success=. Если форма стоит на нескольких страницах, а учитывать нужно все отправки, такая цель соберёт их одной строкой.
Оформление заказа (sale.order.ajax)
Компонент оформления заказа сам отправляет в Метрику целевые события.
- Откройте параметры компонента
sale.order.ajax, вкладку «Настройки аналитики». - Отметьте «Использовать цели счетчика Яндекс.Метрики» и укажите номер счётчика.
- В Метрике создайте цель «Целевое событие» с идентификатором
BX-order-save— она срабатывает при оформлении заказа.
Тот же компонент передаёт промежуточные шаги: BX-order-init (открытие страницы оформления), BX-delivery-next, BX-paySystem-next, BX-properties-next и другие события перехода по кнопке «Далее». Из них удобно собрать составную цель и увидеть, на каком шаге покупатели бросают заказ.
AJAX-формы и формы готовых решений
Если форма отправляется без перезагрузки страницы, вызывайте цель в обработчике успешного ответа сервера, а не при нажатии кнопки: клик засчитается и при ошибке заполнения.
ym(12345678, 'reachGoal', 'lead_form');
Создайте в Метрике цель «Целевое событие» с идентификатором lead_form — он должен совпадать посимвольно, включая регистр. Больше примеров вызова — в статье JavaScript-события и reachGoal.
Готовые решения вроде Аспро часто уже отправляют свои цели при отправке форм. Узнайте их идентификаторы в документации шаблона и создайте под них цели в Метрике, а не пишите код заново.
Автоматические цели
Метрика сама создаёт цели «Отправка формы», «Клик по номеру телефона», «Переход в мессенджер» и другие. Для старта этого хватает, но «Отправка формы» засчитывается и при неудачной попытке, а формы на div без тега form не видит вовсе. Для оптимизации рекламы выбирайте одну точную цель на одно действие, иначе одна заявка посчитается дважды.
Как проверить, что всё работает
- Исходный код страницы. Откройте сайт, нажмите Ctrl + U и найдите
ym(. Номер счётчика должен совпадать с номером в Метрике, а сам код — встречаться один раз. - Отладчик Метрики. Добавьте к адресу
?_ym_debug=2(или&_ym_debug=2, если в адресе уже есть параметры). Внизу страницы появится панель: на вкладке Counters — номер счётчика, на вкладке Console — просмотр страницы, события электронной коммерции и вызовыreachGoal. - Тестовый заказ и заявка. Пройдите путь покупателя: карточка товара → корзина → оформление. В отладчике должны появиться события электронной коммерции и
BX-order-save. Отправьте каждую форму и сравните адрес или идентификатор с условием цели. - Отчёты. Визиты появляются в отчётах примерно через 10–15 минут, цели — через 5–10 минут, данные электронной коммерции — через несколько часов.
Тестируйте в режиме инкогнито, если в счётчике включён фильтр «Не учитывать мои визиты». Пошаговый разбор проверки — в статье как проверить, работает ли Яндекс Метрика.
Почему Метрика на Битриксе не работает
| Симптом | Частая причина | Что сделать |
|---|---|---|
| Кода нет в исходнике страницы | Код вставлен не в тот шаблон или кеш не сброшен | Проверить шаблон сайта и условия показа, очистить кеш |
| Визитов вдвое больше, чем ожидалось | Код выводят и модуль, и шаблон или готовое решение | Оставить один способ установки |
| Модуль сохранён, данных нет | Номер с ошибкой или адрес в счётчике не совпадает с доменом | Сверить номер, проверить поле адреса в настройках счётчика |
| Нет данных на части страниц | Корзина или лендинг собраны на другом шаблоне | Добавить код в каждый шаблон или перейти на модуль |
| Электронная коммерция пустая | Опция не включена в счётчике или в коде нет ecommerce:"dataLayer" |
Включить опцию и обновить код в шаблоне |
| Выручка в отчётах удвоена | Покупку передают и модуль, и компонент sale.order.ajax |
Отключить передачу в одном из источников |
| Нет опции электронной торговли в компоненте | Доработанный шаблон компонента | Проверить на стандартном шаблоне, доработать свой |
| Цель на форму не срабатывает | Форма работает через AJAX, а цель настроена на адрес | Перейти на целевое событие reachGoal |
| Счётчик стоит, но грузится в конце страницы | Включён перенос JavaScript в конец страницы | Добавить тегу data-skip-moving="true" |
Яндекс Метрика и Битрикс24
Сайт на конструкторе Битрикс24. Код вставлять не нужно. Откройте «Сайты и Магазины» → «Сайты» → меню сайта → «Настроить сайт» → «Настройки сайта» → «Дополнительно» → «Аналитика», отметьте «Яндекс Метрика», вставьте номер счётчика и сохраните. Для отдельного лендинга номер указывают в настройках страницы; если счётчик подключён и к странице, и к сайту, на этой странице работает только счётчик страницы. Если данные не идут, снимите сайт с публикации и опубликуйте заново.
CRM Битрикс24. Чтобы видеть в Метрике реальные продажи, а не только заявки, подключите передачу заказов из CRM. В Метрике откройте «Интеграции» → «Передача заказов из CRM» → «Сделки и клиенты из Битрикс24», установите официальное бесплатное приложение «Яндекс Метрика» в Маркете Битрикс24, укажите адрес портала и сопоставьте статусы сделок со статусами Метрики: «В работе», «Оплаченные», «Спам», «Отменен».
- Подключить интеграцию может владелец счётчика или пользователь с правом редактирования.
- Приложение работает только для порталов в доменной зоне
ru, к одному счётчику подключается одна CRM. - Данные обновляются каждый час, при первой загрузке к визитам привязываются заказы за последние 21 день.
- После подключения появляются цели «CRM: Заказ создан», «CRM: Заказ оплачен», «CRM: Спам заказ», «CRM: Заказ отменен». Их можно использовать в стратегиях Директа с оплатой за подтверждённые заказы.
Для точной привязки сделок к визитам передавайте в CRM идентификатор посетителя ClientID: получите его методом getClientID и сохраните в поле metrika_client_id лида, сделки или контакта.
Что дальше
Когда цели работают, укажите счётчик в кампаниях Директа и выберите ключевые цели для стратегии — порядок описан в статье Яндекс Метрика и Директ. Чтобы отделять рекламный трафик от остального, размечайте ссылки UTM-метками.
Частые вопросы
Модуль Метрики для Битрикса платный?
Нет. Официальный модуль «Яндекс Метрика» бесплатный, как и сама Метрика. Платные модули в Marketplace — сторонние разработки.
Можно ли поставить Метрику, если версия Битрикса ниже 18.0?
Официальный модуль на такой версии не заработает. Вставьте код счётчика в шаблон вручную или обновите платформу в «Marketplace» → «Обновление платформы».
Как подключить Метрику к нескольким сайтам в одной установке Битрикса?
В модуле выберите каждый сайт по очереди и укажите его счётчик. При ручной установке код вставляют в шаблон каждого сайта; если шаблон общий, его копируют. Когда сайтам нужна общая статистика, подходит один счётчик с дополнительными адресами.
Нужно ли что-то менять после смены шаблона сайта?
С модулем — нет, код не привязан к шаблону. При ручной установке перенесите код в новый шаблон и проверьте цели «Отправка формы» и «Клик по кнопке»: они зависят от вёрстки.
Влияет ли счётчик на скорость сайта?
Код Метрики загружается асинхронно и не блокирует отрисовку страницы. Если сайт тормозит, ищите причину в шаблоне и модулях, а не в счётчике.
Нужно ли согласие на cookies для Метрики на Битриксе?
Владелец сайта с Метрикой обрабатывает персональные данные посетителей, поэтому нужны политика обработки, отдельное согласие на аналитические cookies до запуска счётчика и уведомление Роскомнадзора. При ручной установке код в шаблоне можно запускать только после клика «Принять» в cookie-баннере.
Почему число заказов в Метрике меньше, чем в админке Битрикса?
Метрика не видит визиты, где счётчик заблокирован расширением или не успел загрузиться, а также заказы, оформленные менеджером вручную. Небольшое расхождение нормально; для точного учёта продаж подключите передачу заказов из CRM.