ботвинов
прод +
Обсудить проект

Нажал дважды — заявок две: как я проверяю форму сайта, прежде чем пускать рекламу

До рекламы сам прохожу форму: пустое поле, второе нажатие, компьютер и телефон. Смотрю, куда дошло сообщение и появилась ли цель в Метрике.

Палец нажимает кнопку формы на телефоне, рядом две одинаковые заявки, на стене жёлтый плакат «Нажал дважды — заявок две»

нажал дважды — в отчёте две заявки) форма при этом могла ничего не отправить

До рекламы прохожу форму сам: с компьютера и с телефона, с пустым обязательным полем и со вторым нажатием. В цель «заявка» пускаю только то, что правда сохранилось.

Нажатие кнопки, отправка запроса и сохранение обращения — три разных этапа, и проверяю я каждый. Счётчик на кнопке фиксирует нажатие, обращение может не сохраниться. Бывает наоборот: менеджер уже читает обращение, цель молчит.

Заранее решаю, где должна появиться заявка

С заказчиком сначала называю, что считаем обращением: строка на сайте, карточка в CRM или письмо менеджеру. Пока место не названо, отчёт с входящими не сравниваю.

Событие отправки в браузере ещё не запись: скрипт умеет его отменить. Ответ «запрос обработали» не равен «обращение сохранили». Поля уже без ошибок — запрос мог не доехать. Строка в базе есть — менеджер мог её не увидеть.

Если заявкой здесь считают только карточку CRM, жду именно её, а не промежуточный ответ сервера. Годится ли само обращение и будет ли сделка, счётчик не говорит.

Кривой ввод в «приняли» не попадает

Обязательное поле оставляю пустым. Форма отказывает — цель принятого обращения молчит. Потом ввожу то, что форма должна отклонить: почту без @, телефон из букв, если для него настроена проверка. Форма отказала — цели тоже быть не должно. Именно здесь в отчёт часто попадает попытка, а не заявка.

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

Клик по кнопке отдельной целью оставляю, только когда нужен сам интерес к действию. В названии пишу «клик». Принятые обращения идут своим событием, ошибка в поле заявкой не становится.

Отказ сервера проверяю на тестовой версии вместе с разработчиком формы: на экране ошибка, в аналитику успех не уходит. Если такой проверки не было, говорю об этом до запуска рекламы.

Плашка «Спасибо» три проверки не закрывает

Беру данные, которые форма обязана принять. В текст кладу пометку, чтобы узнать тестовое. Записываю время и какую форму открыл.

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

Страница благодарности годится как сигнал, только если показ привязан к тому же подтверждению, что и событие. Прямой заход и обновление вкладки лишний успех рисовать не должны. Смотрю, каким путём на неё попали и что будет при втором открытии адреса. Это закладываю в разработку сайта до приёмки.

Повтор одной отправки отделяю от новой заявки

Если цель срабатывает на каждый клик, второе нажатие может дать вторую строку в отчёте. Сколько их выйдет на самом деле, решает то, как сайт обрабатывает нажатие.

Пока запрос в пути, повтор на экране блокирую. На сервере повтор того же запроса узнаю и вторую запись не пишу. И проверяю, что одно сохранение отправляет событие в аналитику один раз.

Дальше жму снова, ухожу назад и обновляю благодарность. Новое обращение держу отдельно от сигнала об уже принятом.

После обрыва связи человек или код формы может отправить запрос повторно, хотя первое обращение уже сохранилось. Убрать дубли из отчёта — не убрать вторые записи у менеджера.

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

Каждую форму проверяю и с телефона

Успешный тест одной формы на компьютере остальные не проверяет. Ищу каждый вход: блок на странице, всплывающее окно, пункт меню на телефоне. С виду одно и то же, обработка внутри может разойтись.

На смартфоне прохожу заново: пустое поле, верные данные, два нажатия. Клик по номеру телефона и переход в мессенджер считаю отдельными целями, а не заявкой с формы.

График Метрики форму не оправдывает

Беру счётчик той страницы, где стоит форма. Кабинет умеет проверить, что код на месте. Отладчик показывает события, которые ушли. Наличие кода ещё не доказывает, что цель работает.

Отчёт открываю так же, как шёл тест: нужная цель, тот же период, тот же часовой пояс, те же фильтры. Событие в отладчике есть, а в отчёте пусто — смотрю условия показа и как обработались данные. Пустой отчёт после этой сверки ещё не приговор форме.

Запись есть, события нет. Смотрю, выполнилась ли ветка успеха, тот ли счётчик, совпало ли событие с условием. Браузер мог заглушить код. Пустая цель при живом обращении бывает и от этого.

Цель зажглась, принятой записи нет. Первая догадка — событие поставили раньше, чем сохранение подтвердилось. Смотрю нажатие, старт запроса и откуда берётся «Спасибо». Кривой ввод тоже даёт цель — такой сбой повторяю руками.

Старая проверка к новой версии не подходит

Повторяю проверку, если менялись поля, обработка на сервере, связка с CRM или сами страницы. Она относится к одному сценарию и к одной версии. Рядом пишу дату и что форма должна была сделать. Следующую поломку сверяю с этой заметкой.

больше разборов в канале t.me/botvinovprod напишите мне в тг @botvinov

Обсудить похожую задачу

Теперь —
ваш проект.

Расскажите, что хотите сделать.
Я помогу превратить задачу в понятный результат.

Обсудить на Workzilla

Переписка, согласование и работа —
в одном заказе на площадке.