г. Москва, ул. Борисовская, д.1
Войти
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности
Заказать звонок

Почему не работают цели в Яндекс.Метрике: подробное руководство по диагностике и устранению ошибок


Яндекс.Метрика — один из самых популярных и мощных инструментов веб-аналитики в русскоязычном сегменте интернета. Он позволяет не только отслеживать посещаемость сайта, но и глубоко анализировать поведение пользователей: какие страницы просматривают, сколько времени проводят на сайте, откуда приходят, какие действия совершают и, главное, достигают ли они целей.

Под целью подразумевают любое значимое действие пользователя, в котором заинтересован бизнес: отправка формы, звонок, покупка, скачивание файла, подписка на рассылку и т. д. Именно по целям оценивается конверсия, эффективность рекламных кампаний, юзабилити сайта и ROI (возврат на инвестиции).

Но что делать, если вы настроили цели, а в отчетах пусто? Почему данные не появляются, несмотря на активность пользователей? В этой статье мы подробно разберем все возможные причины, по которым цели в Яндекс.Метрике могут не работать, и дадим пошаговые инструкции по их устранению. 

Основные причины, почему цели не отображаются

Код счетчика не добавлен в файл с общими настройками сайта

Суть проблемы:

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

Код счетчика не добавлен в файл с общими настройками сайта

Как проверить:

  1. Откройте исходный код страницы, где должна срабатывать цель (Ctrl+U в браузере).

  2. Найдите строку с https://mc.yandex.ru/metrika/ или ym() — это признак подключенного счетчика.

  3. Убедитесь, что код присутствует на всех целевых страницах.

Решение:

Добавьте код счетчика в общий шаблон сайта — например, в файл header.php (для WordPress), в компонент Layout (для React/Vue) или в общий HTML-фреймворк. Лучше всего использовать CMS или тег-менеджер (например, Google Tag Manager или Яндекс.Трекер), чтобы избежать ручного копирования кода на каждую страницу.

После обновления кода в настройках Яндекс.Метрики на сайте продолжает действовать устаревший код счетчика

Суть проблемы:

Вы могли обновить код счетчика в интерфейсе Метрики — например, включили «Вебвизор», добавили параметры E-commerce или перешли на новую версию счетчика. Однако если вы не заменили старый код на сайте, система будет использовать устаревшую версию, и новые функции, включая отслеживание целей, могут работать некорректно.

Как проверить:

  1. Зайдите в настройки счетчика в Яндекс.Метрике → «Код счетчика».

  2. Скопируйте актуальный код.

  3. Сравните его с тем, что вставлен на сайте (через «Просмотреть код страницы»).

  4. Обратите внимание на версию счетчика, параметры и ID.

Решение:

Замените старый код счетчика на новый на всех страницах сайта. Если сайт большой — используйте поиск и замену через FTP или панель управления хостингом. Также можно настроить автоматическую подгрузку кода через тег-менеджер.

Код счетчика на сайте не совпадает с тем, что указан в настройках Яндекс.Метрики

Суть проблемы:

Каждый счетчик имеет уникальный числовой идентификатор. Если в коде на сайте указан другой ID, данные будут отправляться в другой счетчик, а в вашем цели не появятся.

Код счетчика на сайте не совпадает

Как проверить:

  1. В интерфейсе Метрики откройте настройки счетчика → «Код счетчика». Найдите строку: new Ya.Metrika({id: XXXXXXXX, ...}).

  2. На сайте откройте исходный код → найдите аналогичную строку.

  3. Сравните ID. Они должны совпадать полностью.

Решение:

Замените ID в коде на сайте на правильный. Если вы не уверены, какой ID использовать, всегда копируйте код напрямую из интерфейса Метрики.

Используется некорректный идентификатор цели в настройках формы

Суть проблемы:

При настройке цели через JavaScript используется функция ym(ID_СЧеТЧИКА, 'reachGoal', 'IDENTIFIER'). Если в IDENTIFIER используются кириллические символы ('Заказ'), пробелы ('form submit'), дефисы, слеши или другие специальные символы, цель может не сработать. Также важно соблюдать регистр: 'Order' и 'order' — это разные цели.

Как проверить:

  1. Проверьте код формы или кнопки, где вызывается reachGoal.

  2. Убедитесь, что идентификатор состоит только из латинских букв, цифр и нижнего подчеркивания.

  3. Пример корректного идентификатора: 'ORDER_FORM', 'CALL_REQUEST', 'DOWNLOAD_PDF'.

Решение:

Переименуйте идентификатор цели в коде и в интерфейсе Метрики, используя только допустимые символы. После изменения обязательно протестируйте.

В Яндекс.Метрике отсутствует цель

Суть проблемы:

Вы добавили вызов reachGoal('MY_GOAL') в JavaScript, но забыли создать саму цель в интерфейсе ЯМ. Без этого система не знает, что событие 'MY_GOAL' — это цель, и игнорирует его.

Как проверить:

  1. Зайдите в Яндекс.Метрику → «Цели».

  2. Убедитесь, что цель с таким же идентификатором, как в коде, существует.

  3. Проверьте статус цели — она должна быть «Активна».

Решение:

Создайте новую цель:

  1. Нажмите «Добавить цель».

  2. Выберите тип — «JavaScript-событие».

  3. В поле «Идентификатор события» введите точно такой же текст, как в reachGoal().

  4. Сохраните и активируйте цель.

Вместо JavaScript событий указаны неверные типы целей

Суть проблемы:

В Яндекс.Метрике есть несколько типов целей:

  • переход на страницу (URL);

  • JavaScript-событие;

  • время на сайте;

  • просмотр страницы;

  • условие на странице.

Если вы используете reachGoal(), но в настройках выбрали тип «Переход на страницу» — цель не сработает, так как система будет ждать открытия URL, а не JavaScript-события.

Неверные типы целей

Как проверить:

  1. Откройте настройки цели в Метрике.

  2. Убедитесь, что выбран тип «JavaScript-событие».

  3. Проверьте, что идентификатор события совпадает с тем, что в коде.

Решение:

Измените тип цели на «JavaScript-событие» или создайте новую цель с правильным типом.

В настройках счетчика Яндекс.Метрики активирована фильтрация действий владельца

Суть проблемы:

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

Как проверить:

  1. Зайдите в настройки счетчика → «Фильтрация».

  2. Проверьте, включена ли опция «Не учитывать действия владельца».

Решение:

Либо отключите фильтрацию на время тестирования, либо тестируйте сайт в режиме инкогнито, в другом браузере, с другого устройства или под другим пользователем.

Можно также добавить свой IP-адрес в «белый список» в разделе «Фильтрация» → «Не фильтровать по IP».

Проведение проверки сразу после создания целей

Суть проблемы:

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

Как проверить:

  1. После создания цели подождите 15–30 минут.

  2. Используйте режим отладки в Яндекс.Метрике:

    • Зайдите в «Цели» → выберите цель → «Отладка в браузере».

    • Откройте сайт в новом окне и совершите целевое действие.

    • В режиме отладки вы увидите, фиксируется ли событие в реальном времени.

Решение:

Не спешите. Подождите 15–30 минут после настройки. Используйте инструмент отладки — он покажет ошибки в реальном времени и поможет убедиться, что цель работает.

Дополнительные советы по диагностике

  • Используйте консоль браузера (F12 → Console). При вызове ym(..., 'reachGoal', ...) в консоли не должно быть ошибок. Если вы видите ym is not defined — счетчик не загружен.

  • Проверьте порядок загрузки скриптов. Функция reachGoal должна вызываться после полной загрузки счетчика. Если вы вызываете ее до загрузки, будет ошибка. Используйте BX.ajax.onload_331357 или DOMContentLoaded.

  • Убедитесь, что нет блокировщиков. AdBlock, uBlock Origin и другие расширения могут блокировать Яндекс.Метрику. Отключите их при тестировании.

  • Проверьте SSL. Если сайт работает по HTTPS, а код счетчика вставлен с HTTP, браузер может блокировать его загрузку. Всегда используйте HTTPS-версию кода.

Как обеспечить стабильную работу целей

Неработающие цели — это не баг системы, а почти всегда результат технических ошибок, невнимательности или непонимания принципов работы инструмента. Чтобы избежать таких ситуаций:

  1. Всегда проверяйте наличие и корректность кода счетчика на всех страницах.

  2. Сверяйте ID счетчика и идентификаторы целей — они должны совпадать.

  3. Используйте только допустимые символы в названиях целей.

  4. Выбирайте правильный тип цели в зависимости от способа отслеживания.

  5. Отключайте фильтрацию действий владельца при тестировании.

  6. Дайте системе время на обработку, не ждите мгновенного результата.

  7. Используйте инструменты отладки — они экономят часы ручной проверки.
Технические ошибки

Если вы последовательно пройдете по всем пунктам этой статьи, вероятность того, что ваши цели будут работать корректно, стремится к 100%. А это значит, что вы сможете принимать решения, основанные на реальных данных, а не на догадках.

Если же вы не хотите вникать в код, не имеете технических знаний или просто хотите сэкономить время, воспользуйтесь нашим бесплатным модулем Tag Manager для установки счетчиков Яндекс.Метрики и других полезных инструментов. Установка, настройка, включение и отключение сервисов — все делается через простой интерфейс. Все скрипты попадают в нужное место страницы и начинают работать сразу. Вы не редактируете шаблоны и не лезете в код, поэтому риск что-то сломать равен нулю.

Популярные категории



Назад к списку