Рассмотрим два события это onclick и onsubmit, почему именно их? Потому что хочется запомнить, раз и навсегда, как устанавливать цели на различные действия на сайте (javascript-событие в Метрике). Я понимаю что об этом много было сказано, но хочется что б в одном месте были нужные мне заметки.
Onclick и Onsubmit на примере целей Яндекс.Метрики
Немного теории, начнем с onclick. Событие возникающее при клике на левую кнопочку мыши по ссылке, кнопке, или по какому либо другому элементу где установлен этот атрибут.
Устанавливаем событие на кнопку (Пример из настройки целей в Яндекс.Метрике)
<input type="button" onclick="yaCounterNNNNNNNN.reachGoal('Индикатор цели'); return true;" value="Купить" />
Onsubmit активируется непосредственно при отправке формы, это чаще всего происходит после нажатия на кнопку отправить или купить. Такие формы обычно используются для отправки сообщений пользователей, владельцам сайтов, можете посмотреть у меня в разделе контакты.
Устанавливаем событие на форму (Пример из настройки целей в Яндекс.Метрике)
<form action="" method="get" onsubmit="yaCounterNNNNNNNN.reachGoal('Индикатор цели'); return true;">
В случае установки цели на форму обратной связи, я бы советовал использовать onsubmit, так как Метрика будет показывать точное количество людей которые отправили вам сообщения, нежели если вы установите onclick на кнопку в этой форме. Если например человек не заполнил обязательно поле или ввел неправильно email и кликнул отправить, а у вас сработала проверка, Метрика это зафиксирует, а человек ведь может и передумать что то Вам писать, соответственно показания будут не точными.
NNNNNNNN — Номер счетчика
Индикатор цели — только латинскими буквами, вписываем индикатор цели который Вы добавили в Яндекс.Метрике
Добавление события для формы в плагине Contact Form 7
Для тех кто использует Contact Form 7 на движке WordPress, в плагине нужно зайти в настройки той формы в которую хотите добавить цель, далее перейти во вкладку Additional Settings и вставить следующий код:
on_sent_ok: "yaCounterNNNNNNNN.reachGoal('Индикатор цели');"