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

Варианты, как отслеживать отправку формы

Есть два рабочих подхода в метрика:

  1. Цель типа “Отправка формы”
    Метрика пытается распознать отправку по разметке на сайте. Удобно, когда форму реально собирает тег form.

  2. Цель типа “JavaScript-событие” (reachGoal)
    Отслеживание делается через вызов кода при отправке (submit). Этот способ универсальнее, но требует правок в коде или настройках событий.

Официальная справка по цели reachGoal есть у Яндекса: https://yandex.ru/support/metrica/objects/reachgoal.html

Перед настройкой: проверьте, что метрика собирает данные

Если цель не срабатывает, чаще всего проблема в том, что счетчик или разметка на сайте работают неправильно, а не в настройке цели.

Быстрая проверка через параметр _ym_debug описана в материалах про цели в метрика:
- eLama: https://elama.ru/blog/nastroyka-celey-v-yandeks-metrike/
Также у Яндекса есть документация по цели и событиям:
- JavaScript-событие: https://yandex.ru/support/metrica/general/goal-js-event.html
- общие принципы работы целей: https://yandex.ru/support/metrica/

Шаг 1. Найдите счетчик и откройте настройки целей

  1. Откройте Яндекс Метрика, зайдите в нужный счетчик.
  2. Перейдите в раздел Цели.
  3. Нажмите Добавить цель.

Дальше выбирайте один из способов: “Отправка формы” или “JavaScript-событие”.

Способ 1. Цель “Отправка формы” (если на странице есть тег form)

Этот вариант проще, когда форма на сайте реализована корректно.

Метрика фиксирует отправку при выполнении условий:
- форма сделана через тег form
- отправка идет через button type="submit"
- submit находится внутри form

Эти требования перечислены в инструкциях по целям в метрика:
- eLama: https://elama.ru/blog/nastroyka-celey-v-yandeks-metrike/

Как создать цель “Отправка формы”

  1. В разделе настройки цели выберите тип условия Отправка формы.
  2. Выберите, для каких форм создавать цель:
  3. общая цель для всех форм или
  4. конкретная цель для нужной формы на странице
  5. Если выбираете конкретную - укажите страницу, где стоит форма, и подтвердите выбор в подсветке.
  6. Нажмите Добавить цель.

Когда может быть “двойной” подсчет

Если на сайте есть валидация, которая меняет логику отправки (например, отправка считается дважды из-за порядка событий), цель может сработать повторно. Такое замечание есть в разборе нового типа цели “Отправка формы”:
- Mediaguru: https://www.mediaguru.ru/blog/yandeks-prodolzhaet-uproshhat-zhizn-spetsialistam-po-kontekstu-nastrojka-tseli-na-otpravku-formy-bez-razrabotchikov/

Способ 2. Цель “JavaScript-событие” (reachGoal) - универсально

Этот способ подходит, когда “Отправка формы” не распознается или форма работает через нестандартную логику.

Как создать цель

  1. Выберите тип условия JavaScript-событие.
  2. Укажите:
  3. Название цели (например, “Отправка формы заявки”)
  4. Идентификатор цели
  5. Нажмите Добавить цель.

Дальше вам нужен код, который отправит событие в метрика в момент отправки формы.

Как добавить событие в код сайта

Вставьте скрипт так, чтобы при отправке формы выполнялся вызов reachGoal:

<script>
window.addEventListener("load", function() {
  document.getElementById('ID_ФОРМЫ').addEventListener('submit', function() {
    ym(НОМЕР_СЧЕТЧИКА, 'reachGoal', 'ID_ЦЕЛИ');
  });
});
</script>

Подход с привязкой к submit и вызовом ym(...) описан в инструкции:
- JustClick: https://help.justclick.ru/archives/9493
- reachGoal у Яндекса: https://yandex.ru/support/metrica/objects/reachgoal.html

Что подставлять

  • ID_ФОРМЫ - это id тега form на вашей странице
  • НОМЕР_СЧЕТЧИКА - номер счетчика метрика
  • ID_ЦЕЛИ - идентификатор цели, который вы задали в настройках цели

Если id формы есть не у form, а у другого элемента - сначала разберитесь, как сделана разметка. Метрика ориентируется на корректную связку.

Если нужно отслеживать “успешную отправку” через страницу благодарности

Иногда после отправки формы сайт показывает отдельную страницу (например, “спасибо”).
В таком случае может работать цель типа Посещение страниц:
- укажите условие url: содержит thankyou или часть адреса, которая появляется после отправки.

Пример механики “виртуальной страницы” типа submitted встречается в инструкциях по платформам:
- Tilda: https://tilda.cc/ru/answers/a/one-goal/

На практике этот способ проще, чем правки кода, но он подходит только если после отправки действительно меняется страница.

Проверьте, что цель срабатывает

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

Проверка для Яндекс Метрика

Один из стандартных способов:
1. Откройте сайт с добавленным параметром _ym_debug=2
2. В консоли браузера сделайте тестовую заявку
3. Убедитесь, что в консоли есть строка про reach goal с нужным идентификатором
4. Подождите поступления данных и проверьте цель в отчетах

Такой порядок описан в инструкции:
- yakushonok.by: https://yakushonok.by/kak-nastroit-cel-otpravka-formy-v-metrike-i-analytics/

Также прием с _ym_debug=1 и просмотром консоли встречается в руководствах по целям в метрика:
- eLama: https://elama.ru/blog/nastroyka-celey-v-yandeks-metrike/

Типичные ошибки при настройке цели отправки формы

Проблема Почему так бывает Что сделать
Цель не растет в отчетах Счетчик не на всех страницах или не отправляет данные Проверьте счетчик через _ym_debug и консоль, убедитесь, что код метрика подключен
Цель срабатывает дважды Отправка и валидация устроены так, что событие отправляется повторно Протестируйте отправку, проверьте порядок действий на форме
“Отправка формы” не работает вообще На сайте нет тега form или submit реализован не через button type="submit" Перейдите на “JavaScript-событие” или приведите разметку к требованиям
reachGoal не засчитывается Неправильный ID_ФОРМЫ, неверный номер счетчика или идентификатор цели Сверьте id у form и ID_ЦЕЛИ, проверьте код на странице
Не совпадают данные с рекламными отчетами В рекламных отчетах другая логика учета конверсий и атрибуции Сравнивайте корректно и смотрите нужные отчеты метрика

Как выбрать подходящий способ

Ситуация на сайте Рекомендуемый вариант
Формы стандартные, есть form и button type="submit" “Отправка формы”
Формы нестандартные, есть AJAX или сложная логика “JavaScript-событие” с reachGoal
После отправки всегда открывается страница благодарности “Посещение страниц” по URL после отправки

Короткий итог

Чтобы настроить цель в Яндекс Метрике на отправку формы:
1. Проверьте работу счетчика _ym_debug и консоль.
2. Выберите подход типа цели:
- “Отправка формы” для стандартных форм на form
- “JavaScript-событие” (reachGoal) для универсального контроля
3. Добавьте нужный код или настройте условия.
4. Сделайте тестовую отправку и убедитесь, что цель появилась в отчетах.

Источник по reachGoal и настройкам целей:
- https://yandex.ru/support/metrica/objects/reachgoal.html
- https://yandex.ru/support/metrica/general/goal-js-event.html