Обратите внимание!
На данный момент метод reachGoal имеет несколько другой вид: ym(XXXXXX, 'reachGoal', 'TARGET_NAME'); Новый метод будет работать только с новым кодом. Подробнее: https://yandex.ru/blog/metrika/novyy-kod-v-nastroykakh-schetchika
В остальном принцип работы JS-целей не поменялся.
Нам часто задают вопросы про использование 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.