Войдите в рабочий аккаунт и выберите нужный проект. Затем выполняйте шаги ниже.
Метрика различает принятую заявку и клики контактов; стратегия Директа получает выбранный бизнес-результат без дублирования.
Что подготовить перед началом
- Установите один рабочий счётчик Метрики; получите доступ к редактированию целей и обработчикам формы.
- Подготовьте телефонную ссылку tel:, ссылку WhatsApp и подтверждённый ответ API заявки.
- Опишите три разных результата: заявка принята, номер нажат, WhatsApp открыт. Подтверждённый звонок и продажу учитывайте отдельными источниками.
Учебная схема процесса; не скриншот рекламного кабинета.

01Составьте таблицу действий
Для каждой цели запишите точное действие, условие успеха и техническое имя. Название «Заявка» нельзя давать событию клика WhatsApp: пользователь может закрыть приложение без сообщения. В таблице укажите, кто отвечает за внедрение и чем подтверждается результат. Объединять разные этапы в одну основную цель следует только после осознанной оценки их ценности.
- Запишите lead_success: сервер создал заявку; tel_click: нажатие ссылки; whatsapp_click: переход к мессенджеру.
- Выберите результат, который будет использовать стратегия кампании.
- Проверьте существующие автоматические цели и удалите из оптимизации дубли того же действия.
Менеджер считает клиентом подтверждённую запись; нажатие контакта остаётся промежуточным действием.
События названы по факту действия, а отчёт не выдаёт все клики за заявки.
02Создайте JavaScript-цель
Выберите тип «JavaScript-событие». Название сделайте читаемым человеку, а идентификатор — коротким и стабильным для кода. Не используйте телефон клиента, название услуги с пробелами или текст кнопки как идентификатор. После сохранения скопируйте точное значение для разработчика и запишите номер рабочего счётчика.
- Укажите название «Заявка принята сервером» и идентификатор lead_success.
- Выберите точное условие соответствия, если оно предусмотрено формой создания.
- Сохраните цель и передайте пару номер счётчика + идентификатор; проверяйте её независимо от названия для интерфейса.
Человек видит «Заявка принята сервером», обработчик вызывает lead_success.
Технический идентификатор в кабинете и строке кода совпадает, включая регистр.
03Вызовите цель после успешного ответа
Встраивайте reachGoal в успешную ветку приложения. Сначала проверьте, что сервер действительно создал заявку; затем отправляйте событие. Учебный номер ниже замените рабочим. Не перенаправляйте пользователя до выполнения всей логики формы; callback Метрики можно использовать для дальнейшего шага, но бизнес-успех должен уже быть подтверждён.
- Добавьте вызов после подтверждённого результата API.
- Передавайте безопасный form_id, без контактных данных или текста обращения.
- Проверьте повторные callback и защиту формы от двойной отправки; дедупликацию внедряйте по устойчивому ID ответа приложения.
Ответ API с ok=false не вызывает цель даже при HTTP 200.
function trackAcceptedLead(result) {
if (!result.ok) return;
ym(12345678, 'reachGoal', 'lead_success', {
form_id: 'consultation'
});
}
// Вызывать один раз после создания заявки на сервере.Замените демонстрационные идентификаторы на значения своего проекта.Ошибочная отправка даёт ноль вызовов; успешная — один.
04При GTM используйте сигнал приложения
Если форма уже передаёт подтверждённый lead_success через dataLayer, создайте один тег цели по этому событию. Он не должен дополнительно срабатывать на click или стандартный form_submit. Код счётчика должен быть загружен в согласованном порядке; тестируйте, что функция ym доступна и вызов не теряется при быстрых действиях.
- Создайте триггер точного события lead_success.
- Добавьте тег, который вызывает reachGoal с рабочим номером и идентификатором.
- В Preview проверьте единственное срабатывание; удалите прежний обработчик reachGoal из приложения, если переносите отправку в GTM.
dataLayer-сигнал остаётся в приложении, а GA4 и Метрика получают его через два отдельных тега.
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'lead_success',
form_id: 'consultation'
});Замените демонстрационные идентификаторы на значения своего проекта.Одно техническое действие не отправляется одновременно прямым кодом и тегом GTM.
05Измерьте телефон как отдельный контакт
Для встроенной цели сайт должен использовать настоящую ссылку tel:. Обычный текст номера и кнопка, которая копирует номер, имеют другое поведение. В настройке выберите все номера либо конкретный рабочий номер по задаче. Не создавайте для того же клика одновременно встроенную цель и дополнительный reachGoal в одной группе основных действий.
- Проверьте href телефонной ссылки в DOM.
- Создайте цель клика по номеру и задайте нужный охват.
- Проверьте на телефоне открытие приложения звонка; для состоявшегося звонка используйте данные коллтрекинга.
tel:+77001234567 открывает набор; это ещё не ответ оператора и не успешный разговор.
<a href="tel:+77001234567">Позвонить</a>Замените демонстрационные идентификаторы на значения своего проекта.Отчёт явно называется «Клик телефона»; факт состоявшегося звонка хранится отдельно.
06Разметьте WhatsApp без ложной заявки
Используйте рабочий адрес WhatsApp и проверьте международный формат номера. Нажатие измерьте отдельной целью. Обработчик устанавливайте один раз на стабильный элемент; если интерфейс пересоздаёт ссылку, следите за повторной регистрацией слушателя. Не передавайте заранее заполненное сообщение пользователя в параметры аналитики.
- Создайте whatsapp_click и подпишите цель «Клик WhatsApp».
- Добавьте один обработчик ссылки либо согласованный GTM-триггер по URL.
- Проверьте адрес, открытие мессенджера и число событий; подтверждённое обращение фиксируйте через CRM.
Посетитель нажал ссылку, но не отправил сообщение: цель контакта есть, заявки в CRM нет.
document.querySelector('[data-contact="whatsapp"]')
?.addEventListener('click', function () {
ym(12345678, 'reachGoal', 'whatsapp_click');
});Замените демонстрационные идентификаторы на значения своего проекта.Отчёт контактов и отчёт принятых заявок разделены.
07Проверьте все сценарии
Проверяйте каждую цель действием пользователя. Для старого счётчика ищите Reach goal и номер в консоли; актуальный код поддерживает отладчик с режимом 2. Отправьте успешную и ошибочную форму, нажмите каждый контакт, затем проверьте повторное нажатие, обновление и возврат назад. Ручной вызов ym в консоли проверяет доставку, но не доказывает правильный триггер.
- Запишите время теста и ID ожидаемой цели.
- Сопоставьте один lead_success с одной записью CRM.
- Для страницы успеха проверьте прямое открытие: оно не должно повторно считать лид без подтверждённой новой заявки.
После обновления /thanks количество подтверждённых заявок не увеличивается.
Получен протокол для положительных и отрицательных сценариев, а не только зелёный статус счётчика.
08Выберите цель стратегии
Добавьте проверенную основную цель и задайте экономически обоснованную ценность или ограничение стратегии. Если несколько целей описывают разные этапы одного обращения, не складывайте их как независимых клиентов. После запуска сравнивайте конверсии с менеджером: правильная техническая отправка не гарантирует качество обращения.
- Выберите lead_success либо подтверждённый звонок, если это основной результат.
- Для промежуточных действий задавайте отдельную роль и оценивайте их переход в заявку.
- Сверяйте период, модель атрибуции и часовой пояс Метрики, Директа и CRM при расхождениях.
Пять WhatsApp-кликов дали два диалога и одну запись; отчёт показывает три разных этапа.
Стратегия оптимизируется на выбранный результат, а дубли контактов не увеличивают число клиентов.
Пример для бизнеса
Учебный вызов: ym(12345678, 'reachGoal', 'lead_success'); Номер 12345678 нужно заменить на реальный номер своего счётчика.
Частые ошибки
- Клик WhatsApp называют полученной заявкой.
- lead_success срабатывает до ответа сервера.
- Одинаковые цели дублируют одно действие.
Вопросы по настройке
Можно ли считать посещение /thanks заявкой?
Только если страница доступна исключительно после подтверждённого успеха и повторные открытия исключены. Для AJAX-формы надёжнее отправлять JavaScript-событие из успешного ответа.
Почему цифры Метрики и CRM отличаются?
Проверьте тестовые заявки, блокировки, повторные события, обработку лидов, часовой пояс и атрибуцию. Сначала сравните отдельную тестовую запись, затем весь период.
Официальные источники
- Создание счётчика · Яндекс ↗
- JavaScript-цель · Яндекс ↗
- Проверка цели · Яндекс ↗
- Метод reachGoal · Яндекс ↗
- Целевые действия стратегии · Яндекс ↗
Материал написан своими словами по указанным справкам. Примеры и рекомендации so-agency адаптированы к задачам бизнеса; доступность функций и интерфейс могут отличаться.
Нужна помощь с настройкой?
Опишите сайт, платформу и проблему. Обсудим конкретный состав работ.
Следующий шаг
Как установить Google Analytics 4 на сайт
GA4 собирает действия посетителей сайта. Чтобы отчёты помогали бизнесу, сначала подключите сбор, а затем отдельно настройте действия, которые означают обращение или покупку.
Читать инструкцию ↗Аналитика / UTMЧто такое GTM и как установить Google Tag Manager
GTM — кабинет для управления тегами сайта. Сам по себе контейнер не заменяет GA4 или Метрику: в нём вы настраиваете нужные теги, условия запуска и данные.
Читать инструкцию ↗Аналитика / UTMСобытия GA4 через GTM и dataLayer: пример заявки
dataLayer передаёт понятные события страницы в GTM. Для заявки важно отправить событие после успешного принятия данных, чтобы ошибка формы не увеличивала число лидов.
Читать инструкцию ↗