Как установить Яндекс.Метрику на OpenCart: счётчик, цели, ecommerce
Как установить Яндекс.Метрику на OpenCart: счётчик и цели
с учётом практики команды с 17-летним опытом разработки на OpenCart — Яндекс.Метрику в OpenCart устанавливают тремя способами: через модуль (самый простой), через настройки темы или вставкой кода в common/footer.twig. Для интернет-магазина критично не просто поставить счётчик, но и настроить ecommerce-данные (товары, выручка, заказы) и цели (корзина, оформление, звонок). После установки проверьте через отладчик Метрики, что данные приходят корректно.
Из практики: без правильной аналитики вы не узнаете, что работает. В статье — что и как настраивать.
По практике команды с 17-летним опытом разработки на OpenCart: установить счётчик Метрики — самое простое. Настроить ecommerce-слой так, чтобы в отчётах была видна выручка по каждому товару, а не просто «заказ оформлен» — вот где большинство магазинов ошибаются. Частая проблема — поставить код в footer.twig и забыть про цели. Правильный подход: после установки счётчика сразу настроить цели «добавление в корзину», «оформление заказа» и передачу ecommerce-данных через dataLayer.
Способ 1: Через модуль (рекомендуется)
Самый простой и надёжный способ. В русских сборках OpenCart (ocStore, «Русская сборка») модуль Яндекс.Метрики уже предустановлен.
- В админке перейдите в Расширения → Модули.
- Найдите модуль Яндекс.Метрика (или Yandex.Metrika).
- Нажмите «Установить», затем «Редактировать».
- Вставьте ID счётчика (число из кода Метрики, например
12345678). - Включите Вебвизор и Электронную коммерцию.
- Сохраните и очистите кеш.
Если модуля нет — установите любой проверенный модуль из маркетплейса 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_item | id, name, price, category | Просмотр карточки товара |
| add_to_cart | id, name, price, quantity | Нажатие «В корзину» |
| begin_checkout | id, name, price, quantity, coupon | Начало оформления |
| purchase | transaction_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) |
| Добавление в корзину | Клик | Кнопка «В корзину» |
| Заявка / звонок | Клик | Кнопка «Заказать звонок» |
| Форма обратной связи | Форма | Отправка формы |
Типичные ошибки
- Дублирование счётчика. Установили через модуль и вручную в шаблоне — два счётчика завышают статистику. Проверьте через DevTools → Network → поиск «mc.yandex.ru».
- Не настроена ecommerce. Счётчик стоит, но данные о товарах и выручке не передаются. Метрика показывает визиты, но не продажи.
- Вебвизор нарушает 152-ФЗ. Если не скрыть поля с персональными данными (телефон, email, ФИО), вы нарушаете закон. Включите маскирование в настройках вебвизора.
- UTM не сохраняются. Если UTM-метки не доходят до заказа — вы не видите, откуда платящие клиенты. Проверьте cookie UTM-меток.
- Страница успеха кешируется. Если 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 с суммой и составом заказа. Проверить можно через режим отладки в браузере.
Комментарии (0)
Пока нет комментариев. Будьте первым!
Оставить комментарий