Перейти к содержимому

15 мин чтения100CTR

Как установить Яндекс Метрику на 1С-Битрикс: модуль, шаблон, электронная коммерция и цели

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

Обложка статьи «Как установить Яндекс Метрику на 1С-Битрикс: модуль, шаблон, электронная коммерция и цели»

Поставить Яндекс Метрику на сайт на 1С-Битрикс можно двумя способами. Первый — официальный бесплатный модуль «Яндекс Метрика» из Marketplace: его устанавливают в админке, указывают номер счётчика в «Настройках модулей», и модуль сам выводит код на всех страницах и передаёт события интернет-магазина. Второй — вставить код счётчика в шаблон сайта через «Настройки» → «Настройки продукта» → «Сайты» → «Шаблоны сайтов». Для магазина удобнее модуль, для сайта услуг с нестандартным шаблоном подойдут оба варианта.

Какой у вас Битрикс

Под названием «Битрикс» скрываются два разных продукта, и Метрика подключается к ним по-разному.

Продукт Как выглядит Как подключить Метрику
«1С-Битрикс: Управление сайтом» Коробочная CMS на своём хостинге, админка по адресу /bitrix/admin/ Модуль Метрики или код в шаблоне — основная часть статьи
Сайты и магазины Битрикс24 Конструктор внутри портала Битрикс24 Номер счётчика в настройках сайта или страницы, раздел «Аналитика»
CRM Битрикс24 Сделки, лиды, контакты Приложение Метрики для передачи заказов из CRM, см. раздел о Битрикс24 ниже

Что подготовить

  • Счётчик Метрики. Создайте его на metrika.yandex.ru и укажите в поле адреса домен сайта. Как заполнить поля и какие опции включить — в статье как установить Яндекс Метрику на сайт. Если сайт будет рекламироваться в Директе, создавайте счётчик на том же Яндекс ID, что и рекламный кабинет, или выдайте этому логину доступ.
  • Номер счётчика. Цифры из списка «Мои счетчики» или из кода: ym(12345678, "init", …). Модулю нужен только он.
  • Опция «Электронная коммерция» в настройках счётчика, если на сайте есть каталог с корзиной. После включения в код добавится контейнер данных dataLayer.
  • Права администратора в админке Битрикса: без них не получится установить модуль или править шаблон.
  • Версия платформы. Официальный модуль работает с 1С-Битрикс 18.0 и выше во всех редакциях «Управления сайтом». Текущую версию видно в «Marketplace» → «Обновление платформы».

Блок «Электронная коммерция» в настройках счётчика: переключатель «Вкл» и поле «Имя контейнера данных» со значением dataLayer Опция электронной коммерции включается в настройках счётчика до установки модуля

Скриншоты — из официальной справки Яндекс Метрики: «Подключение модуля для 1С-Битрикс».

Модуль или код в шаблоне: что выбрать

Критерий Официальный модуль Код в шаблоне
Кто справится Администратор сайта без программиста Тот, кто умеет править header.php
Электронная коммерция Просмотр товара, корзина, покупка передаются модулем Нужно включить передачу в компонентах магазина
Вебвизор Включён по умолчанию, отключается в настройках модуля Зависит от настроек счётчика
Несколько сайтов в одной установке Свой счётчик для каждого сайта в настройках модуля Код в шаблоне каждого сайта
Риск потерять код Низкий: код не зависит от шаблона Шаблон готового решения может перезаписаться при обновлении

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

Как установить официальный модуль

Шаг 1. Удалите сторонние модули Метрики

В админке откройте «Marketplace» → «Установленные решения» и поищите модули со словами «Метрика», «Metrica» или «Metrika». Если такой модуль есть, удалите его, иначе модули будут конфликтовать. Если код счётчика вставлен в шаблон вручную, уберите и его.

Шаг 2. Установите модуль

  1. Откройте «Marketplace» → «Установленные решения».
  2. Найдите модуль «Яндекс Метрика», нажмите на значок рядом с ним и выберите «Установить».
  3. Если модуля нет в списке, найдите его в каталоге 1С-Битрикс: Маркетплейс и установите оттуда.

Справка Метрики описывает и установку из ZIP-архива через «Контент» → «Файлы и папки» → bitrix/modules. Этот путь нужен, только если Marketplace недоступен.

Шаг 3. Укажите номер счётчика

  1. Перейдите в «Настройки» → «Настройки продукта» → «Настройки модулей» → «Яндекс Метрика».
  2. Выберите сайт.
  3. Введите номер счётчика — только цифры, без пробелов и букв. Если модуль сам нашёл счётчик на сайте, поля уже заполнены: проверьте номер.
  4. Оставьте включённым Вебвизор или отключите его, если записи визитов не нужны.
  5. Для интернет-магазина выберите «Свойство Бренда» — свойство инфоблока каталога, где хранится бренд или производитель. Найти его можно в «Контент» → «Типы инфоблоков» → «Каталоги» → нужный каталог → вкладка «Свойства». Поле необязательное, без него не будет отчёта по брендам.
  6. Сохраните настройки.

Настройки модуля «Метрика» в Битриксе: «Выберите сайт», поле «Счетчики» с отметкой «Вебвизор», кнопки «Сохранить» и «Показать логи» Номер счётчика и Вебвизор задаются отдельно для каждого сайта установки

Вкладка «Свойства» инфоблока каталога в админке Битрикса: свойство «Бренд» типа «Справочник» с кодом BRAND_REF Здесь находят свойство инфоблока, которое хранит бренд товара

После сохранения откройте модуль ещё раз и посмотрите лог ошибок. Частые причины ошибок — буквы в номере счётчика, несуществующее свойство бренда и устаревшая версия платформы.

Обновления модуля

Уведомление о новой версии появляется в админке. Обновляйте модуль через «Marketplace» → «Установленные решения»: Яндекс вместе с 1С-Битрикс закрыл в нём несколько уязвимостей, в том числе связанных с CSRF-проверками и сохранением настроек, поэтому старые версии лучше не держать.

Как вставить код в шаблон вручную

Ручная установка подходит, если модуль не ставится (старая версия платформы, ограничения хостинга) или нужен полный контроль над кодом.

  1. В Метрике откройте «Настройка» нужного счётчика и скопируйте код из блока «Код счетчика».
  2. В админке Битрикса перейдите в «Настройки» → «Настройки продукта» → «Сайты» → «Шаблоны сайтов».
  3. Откройте на редактирование шаблон, который назначен сайту. Какой шаблон используется, видно в «Сайты» → «Список сайтов» → карточка сайта.
  4. Вставьте код как можно ближе к началу <head> или сразу после открывающего <body>.
  5. Сохраните шаблон и очистите кеш: «Настройки» → «Настройки продукта» → «Автокеширование» → «Очистка файлов кеша» или кнопка сброса кеша на верхней панели.

Через файловую систему тот же шаблон лежит в /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) нужно для отчёта «Популярные товары» и требует правки шаблона:

  1. На вкладке «Сайт» включите «Режим правки» и откройте карточку товара.
  2. Через меню компонента каталога выберите «Копировать шаблон компонента» и скопируйте его в текущий шаблон сайта.
  3. Откройте файл element.php скопированного шаблона.
  4. После вызова bitrix:catalog.element добавьте строку:
$APPLICATION->IncludeComponent("yandex.metrika:detail", "", array("PRODUCT_ID" => $elementId), $component);
  1. Сохраните файл. Если в шаблоне нет переменной $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. Этот адрес и есть признак успешной отправки.

  1. Отправьте тестовую заявку и скопируйте адрес страницы после отправки.
  2. В Метрике откройте «Цели» → «Добавить цель», выберите тип «Посещение страниц».
  3. Задайте условие «url: содержит» и значение formresult=addok. Чтобы различать формы, добавьте номер формы: WEB_FORM_ID=3.
  4. Сохраните цель.

Ещё проще указать в параметрах компонента страницу успешной отправки (например, /thanks/) и поставить цель на её адрес. Если в компоненте включён режим AJAX, адрес в браузере не меняется — тогда подойдёт только целевое событие.

Обратная связь (main.feedback)

Компонент main.feedback после успешной отправки перенаправляет посетителя на ту же страницу с параметром success= и служебным хешем. Цель: «Посещение страниц», «url: содержит», значение success=. Если форма стоит на нескольких страницах, а учитывать нужно все отправки, такая цель соберёт их одной строкой.

Оформление заказа (sale.order.ajax)

Компонент оформления заказа сам отправляет в Метрику целевые события.

  1. Откройте параметры компонента sale.order.ajax, вкладку «Настройки аналитики».
  2. Отметьте «Использовать цели счетчика Яндекс.Метрики» и укажите номер счётчика.
  3. В Метрике создайте цель «Целевое событие» с идентификатором 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 не видит вовсе. Для оптимизации рекламы выбирайте одну точную цель на одно действие, иначе одна заявка посчитается дважды.

Как проверить, что всё работает

  1. Исходный код страницы. Откройте сайт, нажмите Ctrl + U и найдите ym(. Номер счётчика должен совпадать с номером в Метрике, а сам код — встречаться один раз.
  2. Отладчик Метрики. Добавьте к адресу ?_ym_debug=2 (или &_ym_debug=2, если в адресе уже есть параметры). Внизу страницы появится панель: на вкладке Counters — номер счётчика, на вкладке Console — просмотр страницы, события электронной коммерции и вызовы reachGoal.
  3. Тестовый заказ и заявка. Пройдите путь покупателя: карточка товара → корзина → оформление. В отладчике должны появиться события электронной коммерции и BX-order-save. Отправьте каждую форму и сравните адрес или идентификатор с условием цели.
  4. Отчёты. Визиты появляются в отчётах примерно через 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.

Соберите кампанию Директа за один проход

Группы фраз, объявления с подстановкой ключа и выгрузка для Директ Коммандера — в одном проекте 100CTR.