WWCODING
Открытое досье с фотографиями и печатью
Маскот WWCODING: смотрит через лупу

Разбор · Своими руками

Форма обратной связи на сайте:
как настроить отправку заявок в Telegram и на почту.

Заявка отправлена, экран показал благодарность, а в Telegram и на почте пусто. Форма умеет терять обращения незаметно: человек видит успех, вы не видите клиента. Разбираем, как за двадцать минут проверить приём заявок, посчитать потери в рублях и настроить отправку своими руками.

Своими руками

6 октября 2026 · 10 мин

Форма обратной связи держится на четырёх частях: разметка полей, обработчик на PHP, канал доставки и подтверждение для человека. Отказ любой из них выглядит одинаково — тишиной. Ниже проверка приёма заявок своими руками, арифметика потерь в рублях и порядок настройки отправки в Telegram и на почту без капчи.

Сцена: заявка отправлена, а клиента никто не ждёт

Химчистка включила Директ на 60 000 ₽ в месяц. Метрика показывает 84 отправленные формы, в ящике и в чате Telegram — 11 сообщений. Остальные 73 человека увидели на экране «Спасибо, мы свяжемся» и ушли ждать звонка, а менеджер считал, что реклама не работает.

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

Что стоит проверить до обращения к студии

Начинайте не с кода, а с пути клиента: возьмите телефон, выключите Wi-Fi и заполните форму как новый посетитель.

  • Отправьте заявку и дождитесь её в двух каналах: в чате Telegram и на рабочей почте. Пришло только в один — половина проблемы найдена.
  • Откройте вкладку «Сеть» и посмотрите ответ обработчика. Код 200 — скрипт ответил, 500 — упал, пустой ответ — форма не дождалась сервера.
  • Заполните поля заведомо кривыми данными: пустой телефон, буквы вместо цифр. Понятная подсказка — валидация работает, молчаливая отправка — её нет.
  • Проверьте журнал писем на хостинге: запись «отправлено» без отметки о доставке значит, что сервер не отдал письмо адресату.

Четыре узла, в которых пропадают заявки

Причины сбоя живут там же, где проходит заявка.

  • Адрес доставки. Вебхук собран с токеном тестового бота или старым chat_id, и сообщение уходит в чужой чат. Письма без SPF и DKIM оседают в спаме.
  • Разметка и запрос. Кнопка без type submit, поле за пределами тега form, пустой атрибут name — обработчик получает пустое тело и отвечает успехом.
  • Домен обработчика. Адрес без www или http вместо https браузер блокирует как смешанный контент, а в отчёте это выглядит как ноль отправок.
  • Почтовый сервер. Хостинг держит лимит 200–500 писем в час: всплеск рекламы упирается в потолок, и часть заявок отбрасывается.

Потери в цифрах и рублях

Считаем на том же примере. Бюджет 60 000 ₽ при цене клика 40 ₽ даёт 1 500 визитов. Из 84 отправок до CRM доходит 11: 84 − 11 = 73 потерянных обращения в месяц.

Выручка с одной заявки при среднем чеке 9 000 ₽ и конверсии в сделку 20 процентов — это 20% от 9 000 = 1 800 ₽. Умножаем на потерянные обращения: 73 × 1 800 = 131 400 ₽ в месяц, то есть 788 400 ₽ за полгода.

Формула для своих чисел: потерянные обращения × выручка с заявки.

Что дальше без изменений

Первый месяц сбой прячется за статистикой: 84 отправки в отчёте выглядят как живой поток обращений.

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

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

Порядок настройки на один вечер

Работы идут по порядку: сначала канал доставки, потом форма, затем защита. Всё делается правкой HTML и одного файла PHP.

  1. 01Получите токен бота у BotFather, отправьте боту /start и заберите chat_id через getUpdates — без него Telegram не примет сообщение.
  2. 02Соберите обработчик send.php: проверка метода, чтение полей, очистка значений и две отправки — через sendMessage в Telegram и письмом на почту.
  3. 03Свяжите форму с обработчиком: перехватите submit, отправьте данные запросом и разблокируйте кнопку после ответа сервера.
  4. 04Сделайте результат честным: при успехе — экран благодарности со ссылкой на мессенджер, при ошибке — телефон, чтобы клиент не остался без связи.
  5. 05Оставьте пять полей: имя, телефон, город, комментарий и согласие на обработку данных.
  6. 06Закройте защиту без капчи: поле-приманка, минимальное время заполнения две секунды и лимит пять отправок с одного адреса в час.

Где заканчивается зона контроля

Шесть шагов закрывают типовой сбой. Дальше начинаются задачи, которые растягивают вечер на неделю.

  • Доставляемость. Скрипт на mail() пишет письмо от имени хостинга: без обратной зоны, DKIM и DMARC часть ящиков молча отбрасывает почту.
  • Аналитика. Пока заявки падают в один чат, непонятно, какая кампания их принесла. Для utm и сквозной аналитики нужна схема с CRM.
  • Стабильность. После обновления темы обработчик может исчезнуть вместе с папкой, а без журнала ошибок это выяснится по потерянным заявкам.
  • Ответственность. Разовый ремонт не гарантирует, что сбой не вернётся после следующей правки, а проверить его бывает некому.

Что входит в работы и сколько это стоит

Работа начинается с разбора: аудит приёма заявок стоит 0 ₽, ведёт его Максим Холмов. На выходе — список дефектов и план правок на 2–3 рабочих дня.

  • Настройка отправки в Telegram и на почту, валидация полей и защита от ботов входят в работы по сайту: одностраничник — от 10 000 ₽, сайт из разделов — от 30 000 ₽, каталог с оплатой — от 80 000 ₽.
  • Если заявки нужно вести дальше формы, подключаются системы: кастомная CRM — от 150 000 ₽, бот в Telegram — от 100 000 ₽, приложение — от 150 000 ₽.
  • Поддержка — 3 месяца бесплатно, далее от 5 000 ₽ в месяц. Исходный код и документация оформляются на заказчика.

Вывод: сначала тестовая заявка, потом бюджет

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

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

Коротко

11 из 84

Заявки, которые дошли до CRM при сломанном вебхуке

131 400 ₽

Потери на 73 обращениях в месяц

0 ₽

Разбор приёма заявок со стороны студии

2–3 рабочих дня

Срок правок по итогам аудита

Частые вопросы

Почему заявка с сайта не приходит в Telegram, хотя человек видит благодарность?

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

Нужна ли капча на форме обратной связи?

Для обычной формы достаточно трёх мер без капчи: скрытое поле-приманка, минимальное время заполнения и лимит отправок с одного адреса за час. Капча добавляет лишний шаг и снижает число отправок на 5–10 процентов, поэтому её ставят только там, где спам идёт потоком и предыдущие меры не помогают.

Письма с сайта попадают в спам. Что проверить в первую очередь?

Сначала домен отправителя: письма через mail() уходят от имени хостинга и часто не проходят проверки. Настройте SPF и DKIM для своего домена, добавьте DMARC и отправляйте через SMTP с авторизацией. Заодно проверьте лимит писем в час — при всплеске рекламы он обрезает часть заявок.

Маскот WWCODING: протягивает ключ

Следующий шаг

Есть дело?
Присаживайтесь.

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