Хорошая форма собирает сведения, достаточные для первого контакта, объясняет ошибки и подтверждает реальное получение заявки. Её нужно проверять вместе с сервером и уведомлениями. Красивое сообщение об успехе ещё не доказывает, что менеджер получил обращение.
Определите, что нужно для следующего шага
Для обсуждения проекта обычно достаточно имени, способа связи и краткого описания задачи. Для расчёта доставки могут понадобиться населённый пункт и параметры заказа. Список полей определяется действием после отправки: каждый обязательный вопрос должен иметь рабочую причину.
Отложите сведения, которые можно уточнить в разговоре. Например, бюджет можно сделать необязательным, если команда сначала разбирает состав работ. Если без конкретного параметра расчёт невозможен, объясните это рядом с полем.
Используйте видимые подписи
Подпись должна оставаться видимой после ввода. Подсказка внутри пустого поля исчезает и не помогает человеку вспомнить, какое значение требуется. Для телефона, email и имени предусмотрите подходящее автозаполнение и клавиатуру на смартфоне.
Если клиент выбирает Telegram, не применяйте к его контакту проверку телефонного номера. Если выбирает звонок, объясните допустимый формат номера. Примеры должны соответствовать выбранному каналу. Связанные требования описаны в руководстве W3C по доступным формам.
Покажите ошибку там, где её исправляют
Проверку удобно разделить на два уровня:
- Ошибка поля: отсутствует обязательное значение или неверный формат.
- Ошибка отправки: сервер недоступен, соединение прервалось или запрос отклонён.
При ошибке поля укажите, что исправить. При сбое отправки сохраните введённые данные и предложите повторить попытку. Полное очищение формы после сетевого сбоя заставляет пользователя заново проделывать работу.
Доступные сообщения должны читаться вспомогательными технологиями. Не сообщайте об ошибке только изменением цвета рамки: человеку нужен текст.
Подтверждайте успех после ответа сервера
Кнопка может временно переходить в состояние отправки, чтобы избежать случайных повторов. Сообщение «Заявка получена» появляется после успешного ответа сервера, когда обращение сохранено. Цель аналитики также должна соответствовать фактическому событию, которое вы хотите считать.
Разделяйте заявку и уведомление. Если обращение записано в систему, но уведомление задержалось, его можно обработать позже. Если заявка существует только в сообщении Telegram, сбой доставки оставляет команду без источника восстановления.
Проведите проверку цепочки
Используйте тестовое обращение и проследите путь:
- Данные прошли проверку в браузере.
- Сервер принял и сохранил заявку.
- У обращения есть идентификатор и время.
- Ответственный сотрудник получил уведомление.
- Источник обращения виден, если его собирает сайт.
- Ошибка сети не уничтожает заполненные поля.
Дополнительно попробуйте двойной клик, медленную сеть и некорректный контакт. Не отправляйте десятки тестовых заявок в рабочий канал: заранее обозначьте тест и отделите его от реальных обращений.
Правовые сведения о данных и согласиях согласуйте для своей ситуации; готовая форма не заменяет такую проверку. При разработке лендинга включите в приёмку весь путь заявки, а не только вид формы.
