Спам в заявках: как отличить бота от клиента и не терять лиды

Форма ловит десятки заявок в день, но менеджер тонет в мусоре. Разбираем признаки бот-заявок и как отсеять их серверными фильтрами, не задев живых клиентов.

Форма собирает по тридцать заявок в день, а продаж как не было. Менеджер открывает CRM и видит «John», «asdf», ссылки на казино и одинаковые шаблонные тексты. Это спам-боты. Задача не «поставить капчу», а отличить бота от клиента и не выкинуть живого человека вместе с мусором.

Как выглядит бот-заявка

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

  • Мгновенное заполнение. Человек тратит на форму 15-40 секунд, бот — доли секунды. Заявка, отправленная через 2 секунды после загрузки страницы, почти всегда машина.
  • Мусор в полях. Имя «qwerty», город «test», сообщение из случайных букв или, наоборот, идеально шаблонный рекламный текст.
  • Ссылки в сообщении. Живой клиент редко вставляет URL. Бот-спамер — почти всегда: он и пришёл ради ссылки.
  • Повторы с одного IP. Пять одинаковых заявок за минуту с одного адреса — не пять клиентов.
  • Странный User-Agent. Пустой UA, устаревший браузер, известные библиотеки (python-requests, curl, Go-http-client) в заголовке.

Серверные фильтры, которые не бьют по людям

Главный принцип: фильтруем на сервере и по совокупности сигналов. Один слабый флаг — не повод отклонять: живой человек тоже пишет коротко и быстро.

  • Проверяйте время между загрузкой страницы и отправкой — храните метку в скрытом токене, а не в поле, которое видно боту.
  • Считайте частоту с IP за окно времени. Больше N заявок за минуту — на модерацию.
  • Ищите ссылки и спам-слова в тексте сообщения, но не в имени и телефоне.
  • Проверяйте User-Agent: пустой или библиотечный — сильный минус.

Порог подозрительности вместо чёрно-белого

Не делите заявки на «спам» и «не спам». Начисляйте баллы: быстрая отправка +2, ссылка в тексте +3, повтор с IP +2, библиотечный UA +3. Дальше два порога:

  • Ниже нижнего — пропускаем в CRM без вопросов.
  • Между порогами — принимаем, но помечаем флагом «проверить».
  • Выше верхнего — не отклоняем молча, а кладём в отдельную очередь модерации.

Так вы почти не теряете реального клиента: сомнительная заявка не пропадает, а ждёт человека.

Логируйте всё и смотрите раз в неделю

Каждую отправку пишите в лог с баллами и сигналами. Через неделю видно, какие правила ловят спам, а какие цепляют живых. Настройка фильтра — это цикл, а не разовая установка.

Ручная модерация спорных

Заявки из «серой зоны» — не в корзину, а в очередь на 30 секунд менеджеру. Живой клиент с необычным поведением попадёт в продажу, а не в мусор — это дешевле, чем потерять один настоящий лид на сотню ботов.

Чеклист

  • Считаю сигналы по совокупности, а не по одному флагу.
  • Фильтрую на сервере, а не только на фронте.
  • Три зоны: пропуск / флаг / модерация — без тихого удаления.
  • Логирую баллы и раз в неделю пересматриваю пороги.
  • Спорное уходит человеку, а не в корзину.

Вывод

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

Конструктор форм и опросов
Услуга по теме — обсудим ваш проект.