Яндекс Метрика. Цель на Javascript событие.
Когда вы будете настраивать цели в системе Яндекс Метрика, можно столкнуться с видом цели, который называется Javascript-событие.
Это находится в меню «Настройка — Цели — Добавить цель».

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

Разумеется, придумав и указав этот идентификатор, цель на Javascript — событие работать еще не будет.
Для того, чтобы эта цель начала работать и начала передавать данные в систему Яндекс Метрика, нужно на вашем сайте добавить специальный код, который будет сообщать Яндекс Метрике, что цель с тем или иным идентификатором была выполнена.
Когда вы установили код Яндекс Метрики на своем сайте, вы получаете доступ к так называемым «методам» Яндекс Метрики. Это специальные команды, которые могут передать с вашего сайта в Яндекс Метрику ту или иную информацию.
Метод, который отвечает за передачу информации о выполнении Javascript цели на вашем сайте называется reachGoal.
Вызвать выполнение этого метода можно с помощью языка Javascript.
Все, что нужно сделать, чтобы данные о выполнении Javascript-цели передались в Яндекс Метрику — это зафиксировать нужное событие, которое произвел пользователь на той или иной странице вашего сайта и вызвать метод reachGoal.
Событий, при которых может быть выполнена Javascript цель на вашем сайте, может быть очень много.
- Клик по какому-либо элементу.
- Отправка данных формы.
- Переход на определенную страницу сайта, и.т.д.
После того, как вы определитесь с тем событием, при выполнении которого должна быть выполнена Javascript-цель Яндекс Метрики, нужно с помощью языка Javascript зафиксировать это событие и вызвать метод reachGoal.
Давайте рассмотрим простой пример.
Предположим, на вашем сайте есть какая-либо кнопка-ссылка. Необходимо, чтобы при клике по этой кнопке, выполнялась Javascript — цель и данные об этом клике передавались в Яндекс Метрику.
К примеру, это может быть вот такой код:
Первое, с чего нужно начать - это определиться со способом, как можно зафиксировать событие клика по элементу.
Это можно сделать разными способами:
- С помощью HTML-атрибутов.
- С помощью библиотеки jQuery для языка Javascript
- С помощью диспетчера тэгов Google Tag Manager.
Подробнее в видео.
На этой странице небольшая вводная инструкция о том, как это можно сделать. Полный курс по работе и настройке целей в системе Яндекс Метрика находится здесь. Переходите по ссылке.
В каждой ситуации нужно подходить по своему. Наиболее универсальное и удобное решение, на мой взгляд — это использование диспетчера тэгов Google Tag Manager. Но, работа с этим инструментом — это тема другой статьи, поэтому затрагивать этот способ здесь я не буду.
Аналогично, ситуация обстоит со способом использования библиотеки jQuery.
Проще всего передать информацию о выполнении цели с помощью HTML-атрибутов. На этом способе мы сейчас и остановимся.
Для этого способа важно, чтобы вы имели доступ и могли отредактировать исходный HTML-код нужного элемента.
Для того, чтобы зафиксировать событие клика по элементу, в Javascript можно воспользоваться HTML-атрибутом onClick (в буквальном смысле переводится как «при клике»). Т.е. при клике по ссылке-кнопке, можно вызвать метод reachGoal, который передаст информацию в Яндекс Метрику о выполнении Javascript-цели.
Выглядеть это будет следующим образом:
XXXXXXXX — это уникальный идентификатор вашего счетчика в системе Яндекс Метрика.
aimId — это идентификатор цели, который указывался при создании цели в Яндекс Метрике.
reachGoal — это метод, который передает в Яндекс Метрику информацию о том, что была выполнена цель с указанным идентификатором.
Собственно, все. Вот таким образом с помощью метода reachGoal мы с вами можем передать информацию о выполнении Javascript цели на вашем сайте и передать эту информацию в Яндекс Метрику.
Больше моих уроков по веб-аналитике здесь.
Как создать и настроить цель типа «JavaScript-событие» в «Яндекс.Метрике»?
Яндекс.Метрика не нуждается в представлении. Ведь это один из мощнейших инструментов для веб-аналитики. Сам по себе сервис включает в себя множество инструментов для сбора данных, одним из которых являются «Цели».
Цель – это некий сценарий, при успешном прохождении которого поставленная цель считается достигнутой.
Всего на момент написания статьи Яндекс.Метрика содержит в себе 4 типа целей. Это:
- Количество просмотров страниц.
- Посещение определенных страниц.
- JavaScript-событие.
- Составная цель.
Сегодня мы поговорим о JavaScript-событии, в следующих же статьях, по отдельности, рассмотрим остальные типы целей.
Этот тип цели считается достигнутым, когда при определенных условиях (их мы рассмотрим ниже) вызывает специальный код.
Для начала – давайте получим этот код.
1. Зайдите в Яндекс.Метрику.
2. Далее, напротив нужного вам счетчика, нажмите на шестеренку (она вызывает страницу настроек).

3. На открывшейся странице настроек переключитесь на вкладку «Цели» и нажмите на кнопку «Добавить цель».

4. В открывшейся форме выбираете «JavaScript-событие», где вводите название цели и ее идентификатор.

И нажимаете «Добавить цель».
После чего, при успешном создании цели, она появиться в общем списке целей:

Где вы нажимаете «Сохранить». Если этого не произошло – пишите об этом в комментариях.
Теперь нам нужно сохранить номер счетчика (не путайте с номером цели) и идентификатор цели:

Они нам потребуются для уже финальной установки цели на наш сайт.
Во всех случаях мы будем вызывать следующую функцию:
yaCounterXXXXXX.reachGoal("TARGET_NAME");
Где «XXXXXX» – как раз номер вашего счетчика, а «TARGET_NAME» – идентификатор цели. А теперь примеры.
Установка цели на форму
Если вы на своем сайте имеете форму без технологии AJAX, то есть в ней присутствует часть похожая на эту:
То в этот тег вы можете вставить код цели. Пример:
В таком случае, при успешной отправке формы – цель будет считаться достигнутой.
Установка цели на кнопку, ссылку или другой элемент HTML
Этот способ установки цели подойдет для различных кнопок, таких как «скачать» – если, например, на вашем сайте есть прайс и вы хотите отследить, сколько человек заинтересовались вашими услугами.
Пример установки кода на кнопку:
Пример установки на ссылку:
Пример установки кода на простой div:
Hello, world!
Во всех случаях, как вы заметили, код идентичен.
Установка цели на просмотр страницы
Код, который представлен ниже, вы вставляете на нужные вам страницы в секции BODY.
В таком случае, если человек посетил страницу, где размещен этот код, цель считается достигнутой.
Установка цели на время нахождения на странице
В отличие от предыдущего варианта, пользователь должен не просто посетить страницу, но и еще пробыть на ней некоторое время.
Код вы также вставляете на нужные вам страницы или сразу на весь сайт.
Подведя итог всему написанному выше, можно сказать, что ключевым в этой цели является функция:
yaCounterXXXXXX.reachGoal("TARGET_NAME");
Ее вы уже используете так, как только посчитаете нужным. Возможно, я описал не все варианты составления целей типа «JavaScript-событие», и если вам чего-то не хватает или возникают трудности – пишите об этом в комментариях.
Настраиваем JavaScript-событие в Яндекс Метрике

JavaScript-события помогают отслеживать на страницах сайта целевые действия, при которых не происходит перехода пользователя на какой-то другой адрес. С их помощью вы можете делать аналитику точнее и даже экономить деньги. Рассказываем и показываем, как.
Представьте ситуацию. Рекламодатель настраивает в Директе оплату за конверсии и в качестве одной из целей указывает переход пользователя на страницу благодарности. Это страница, на которую пользователь перенаправляется, когда он совершил полезное действие, например, зарегистрировался, купил что-то или отправил заявку.
Пользователь совершает полезное действие, попадает на страницу благодарности, после чего оставляет ее открытой. И далее в течение нескольких дней обновляет ее, допустим, три раза. Система засчитывает три конверсии вместо одной, рекламодатель оплачивает все. Почему так происходит?
Система считает одним визитом все взаимодействия пользователя с сайтом в течение 30 минут. То есть, если он закроет вкладку со страницей благодарности и обновит ее или откроет из закладок через 29 минут, рекламодатель заплатит за одну конверсию. А если через 31 минуту — будет учтено уже два визита. И при оплате за конверсии будет оплачено две конверсии.
Яндекс не делает возвратов за такие списания, ведь с точки зрения работы Метрики система работает корректно: она регистрирует каждое посещение страницы благодарности.
Как избежать подобных казусов? Настроить JavaScript-события!
Дарим кампании в Директе для старта
Всем, кто впервые запускает рекламу в Директе через eLama, бесплатно настроим рекламную кампанию для поиска или сетей
Настройка цели «JavaScript-событие» позволяет отслеживать события, которые происходят без изменения URL сайта — например, нажатие на кнопку, заполнение формы, переходе на определенную страницу сайта, просмотр видео или скачивание файла.
С ее помощью можно исключить ошибочные списания, потому что цель будет считаться достигнутой только тогда, когда событие, совершенное пользователем, обратится к определенному фрагменту кода на сайте. Этот код не получится воспроизвести обновлением страницы, то есть каждая конверсия будет уникальной.
Чтобы настроить цель в Метрике, предварительно нужно создать и настроить счетчик. Как это сделать, мы рассказывали в инструкции.
Настраиваем цель в Яндекс Метрике
Чтобы настроить цель, в левом меню аккаунта Метрики перейдите в раздел «Цели» и нажмите «Добавить цель».

Во всплывающем окне укажите название цели и отметьте тип условия: «JavaScript-событие».

Далее выберите условие отслеживания цели и придумайте идентификатор цели — из латинских букв и цифр с нижними подчеркиваниями вместо пробелов.
Условий отслеживания цели — три на выбор.
- Совпадает: достижение цели засчитывается, если в коде события указан полный идентификатор. Подходит, если вы настраиваете на сайте только одну цель «JavaScript-событие».
- Содержит: в этом случае в поле «Идентификатор цели» вы указываете часть идентификатора, который будете использовать в коде сайта. Подходит, если вы настраиваете несколько целей на сайте, и у них всех есть общие символы в названии.
Идентификаторы цели для этих двух условий не должны содержать символы / \ & # ? = «. Знак + замените символами: %2B.
- Регулярное выражение. Подходит, если достижением цели должно считаться срабатывание кода, который повторяется в событиях на сайте. Для этого условия можно указать несколько идентификаторов с оператором ИЛИ, а также задать еще более тонкие условия срабатывания цели. Подробнее об этом условии можно почитать в справке Яндекса.
Как только вы придумаете и введете идентификатор цели, система отобразит в отдельном поле код цели для сайта. Скопируйте его, он понадобится при настройке цели на сайте.

Здесь же вы можете указать доход, который приносит вам выполнение цели — чтобы в статистике правильно подсчитывались ROMI и ROI. Это опциональная настройка, которая будет перезаписана, если при достижении цели придет другое значение.
Когда всё готово, жмите на «Добавить цель». Когда на сайте цель будет настроена, Метрика начнет сбор статистики по ней.
Настраиваем цель на сайте
Чтобы цель, которую вы только что создали, начала работать, нужно добавить на сайт код, который будет сообщать в Яндекс Метрику о том, что настроенная цель выполнена.

После установки на сайт счетчика Метрики вы получаете доступ к методам — с их помощью в Метрику можно передавать определенные данные с сайта. Метод, который отвечает за передачу информации о выполнении JavaScript-цели, называется reachGoal — его название можно видеть в коде цели для сайта. Подробнее о нем читайте в справке.
Чтобы при клике по кнопке, заполнении формы или переходе на определенную страницу сайта вызывался метод reachGoal, можно воспользоваться одним из трех способов.
- HTML-атрибуты — здесь вам понадобится доступ к исходному коду сайта.
Инструкции по установке цели в исходный код сайта — в справке Яндекса. Если вы настраиваете событие на отправку формы, код цели нужно будет установить так, чтобы событие совершалось именно в момент отправки формы (подробнее об этом в Гиде по Метрике). Для установки цели понадобится тот самый код цели для сайта, который вы скопировали в Метрике.
- Библиотека jQuery для языка JavaScript — требует умения работать с фреймворками.
- Диспетчер тегов Google Tag Manager.
Остановимся подробнее на последнем варианте. Чтобы использовать этот способ, нужно зарегистрироваться в Google Tag Manager и установить счетчик метрики через него. О том, как это делается, вы узнаете из записи вебинара от евангелиста eLama Никиты Кравченко.
Далее в Google Tag Manager перейдите в раздел «Переменные» во вкладке «Рабочая область».

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

Далее перейдите в раздел «Теги» и нажмите «Создать» в правом верхнем углу.

Во всплывающем окне, которое появится, кликните на поле «Конфигурация тега».

Пролистайте список и выберите в нем вариант тега «Пользовательский HTML».

Затем в поле HTML введите код цели для сайта, ранее скопированный из Яндекс Метрики.

Промотайте страницу вниз и нажмите на «Триггеры».

На экране выбора триггера кликните на + справа вверху, чтобы создать новый.

В поле создания триггера нажмите на «Настройка триггера».

Промотайте открывшееся меню до раздела «Взаимодействия пользователей» и выберите «Отправка формы».

В настройках нового триггера укажите «Некоторые формы». В качестве активатора выберите Form ID — равно — и укажите идентификатор формы на сайте.

Сохраните триггер кнопкой справа вверху и дайте ему название. Повторите процедуру с тегом.

Новый тег с настроенным триггером отобразится в списке тегов.

Проверяем, работает ли цель
Когда цель создана в Яндекс Метрике и интегрирована на сайт, остается только проверить ее. Для этого, находясь на сайте, нажмите сочетание клавиш Ctrl+Shift+J для Windows или ⌥+⌘+J для Mac OS и в верхней части открывшегося окна выберите Console. После выполнения действия, на которое вы настроили срабатывание цели JavaScript-событие, в консоли разработчика в одной из строк должно отобразиться Reach goal.
Через 15-20 минут после этого перейдите в Яндекс Метрику. В левом меню выберите отчет «Конверсии». Если в нем появились данные о совершенных действиях, значит, всё настроено правильно.

Точной и эффективной вам рекламы!

eLama , специалист Службы Заботы
Как добавить javascript событие в цели Метрики
С помощью javascript можно передавать любую цель и событие в Яндекс Метрику. Давайте рассмотрим несколько вариантов.
Передача события при посещении определенной страницы
Предположим, что нам необходимо передавать событие с помощью javascript достигнув необходимой нам страницы. Для этого на данной странице необходимо разметить следующий код:
window.onload = function()
- XXXXXXXX — это номер Вашего счетчика, для которого необходимо передавать данную цель
- name — это идентификатор цели. Вы можете прописать так как вам нужно
О том, как настроить событие при копировании текста на сайте читайте в статье: настройка достижения цели в метрике при копировании текста на сайте
Передача события через определенный промежуток вермени
Далее мы можем использовать точно такой же подход с помощью javascript для передачи события через определенный промежуток времени. Для этого на данной странице или на всех страницах сайта необходимо разметить следующий код:
- XXXXXXXX — это номер Вашего счетчика, для которого необходимо передавать данную цель
- name — это идентификатор цели. Вы можете прописать так как вам нужно
- 600000 — это время через которое сработает событие. Указывается в мс. По умолчанию стоит значение для 10 минут
