Клуб Яндекс.Метрики

Гид по Метрике: как правильно настроить reachGoal в формах

Василий
30 января, 11:13

Нам часто задают вопросы про использование reachGoal в формах. Например,

«Я установил цель на форму, но она достигается при нажатии на кнопку «Отправить», даже если не заполнены поля».

И, как правило, в таких случаях мы видим, что цель установлена на событие onclick, поэтому вполне ожидаемо достигается при нажатии на кнопку. 

Вот пример, как делать не стоит:
 

<form action="" method="POST" type="submit">

    <input name="name" placeholder="Ваше имя" required> <br>

    <input type="email" name="mail" placeholder="Ваш email" required> <br>

    <input type="button" onclick="yaCounterXXXXXX.reachGoal('form2'); return=true;" value="Отправить">

</form>

В этом случае в Метрику будет отправлена информация по всем кликам, совершенным по кнопке “Отправить” — даже если посетитель не заполнил форму.

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

Корректный код может выглядеть так: 
 

<form action="" method="POST" type="submit" onsubmit="yaCounterXXXXXX.reachGoal ('form1')">

    <input name="name" placeholder="Ваше имя" required> <br>

    <input type="email" name="mail" placeholder="Ваш email" required="Введите Ваш email"> <br>

    <button>Отправить</button>

</form>

При использовании reachGoal в формах, следите за тем, чтобы событие, отвечающее за отправку формы,  совершалось именно в момент отправки формы. В таком случае вы будете иметь корректный сбор данных. 

Проверить корректность работы цели можно с помощью инструкции: https://yandex.ru/support/metrika/reports/add-goals.html#check-goal 

Подробнее про reachGoal можно почитать в нашей Помощи: https://yandex.ru/support/metrika/objects/reachgoal.html

Для работы с JavaScript API необходимы навыки работы с HTML и JavaScript, поэтому мы настоятельно рекомендуем обращаться за помощью к вебмастеру, если у вас возникают трудности при использовании reachGoal. 

5 комментариев
Василий
Сотрудник Яндекса30 января, 11:21
Всем привет!

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

Хорошего дня и отличного настроения!


Добавлю, что сейчас часто используют аяксовые формы, на которых onsubmit не сработает. В этом случае reachGoal следует вставлять в скрипт, который проводит валидацию и/или отправляет форму.
Вот пример такого внедрения простым языком: https://medium.com/@inache/настраиваем-цель-на-отправку-ajax-формы-в-т-ч-с-помощью-gtm-d8c38fd03861
inache-su,
спасибо за статью
ennergiia,
пожалуйста!
еще бы описали, как это сделать через GTM