Спам-заявки с сайта останавливают слоями: сначала пять невидимых для человека проверок — скрытое поле, время заполнения, проверка браузера, лимит отправок и фильтр на сервере, — и только сомнительным посетителям показывают капчу.
Чтобы не потерять живые заявки, отсеянное не удаляют, а складывают в карантин и каждый рабочий день просматривают. Так защита от спама срезает мусор, а вы видите, сколько клиентов она задела.
Статья — для владельца или маркетолога сайта с формами заявок: откуда берётся спам, какие способы защиты что ловят, сколько это стоит, что поручить разработчику и как проверить, что живые обращения доходят.
Коротко.
- Простой бот выдаёт себя сам: заполняет скрытое поле, отправляет форму за доли секунды, шлёт десятки заявок подряд. Проверки на эти признаки человек не замечает, поэтому с них и начинают.
- Капча нужна, когда невидимые проверки не справились, и лучше только сомнительным посетителям. Её ответ проверяют на сервере: токен reCAPTCHA живёт две минуты и проверяется один раз.
- Настоящий номер в заявке — ещё не доказательство живого клиента. Бомберы вносят номер жертвы в формы на чужих сайтах, и звонок с продажей такому человеку только злит его.
- Цель Метрики ставят на заявку, которую принял сервер, а не на нажатие кнопки. Иначе спам попадает в отчёты, а стратегия Директа, работающая на эту цель, усиливает объявления, которые приводят ботов.
- Отсеянное складывают в карантин. Пример: из 300 отправок защита отсеяла 240, в карантине нашлись 3 живые заявки — без просмотра потерялось бы около 4,8% живых.
Откуда берутся спам-заявки и чем они вредят
Спам-заявки шлют программы, которые обходят сайты и заполняют каждую найденную форму, реже — люди вручную. Чаще всего цель — не вы лично: форма просто оказалась в списке, как и тысячи других.
Поток растёт после запуска рекламы и с ростом сайта в поиске: форм видно больше, ботов приходит больше. Новый сайт может получать мусор уже в первые недели — для спамера возраст сайта не важен.
| Тип спама | Как выглядит | Зачем шлют |
|---|---|---|
| Боты-рассыльщики | Реклама займов и «продвижения за три дня», ссылки, латиница в поле «Имя» | Бесплатная реклама и ссылки, расчёт, что кто-то кликнет |
| Проверочные отправки | Пустые поля, набор символов, одна и та же строка пачкой | Проверить, что форма принимает данные, перед массовой рассылкой |
| Бомберы | Настоящий номер и случайное имя, иногда несколько заявок подряд | Досадить владельцу номера звонками — ваш сайт тут ни при чём |
| Ручной спам | Осмысленный текст с предложением услуг, заполнен человеком | Продать вам свои услуги; ловушки для ботов человека не ловят |
| Боты из рекламы | Всплеск заявок по рекламному трафику, менеджер ни до кого не дозванивается | Скрутить рекламный бюджет или замаскировать скликивание под заявки |
Вред от спама больше, чем раздражение. Живая заявка тонет среди мусора, и менеджер, привыкший, что «в форме одни боты», перестаёт отвечать быстро.
Отчёты показывают заявки, которых не было, и решение о рекламе принимают по ложным цифрам.
Есть и риски для сайта: через форму пробуют подсунуть вредные ссылки, а форма с автоответом может начать рассылать спам от вашего имени — об этом отдельный раздел ниже.
Как отличить спам-заявку от живой
Спам-заявку выдают признаки, а не одно странное поле. Если совпадают два-три признака из списка, заявку отправляют в карантин; если один — лучше проверить звонком или письмом.
- Форма отправлена через секунду-две после загрузки страницы, без прокрутки и других действий.
- В поле «Имя» ссылка, латиница вперемешку с кириллицей или рекламный текст.
- Одинаковый текст пачкой, несколько заявок с одного адреса или на один номер за минуты.
- Номер с лишними цифрами, почта на одноразовом домене, пустые обязательные по смыслу поля.
- Заявки приходят ночью волной, а по этим визитам в Метрике нет просмотров других страниц.
Ошибка в номере или телефон в поле для почты — ещё не спам. Живые люди тоже ошибаются, особенно с телефона, поэтому такую заявку лучше разобрать вручную, а не выбрасывать.
Почему в спаме настоящие номера: заявки от бомберов
Заявка с настоящим номером и случайным именем может прийти от бомбера — программы, которая вносит чужой номер в формы на сайтах и в сервисах, чтобы владельцу массово шли звонки и сообщения.
Человек, которому звонит менеджер, ничего не оставлял.
Такие программы ищут открыто: на 24.10.2026 по России в Вордстате «спам бот на номер» — 626 запросов в месяц, «бот для спам звонков» — 149.
Описания бомберов называют формы регистрации и восстановления пароля. Форма обратного звонка, по оценке редакции, подходит им так же: номер в неё и просят ввести.

Распознать такую заявку помогает повтор: тот же номер приходит несколько раз за день, в разных формах или с разными именами. Владелец номера на звонок отвечает с раздражением или не понимает, о чём речь.
Что делать менеджеру — рекомендация редакции:
- Позвонить один раз и коротко уточнить: «На сайте оставили заявку с вашим номером, это были вы?» — без продажи с первых слов.
- Если человек заявку не оставлял, извиниться, отметить в CRM «спам: чужой номер» и больше не звонить.
- Не добавлять такой номер в базу для рассылок и рекламных звонков.
- Попросить разработчика включить лимит заявок на один номер — подробнее в разделе о защите без капчи ниже.
Третий пункт — не только вежливость. По статье 18 закона «О рекламе» реклама по телефону допускается только с предварительного согласия абонента, и доказать согласие должен тот, кто её распространяет.
Галочка в форме обычно означает согласие на обработку данных, а не на рекламу, и ставил её бомбер, а не владелец номера. Предложения услуг на такой номер — прямой путь к жалобе.
Подтверждение номера: когда оправдано
Самая жёсткая защита от бомберов и выдуманных номеров — подтвердить номер: код в СМС, звонок-сброс или звонок посетителя на специальный номер. Заявку с неподтверждённым номером сайт не принимает.
Цена у способа есть. Каждое СМС платное, лишний шаг отпугивает часть живых клиентов, а саму отправку кода тоже атакуют — тогда вы оплачиваете СМС чужим людям. Поэтому отправку кода закрывают лимитом на номер и адрес.
Подтверждение оправдано на формах, где заявка дорогая для бизнеса: запись, выезд специалиста, расчёт. Для обычного «перезвоните мне» обычно хватает лимита и уточняющего звонка — это рекомендация редакции.
Защита без капчи: что работает незаметно для человека
Без капчи форму защищают пятью проверками, которые человек не видит: скрытое поле, время заполнения, проверка браузера, лимит отправок и фильтр содержимого на сервере. Каждая ловит свой тип спама, поэтому их ставят вместе.
Любую проверку делают на сервере, а не только в браузере: бот может отправить данные прямо в обработчик формы, минуя страницу. Проверка только в коде страницы для него не существует.

Скрытое поле-ловушка
В форму добавляют лишнее поле, которое человек не видит, а бот заполняет вместе с остальными. Приём называют honeypot — «горшочек с мёдом».
Заполненное скрытое поле — сильный признак бота, но не доказательство: его может заполнить браузер или программа чтения экрана. Поэтому такую заявку не удаляют, а отправляют в карантин с пометкой «ловушка».
Поле прячут стилями — например, сдвигают за край экрана, — а не помечают в коде как скрытое: помеченные поля умные боты узнают и пропускают.
Имя ему дают обычное, вроде «сайт компании», и отключают автозаполнение — иначе браузер заполнит его за живого посетителя.
Для незрячих посетителей поле убирают из озвучки и из перехода по клавише Tab. Без этого программа чтения экрана предложит его заполнить, и живой человек попадёт в ловушку.
Проверка времени заполнения
Сервер запоминает, когда форма открылась, и сравнивает с моментом отправки. Человеку нужно хотя бы несколько секунд, бот отправляет форму почти сразу после загрузки.
Порог ставят низким, ориентир редакции — около 3 секунд: браузерное автозаполнение позволяет живому посетителю отправить короткую форму очень быстро. Метку времени подписывают на сервере, чтобы бот не подменил её.
Проверка, что форму отправил браузер
Простые боты не исполняют JavaScript. Если скрипт на странице дописывает в форму служебную метку, а сервер проверяет её, отправки без браузера отсекаются.
CSRF-токен формы — другая защита, и от ботов он сам по себе не спасает. Он мешает чужому сайту отправить форму от имени пользователя через его же браузер.
Токен выдают на сессию или на каждый запрос и обычно кладут в скрытое поле формы, поэтому бот получает его вместе со страницей обычным запросом, без JavaScript.
Похожим образом работают метка в cookie, которую браузер получает при открытии страницы, и простая галочка, которую человек ставит, а бот обычно пропускает или ставит не так.
Продвинутые боты работают через настоящий браузер и эту проверку проходят. Поэтому она хороша только в связке с остальными.
Лимит отправок с одного адреса и на один номер
Сервер считает, сколько заявок пришло с одного IP-адреса и на один номер за период, а заявки сверх лимита отправляет в карантин. Пример порога: не больше трёх заявок с адреса за 10 минут, а точное число подбирают под свой сайт.
Лимит гасит потоки и бомберов, но им легко задеть живых: в офисе десятки сотрудников выходят в интернет с одного адреса. Поэтому сверх лимита человеку показывают понятное сообщение и телефон, а не молча теряют заявку.
Сюда же относят блокировку по user-agent — строке, которой браузер представляется сайту. Запросы без неё или с подписью известных спам-программ отклоняют или отправляют в карантин, но продвинутые боты её подделывают.
Блокировку целых стран и дата-центров включают осторожно. Часть живых посетителей заходит через VPN, и для сайта их адрес выглядит как зарубежный сервер.
Фильтр содержимого на сервере
Сервер проверяет, что в полях то, что должно быть: телефон похож на телефон, в имени нет ссылок, сообщение не состоит из одной рекламы. Сюда же — маски ввода, стоп-слова и запрет одноразовых почтовых доменов.
Против ручного спама это главный инструмент: человек-спамер обходит ловушки, но пишет узнаваемые тексты. Список стоп-слов собирают из реальных спам-заявок, а не берут чужой целиком.
| Способ | Что ловит и от чего не спасает | Чем рискует для живых |
|---|---|---|
| Скрытое поле | Ботов, которые заполняют всё подряд; не спасает от ручного спама | Автозаполнение браузера и программы чтения экрана, если поле сделано без защиты от них |
| Время заполнения | Мгновенные отправки; не спасает от ботов, которые выжидают | Слишком высокий порог режет тех, кто заполняет форму автозаполнением |
| Проверка браузера | Отправки без браузера; не спасает от ботов в настоящем браузере | Медленный мобильный интернет: скрипт не успел загрузиться |
| Лимит отправок | Потоки и бомберов; не спасает от редких одиночных заявок | Офис с общим адресом, повторная заявка того же клиента |
| Фильтр содержимого | Ссылки, рекламу, ручной спам; не спасает от аккуратного текста без ссылок | Слишком широкие стоп-слова: живой клиент вставил ссылку на товар |
Капча: какую выбрать и когда она нужна
Капчу лучше выбирать невидимую — reCAPTCHA v3 или SmartCaptcha в невидимом режиме — и включать, когда невидимые проверки не справились: обычно это боты, которые работают через настоящий браузер и выжидают.
Ставить её всем посетителям на входе — лишний барьер для клиентов, особенно с телефона.
Основные варианты:
- reCAPTCHA v2 — галочка «Я не робот», иногда с картинками. Понятна посетителю, но это лишнее действие.
- reCAPTCHA v3 — невидима, ставит каждому запросу оценку от 0 до 1: 1 — скорее человек, 0 — скорее бот. Google предлагает порог 0,5 по умолчанию, дальше решает ваш сервер.
- hCaptcha — похожая на v2 проверка от другого сервиса.
- Яндекс SmartCaptcha — сервис Яндекс Облака. В невидимом режиме задание видят только посетители, которых сервис счёл подозрительными.
Если важно, чтобы проверку делал российский сервис, есть SmartCaptcha. Её документация про невидимую капчу требует уведомлять посетителей, что их данные обрабатывает сервис: по умолчанию это делает плашка в углу страницы.
Капча без проверки на сервере не защищает. Виджет на странице выдаёт токен, а сервер обязан проверить его у сервиса: у reCAPTCHA токен действует две минуты и проверяется один раз. Без этого бот отправит форму в обход виджета.
Ещё одна поломка — скрипт капчи не загрузился: блокировщик рекламы, сбой сервиса, слабая связь. Проверьте, что форма в этом случае не молчит, а показывает посетителю сообщение и запасной способ связи.
reCAPTCHA — сервис Google: виджет грузится с его серверов, токен сайт проверяет у Google. Нужно ли под это отдельное оформление по закону о персональных данных, решает юрист, а не разработчик. Юридической оценки мы здесь не даём.
Против людей, которые решают капчи за деньги, капча не помогает: проверку проходит человек. Здесь работают лимит отправок и фильтр содержимого.
Готовые сервисы, плагины и защита в CMS
Если сайт на CMS или конструкторе, защита формы обратной связи часто уже есть в настройках: капча, вопрос для проверки или встроенный антиспам. Первым делом проверьте, включена ли она, — нередко её выключили при запуске и забыли.
Для WordPress есть антиспам-плагины вроде Akismet и CleanTalk, они проверяют отправки по своим базам.
В DLE спам через форму обратной связи обычно гасят встроенной проверкой в настройках; у конструкторов защита включается в свойствах формы.
Сервисы вроде Cloudflare, DDoS-Guard и Qrator фильтруют трафик всего сайта и нужны, когда боты нагружают не одну форму, а сайт целиком. Для обычного спама в форме это избыточно.
Защита сайта от спама: цена вопроса
Невидимые проверки стоят разовой работы разработчика, капча для небольшого сайта часто укладывается в бесплатный объём. Тарифы меняются, поэтому ниже — из чего складывается цена, а не прайс.
| Вариант | Что оплачиваете | Что учесть |
|---|---|---|
| Ловушка, таймер, лимит, фильтр | Разовая работа разработчика | Абонентской платы нет, но фильтр и лимиты придётся донастраивать |
| Яндекс SmartCaptcha | Проверки по тарифу Яндекс Облака | По формуле из документации первые 10 000 проверок в месяц не оплачиваются, следующие — до 100 000 в месяц — по 109,8 ₽ за тысячу; сверх 100 000 ставка другая |
| reCAPTCHA, hCaptcha | Бесплатный объём, сверх него — тариф | У reCAPTCHA бесплатно до 10 000 проверок в месяц на организацию; у hCaptcha — по её тарифам |
| Плагины и антиспам-сервисы | Бесплатный тариф или подписка | Работают по своим базам, отсеянное тоже нужно просматривать |
У SmartCaptcha, по правилам тарификации, оплачиваются только корректные проверки, где сервис признал человека. Яндекс оговаривает, что цены в примерах могут отличаться от действующих.
Пример по этой формуле: 15 000 проверок за месяц — (15 000 − 10 000) / 1 000 × 109,8 ₽ = 549 ₽. Сайт, где форму отправляют пару тысяч раз в месяц, в платный объём не выходит.
Как не потерять живые заявки: карантин вместо корзины
Живые заявки не теряют, если у каждой отправки три исхода, а не два: прошла — в CRM, сомнительная — в карантин, похожая на бота — тоже в карантин, но с отдельной пометкой.
Карантин — папка или статус в CRM, за который отвечает конкретный сотрудник.
- Прошла все проверки. Заявка уходит в CRM и менеджеру, срабатывает цель в Метрике.
- Похоже на бота — заполнена ловушка. Отправителю показывают обычное «Спасибо», чтобы бот не подстраивался, а заявку кладут в карантин с пометкой «ловушка»: в неё может попасть и живой человек.
- Сомнительная — сработал фильтр, лимит или низкая оценка капчи. Заявка уходит в карантин, человеку показывают понятное сообщение и телефон.
Карантин просматривают каждый рабочий день, чтобы живой клиент не ждал ответа неделю, — по нашей оценке, у небольшого сайта это несколько минут. Живую заявку сразу передают менеджеру.
Раз в неделю смотрят итог: какие правила задели живых, — их и ослабляют.
Долю потерь считают так: живые в карантине делят на всех живых за период.
Пример на условных цифрах: за неделю 300 отправок, 60 прошли в CRM, 240 отсеяны, в карантине нашли 3 живые. Без карантина защита потеряла бы 3 из 63 живых — около 4,8%.

Нормы такой доли нет — важна динамика. Если после нового правила доля живых в карантине выросла, правило слишком жёсткое.
Перед запуском и после каждой правки защиту проверяют глазами живого посетителя:
- Отправьте заявку с телефона через мобильный интернет, заполнив поля автозаполнением браузера.
- Отправьте с компьютера через VPN и с включённым блокировщиком рекламы.
- Отправьте вторую заявку с того же номера через несколько минут и посмотрите, что увидит клиент.
- Пройдите форму клавишей Tab: скрытое поле не должно получать фокус.
- Убедитесь, что все тестовые заявки дошли до CRM или лежат в карантине, а не исчезли.
В карантине лежат имена и телефоны, то есть персональные данные.
По статье 5 закона о персональных данных их хранят не дольше, чем требует цель обработки, если срок не установлен законом или договором. Поэтому карантин чистят по сроку: просмотрели — живые вернули, остальное удалили.
Что ломается после внедрения защиты
Защита, которая работала на тесте, может сломаться на живом сайте. Частые случаи, которые стоит проверить сразу после запуска:
- Кэш страницы отдаёт всем одну и ту же метку времени или токен — проверка начинает отклонять всех подряд или не работает вовсе.
- Вкладку с формой открыли утром и отправили вечером: токен истёк. У reCAPTCHA токен действует две минуты, поэтому его запрашивают в момент отправки, а не при загрузке.
- Квизы, виджеты обратного звонка и формы на сторонних сервисах идут мимо защиты сайта — их защищают в их собственных настройках.
- Старый спам остаётся в CRM, а рекламная стратегия переучивается на чистой цели не сразу.
До изменений запишите, сколько заявок приходило в среднем за день за последнюю неделю. Поставьте оповещение, если за рабочий день не пришло ни одной заявки, — это быстрее любого отчёта.
Откат простой, если слои включаются по одному. Резко упало число заявок при том же трафике — выключите последний добавленный слой и разберите карантин за эти дни.
Если заявок нет совсем, дело может быть не в защите, а в самой форме: как проверить путь заявки от кнопки до менеджера, мы разбирали в статье «Нет заявок с сайта: причины и проверка».
Метрика и реклама: чтобы спам не считался заявкой
Чтобы спам не считался заявкой, цель в Метрике должна срабатывать после того, как сервер принял заявку, а не в момент нажатия кнопки. Иначе каждая отправка бота попадает в отчёт как конверсия.
В примере из справки Метрики о цели «JavaScript-событие» вызов цели стоит в обработчике отправки формы. Он срабатывает раньше, чем сервер проверит заявку, поэтому разработчику ставят задачу перенести вызов в ответ «принято».
Вторая деталь — роботы. По умолчанию Метрика показывает статистику с роботами, которых определила по поведению; убрать их можно сегментом «без роботов».
Метрика и Директ определяют роботов разными системами, поэтому цифры могут не совпадать.
Стратегия Директа «Максимум конверсий», по справке, стремится увеличить долю кликов по объявлениям и фразам, которые чаще приводят к целевому действию. Если цель засчитывает спам, «чаще приводят» окажутся те, откуда идут боты.
Чистая цель и отметки спама в CRM нужны и для отчётов, и для рекламы.
Как устроить цели, которые считают заявки, а не клики, — в статье «Цели Яндекс Метрики»; как роботы искажают конверсию — в разборе «Конверсия сайта в заявку».
Автоответ формы: как сайт начинает рассылать спам от вашего имени
Форма с автоответом может рассылать спам от вашего домена. Бот пишет в поле почты чужой адрес, а в поле «Имя» — рекламу; сайт отправляет «Здравствуйте, {имя}, спасибо за заявку» человеку, который ничего не заказывал.
Получатели жмут «Это спам», и почтовые сервисы начинают хуже доверять вашему домену. Последствие видно не сразу: письма компании настоящим клиентам начинают уходить в спам.
Что поменять в форме — рекомендация редакции:
- Убрать из автоответа всё, что ввёл посетитель: только ваш постоянный текст.
- Отправлять автоответ только заявкам, которые прошли защиту, и не чаще одного раза на адрес за сутки.
- Не вносить адрес из формы в рассылку, пока владелец не подтвердил его по ссылке из письма.
- Если вы шлёте письма на Gmail, следить за долей жалоб в Postmaster Tools.
Третий и четвёртый пункты есть в правилах Google для отправителей писем: подтверждать адрес до включения в список и держать долю писем, отмеченных как спам, ниже 0,3%.
Если спам уже идёт потоком: порядок на один день
Когда через форму обратной связи спам идёт потоком, сначала разбирают, какой он, и только потом добавляют защиту — от невидимых проверок к капче. Порядок, который укладывается в рабочий день разработчика:
- Не удаляйте пачку: выгрузите 20–30 спам-заявок и найдите общее — время, страницу, номер, текст.
- Проверьте, включена ли защита в CMS или конструкторе и проверяется ли капча на сервере.
- Добавьте скрытое поле и проверку времени, если их нет.
- Включите лимит отправок с адреса и на один номер.
- Настройте фильтр по признакам из первого шага и заведите карантин.
- Если через пару дней поток не спал, добавьте невидимую капчу для сомнительных отправок.
- Проверьте форму сценариями живого посетителя и перенесите цель Метрики на ответ «принято».
Если сайт ведёт подрядчик, задайте ему четыре вопроса:
- Какая защита стоит на форме и проверяется ли она на сервере, а не только на странице?
- Куда попадают отсеянные заявки — удаляются или сохраняются для просмотра?
- Что видит клиент, если защита по ошибке приняла его за бота?
- Когда срабатывает цель Метрики — по кнопке или после ответа сервера?
FAQ: защита формы от спама
Можно ли защитить форму от спама без капчи?
Да, для многих сайтов хватает скрытого поля, проверки времени и браузера, лимита отправок и фильтра на сервере. Капчу добавляют, если спам проходит и через них, лучше в невидимом режиме и только для сомнительных отправок.
Почему спам приходит даже после установки капчи?
Частые причины — ответ капчи не проверяется на сервере, спамер работает вручную или через сервис решения капч, бот отправляет данные прямо в обработчик. Проверьте серверную часть и добавьте лимит и фильтр содержимого.
Что делать с заявкой, где номер настоящий, а человек ничего не оставлял?
Возможно, номер подставил бомбер или кто-то ошибся цифрой. Извинитесь, отметьте заявку как спам с чужим номером, не звоните повторно и не вносите номер в рассылки. Попросите разработчика ограничить число заявок на один номер.
Как защитить форму обратной связи на WordPress или в конструкторе?
Сначала проверьте настройки самой формы: капча или антиспам часто уже есть и просто выключены. На WordPress можно добавить антиспам-плагин, а скрытое поле и лимит отправок попросить у разработчика.
Сколько живых заявок защита отсекает по ошибке?
Общей нормы нет, у каждого сайта своя доля. Её считают по карантину: живые заявки, найденные там, делят на всех живых за период и смотрят, как доля меняется после каждой правки.
Стоит ли блокировать зарубежные IP-адреса?
Только если спам действительно идёт оттуда и других мер не хватило. Часть ваших клиентов заходит через VPN, и для сайта их адрес выглядит зарубежным; заблокированный посетитель должен хотя бы увидеть телефон.
Проверьте свою форму за 15 минут
Когда защита уже настроена, раз в месяц проверьте, что она не теряет клиентов. Четыре действия на 15 минут:
- Отправьте тестовую заявку с телефона через мобильный интернет и засеките, когда она появилась в CRM или почте.
- Откройте последние 30 заявок в CRM и посчитайте, сколько спама прошло мимо защиты и есть ли повторяющиеся номера.
- Загляните в карантин: есть ли там живые заявки и когда его последний раз разбирали.
- Если вы добавили капчу или поменяли форму, прогоните сайт через бесплатную проверку юридических рисков: она смотрит формы, персональные данные и cookie.



