Поиск

Как настроить цель по JavaScript-событию в Яндекс Метрике

Как настроить цель по JavaScript-событию в Яндекс Метрике

Цель Яндекс Метрики по событию фиксирует выбранное действие через reachGoal. Согласуйте идентификатор, момент отправки и проверку ложных срабатываний.

Что должно получиться

В нужный счётчик поступает сигнал о конкретном действии, которое вы заранее определили. Он появляется при подходящем сценарии и не отправляется в ситуации, когда нужного результата нет. В отчёте понятно, что именно означает достижение цели.

Этот способ нужен для ручной передачи события из кода сайта. В справке Метрики соответствующий тип называется целевым событием. Здесь речь об онлайн-действиях через JavaScript и метод reachGoal, а не об автоматическом распознавании действий или передаче данных из внешних систем.

Из чего это складывается

Часть настройкиЧто определитьЧто проверить
Смысл целиКакое действие вы хотите учитыватьНазвание не обещает больше, чем фиксируется
СчётчикКуда передаются данныеНомер в коде соответствует выбранному счётчику
Идентификатор событияКак код обозначает действиеУсловие цели совпадает с передаваемым значением
Момент отправкиКакое подтверждение запускает reachGoalНажатие не подменяет подтверждённый результат
ОбработчикГде вызывается методНет лишних повторных подключений
ПроверкаКакие сценарии должны и не должны достигать целиПроверены положительный и отрицательный исходы

До изменения кода убедитесь, что счётчик уже установлен и относится к нужному сайту. Если базовые посещения не поступают, сначала разберитесь с установкой. Создание дополнительной цели не исправит отсутствие самого счётчика.

Как это сделать по шагам

  1. Запишите точное действие. Определите, что считается достижением: начало взаимодействия, отправка формы или подтверждённое выполнение. Для разных смыслов не используйте одно неопределённое название.
  2. Выберите нужный счётчик. Сверьте сайт и номер с установленным кодом. Если на странице несколько счётчиков, заранее определите, в какой должны попадать события.
  3. Создайте цель для события. В управлении целями выбранного счётчика задайте понятное название, условие и технический идентификатор. Для начала удобно проверять точное соответствие одного события.
  4. Свяжите вызов с нужным моментом. Передайте разработчику номер счётчика, идентификатор и условие отправки. Разместите reachGoal в логике, которая действительно знает о выбранном действии.
  5. Проверьте успешный сценарий. Откройте страницу с официальным режимом отладки и выполните действие обычным способом. Сверьте номер счётчика и переданное событие.
  6. Проверьте сценарий без результата. Воспроизведите ошибку заполнения, отказ обработки или другое условие, при котором цель не должна достигаться. Убедитесь, что событие не отправляется преждевременно.
  7. Проверьте отчёт и сохраните описание. Сопоставьте событие с данными в Метрике, учитывая фильтры и условия проверки. Запишите смысл цели, место вызова и проверенные варианты для дальнейшей поддержки.

Как выбрать момент отправки

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

Событие submit относится к отправке формы. Оно не является самостоятельным подтверждением того, что сервер принял и сохранил данные. Для цели с таким смыслом используйте подтверждённый результат, который получает логика приложения.

На сайте могут работать обычные формы, формы без перезагрузки и разные способы отправки одной заявки. Проверьте каждый предусмотренный путь. Привязка к одному визуальному элементу легко пропускает другой способ выполнить то же действие.

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

Как согласовать идентификатор

Название цели в интерфейсе помогает человеку читать отчёты. Технический идентификатор используется кодом для связи события с условием. Запишите оба значения в описании настройки, чтобы не искать соответствие по памяти.

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

При точном условии сравните идентификатор в настройке и коде посимвольно. Условия частичного соответствия и шаблоны могут захватывать несколько событий. Используйте их, когда действительно хотите объединить эти события и понимаете границы совпадения.

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

Как выглядит вызов reachGoal

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

ym(COUNTER_ID, 'reachGoal', 'form_success');

Если этот вызов находится в обработчике нажатия, он сообщает о нажатии. Имя form_success не превращает такой сигнал в подтверждение успеха. Название и место отправки должны описывать один и тот же факт.

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

Проверка ручным вызовом из консоли помогает отдельно изучить связь с Метрикой, но не подтверждает подключение к настоящему действию. После неё всё равно выполните полный пользовательский сценарий через интерфейс сайта.

Как проверить событие

Официальная инструкция предлагает открыть страницу со служебным параметром адреса _ym_debug=2. Панель отладки зависит от установленного кода счётчика. Если она недоступна, используйте описанный в справке способ проверки через консоль, подходящий вашему коду.

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

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

Затем сопоставьте отладку с отчётными данными. Сообщение в браузере и строка в отчёте помогают проверить разные части пути. Учитывайте исключение собственных посещений и другие фильтры: они могут влиять на то, увидите ли вы свой проверочный визит.

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

Если событие пропадает или повторяется

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

Ошибки JavaScript могут остановить логику ещё до reachGoal. Проверьте консоль после воспроизведения сценария. Если код работает только в одной форме, сравните способ её подключения с другой: динамически добавленный элемент может требовать другого места установки обработчика.

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

Достижения цели, визиты и реальные записи в системе — разные показатели. У человека могут быть повторные действия, а часть браузеров ограничивает работу аналитики. Сравнивайте данные с учётом того, что именно измеряет каждый источник.

Частые ошибки

  • Называть цель успешным результатом, а отправлять при любом нажатии. Согласуйте смысл и момент вызова.
  • Проверять только ручной вызов API. Повторите настоящий путь через форму или другой элемент сайта.
  • Копировать номер другого счётчика. Сверьте назначение до публикации кода.
  • Объединять разные этапы одним идентификатором. Разделите действия, которые нужно оценивать отдельно.
  • Подключать одинаковую отправку несколькими способами. Проверьте готовые интеграции и обработчики.
  • Менять настройку, не записав исходную проверку. Сохраните страницу, время и наблюдаемое событие.

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

  • Смысл достижения описан так же, как реальное событие на сайте.
  • Номер счётчика и идентификатор сверены с настройками.
  • Вызов связан с нужным подтверждением, а не случайным визуальным эффектом.
  • Успешный сценарий передаёт ожидаемое событие.
  • Отрицательный сценарий не даёт ложного достижения.
  • Проверены все предусмотренные способы выполнить действие.
  • События сопоставлены с отчётом с учётом фильтров.

Настройку можно сверить по справке Яндекса о целевом событии, метод — по описанию reachGoal, отладку — по проверке цели. Поведение отправки формы описывает справка MDN о submit.

Перед привязкой события проверьте работу формы, при сбое — ошибки JavaScript. Для различения внешних переходов пригодится материал UTM-метки. Помощь с планом измерений можно искать в разделе Маркетинг.

Вопросы и ответы

Нужно ли создавать ручное событие для каждого нажатия?

Нет. Сначала определите, какие действия нужны для понимания работы сайта. Если подходящий готовый механизм уже даёт нужный смысл, проверьте его, прежде чем добавлять отдельную отправку.

Почему цель достигается у незаполненной формы?

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

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

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

Почему ручной вызов работает, а форма не передаёт событие?

Ручной вызов проверяет связь с API, но не подключение к форме. Проверьте выполнение обработчика, подтверждение результата и ошибки JavaScript в настоящем сценарии.

Доказывает ли submit, что данные сохранены на сервере?

Нет. Он относится к отправке формы. Если нужно учитывать принятые и сохранённые данные, выберите подтверждение приложения, которое соответствует такому результату.

Почему в отладке событие есть, а в отчёте его не видно?

Сверьте счётчик, выбранный период, условия цели и фильтры посещений. Учитывайте обработку данных сервисом. Не создавайте новую копию цели, пока не определили, на каком этапе возникло расхождение.

Что сохранить после настройки?

Запишите смысл цели, номер счётчика, идентификатор, место вызова и результаты успешного и отрицательного сценариев. После изменения формы или шаблона повторите эти проверки.

—
15:48
42
Нет комментариев. Ваш будет первым!