Услуги Создание магазина Доработка Интеграция 1С О компании FAQ Блог Кейсы Отзывы Контакты
А
Автор статьи

Как установить Яндекс.Метрику на OpenCart: счётчик, цели, ecommerce

Как установить Яндекс.Метрику на OpenCart: счётчик и цели

с учётом практики команды с 17-летним опытом разработки на OpenCart — Яндекс.Метрику в OpenCart устанавливают тремя способами: через модуль (самый простой), через настройки темы или вставкой кода в common/footer.twig. Для интернет-магазина критично не просто поставить счётчик, но и настроить ecommerce-данные (товары, выручка, заказы) и цели (корзина, оформление, звонок). После установки проверьте через отладчик Метрики, что данные приходят корректно.

Из практики: без правильной аналитики вы не узнаете, что работает. В статье — что и как настраивать.

По практике команды с 17-летним опытом разработки на OpenCart: установить счётчик Метрики — самое простое. Настроить ecommerce-слой так, чтобы в отчётах была видна выручка по каждому товару, а не просто «заказ оформлен» — вот где большинство магазинов ошибаются. Частая проблема — поставить код в footer.twig и забыть про цели. Правильный подход: после установки счётчика сразу настроить цели «добавление в корзину», «оформление заказа» и передачу ecommerce-данных через dataLayer.

Способ 1: Через модуль (рекомендуется)

Самый простой и надёжный способ. В русских сборках OpenCart (ocStore, «Русская сборка») модуль Яндекс.Метрики уже предустановлен.

  1. В админке перейдите в Расширения → Модули.
  2. Найдите модуль Яндекс.Метрика (или Yandex.Metrika).
  3. Нажмите «Установить», затем «Редактировать».
  4. Вставьте ID счётчика (число из кода Метрики, например 12345678).
  5. Включите Вебвизор и Электронную коммерцию.
  6. Сохраните и очистите кеш.

Если модуля нет — установите любой проверенный модуль из маркетплейса OpenCart или создайте свой через OCMOD.

Способ 2: Вставка кода в шаблон

Если модуля нет или вы хотите контроль над кодом — вставьте скрипт Метрики в шаблон.

Куда вставлять

Откройте catalog/view/theme/ваша_тема/template/common/footer.twig и вставьте код перед закрывающим </body>:

<!-- common/footer.twig --><script type="text/javascript">  (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};  m[i].l=1*new Date();  for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}  k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})  (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");  ym(ВАШ_ID_СЧЁТЧИКА, "init", {    clickmap:true,    trackLinks:true,    accurateTrackBounce:true,    webvisor:true  });</script><noscript><div><img src="https://mc.yandex.ru/watch/ВАШ_ID_СЧЁТЧИКА" alt="" /></div></noscript></body></html>

Замените ВАШ_ID_СЧЁТЧИКА на реальный ID из настроек Метрики.

Настройка ecommerce для интернет-магазина

Для eCommerce-магазина стандартного счётчика недостаточно. Нужно настроить передачу данных о товарах, заказах и выручке.

Что передавать

СобытиеЧто передаётсяКогда
view_itemid, name, price, categoryПросмотр карточки товара
add_to_cartid, name, price, quantityНажатие «В корзину»
begin_checkoutid, name, price, quantity, couponНачало оформления
purchasetransaction_id, revenue, itemsУспешный заказ

Как настроить в OpenCart

Если вы используете модуль — включите переключатель «Электронная коммерция» в настройках модуля. Модуль автоматически генерирует нужные события.

Если настраиваете вручную — добавьте в шаблон страницы заказа (checkout/success.twig) код:

<script>ym(ВАШ_ID, "reachGoal", "purchase", {  order_id: "{{ order_id }}",  revenue: "{{ total }}",  items: [{% for item in products %}    {id: "{{ item.product_id }}", name: "{{ item.name }}", price: {{ item.price }}, quantity: {{ item.quantity }}}    {% if not loop.last %},{% endif %}{% endfor %}]});</script>

Настройка целей

В админке Метрики (metrika.yandex.ru) → ЦелиДобавить цель. Рекомендуемые цели для интернет-магазина:

ЦельТипУсловие
ПокупкаЦенностьСтраницауспеха (checkout/success)
Добавление в корзинуКликКнопка «В корзину»
Заявка / звонокКликКнопка «Заказать звонок»
Форма обратной связиФормаОтправка формы

Типичные ошибки

  1. Дублирование счётчика. Установили через модуль и вручную в шаблоне — два счётчика завышают статистику. Проверьте через DevTools → Network → поиск «mc.yandex.ru».
  2. Не настроена ecommerce. Счётчик стоит, но данные о товарах и выручке не передаются. Метрика показывает визиты, но не продажи.
  3. Вебвизор нарушает 152-ФЗ. Если не скрыть поля с персональными данными (телефон, email, ФИО), вы нарушаете закон. Включите маскирование в настройках вебвизора.
  4. UTM не сохраняются. Если UTM-метки не доходят до заказа — вы не видите, откуда платящие клиенты. Проверьте cookie UTM-меток.
  5. Страница успеха кешируется. Если checkout/success кешируется — ecommerce-событие purchase не отправляется. Исключите эту страницу из кеша.

Рекомендации из практики

Как лучше: Устанавливайте Метрику через готовый модуль — он автоматически добавляет счётчик на все страницы, настраивает ecommerce-слой и цели. Через админку: Система → Модули → Аналитика → Яндекс.Метрика. Это занимает 5 минут и не требует правки шаблонов.

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

Кейс из практики: Клиент вставил код Метрики в footer.twig для русского домена. Когда открыли английскую версию subdomain.com/en — там стоял тот же русский счётчик. Данные по английскому сегменту смешивались с русским. Переустановили через модуль — теперь на каждом домене свой счётчик.

Нужна помощь — закажите технический аудит: проверим и настроим.

FAQ

Куда вставлять код Метрики?

Лучше через модуль (автоматически на всех страницах). Если модуля нет — в common/footer.twig перед закрывающим </body>.

Нужна ли электронная коммерция?

Да, если вы хотите видеть товары, выручку, средний чек и эффективность каналов. Без ecommerce Метрика покажет только визиты.

Почему Метрика не видит заказы?

Часто не настроена передача ecommerce или страница успеха кешируется/не открывается после оплаты. Проверьте через отладчик Метрики.

Можно ли ставить несколько счетчиков?

Да, но избегайте дублей одного и того же счётчика — это искажает статистику.

Из практики. Настройка электронной коммерции в Яндекс.Метрике для OpenCart — частая точка потери данных. Базовая ошибка: ставят код счётчика в шаблон, но не передают данные о заказах через dataLayer. Без этого Метрика показывает посещения, но не видит, какие товары покупают. Мы донастроили передачу e-commerce данных через событие purchase — и клиент увидел реальную воронку: от просмотра до покупки.

Как не надо. Не настраивайте аналитику через стандартные коды счётчиков, не проверив передачу данных о заказах. Для OpenCart нужна доработка шаблонов: в корзину добавить dataLayer.push с данными о товарах, на страницу оформленного заказа — событие purchase с суммой и составом заказа. Проверить можно через режим отладки в браузере.

← Предыдущая Route в OpenCart 3: маршруты, контроллеры и SEO URL Следующая → Пропадают заказы в OpenCart: потерянные заказы, оплата и логи

Комментарии (0)

Пока нет комментариев. Будьте первым!

Оставить комментарий

Ваш комментарий появится после проверки модератором.