Яндекс.Метрика — один из самых популярных и мощных инструментов веб-аналитики в русскоязычном сегменте интернета. Он позволяет не только отслеживать посещаемость сайта, но и глубоко анализировать поведение пользователей: какие страницы просматривают, сколько времени проводят на сайте, откуда приходят, какие действия совершают и, главное, достигают ли они целей.
Под целью подразумевают любое значимое действие пользователя, в котором заинтересован бизнес: отправка формы, звонок, покупка, скачивание файла, подписка на рассылку и т. д. Именно по целям оценивается конверсия, эффективность рекламных кампаний, юзабилити сайта и ROI (возврат на инвестиции).
Но что делать, если вы настроили цели, а в отчетах пусто? Почему данные не появляются, несмотря на активность пользователей? В этой статье мы подробно разберем все возможные причины, по которым цели в Яндекс.Метрике могут не работать, и дадим пошаговые инструкции по их устранению.
Суть проблемы:
Код счетчика Яндекс.Метрики должен быть установлен на всех страницах сайта, где возможны действия, ведущие к достижению цели. Если счетчик установлен только на главной странице, а цель срабатывает, например, на странице «Контакты» или в личном кабинете — событие не будет зафиксировано.

Как проверить:
Решение:
Добавьте код счетчика в общий шаблон сайта — например, в файл header.php (для WordPress), в компонент Layout (для React/Vue) или в общий HTML-фреймворк. Лучше всего использовать CMS или тег-менеджер (например, Google Tag Manager или Яндекс.Трекер), чтобы избежать ручного копирования кода на каждую страницу.
Суть проблемы:
Вы могли обновить код счетчика в интерфейсе Метрики — например, включили «Вебвизор», добавили параметры E-commerce или перешли на новую версию счетчика. Однако если вы не заменили старый код на сайте, система будет использовать устаревшую версию, и новые функции, включая отслеживание целей, могут работать некорректно.
Как проверить:
Решение:
Замените старый код счетчика на новый на всех страницах сайта. Если сайт большой — используйте поиск и замену через FTP или панель управления хостингом. Также можно настроить автоматическую подгрузку кода через тег-менеджер.
Суть проблемы:
Каждый счетчик имеет уникальный числовой идентификатор. Если в коде на сайте указан другой ID, данные будут отправляться в другой счетчик, а в вашем цели не появятся.

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

Как проверить:
Решение:
Измените тип цели на «JavaScript-событие» или создайте новую цель с правильным типом.
Суть проблемы:
По умолчанию Яндекс.Метрика может игнорировать действия пользователя, который добавил счетчик, чтобы не искажать статистику своими тестами. Если вы авторизованы в Яндексе и тестируете сайт, ваши действия могут не учитываться.
Как проверить:
Решение:
Либо отключите фильтрацию на время тестирования, либо тестируйте сайт в режиме инкогнито, в другом браузере, с другого устройства или под другим пользователем.
Можно также добавить свой IP-адрес в «белый список» в разделе «Фильтрация» → «Не фильтровать по IP».
Суть проблемы:
Яндекс.Метрика — распределенная система, и ей требуется время на распространение новых настроек по серверам. Если вы создали цель и сразу же пытаетесь ее протестировать, система может ее еще не «увидеть».
Как проверить:
Решение:
Не спешите. Подождите 15–30 минут после настройки. Используйте инструмент отладки — он покажет ошибки в реальном времени и поможет убедиться, что цель работает.
Неработающие цели — это не баг системы, а почти всегда результат технических ошибок, невнимательности или непонимания принципов работы инструмента. Чтобы избежать таких ситуаций:

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