Фейковые заявки на сайте: как отличить бота от человека и спасти отдел продаж

Команда LeadShield ~17 мин чтения

Менеджер открывает CRM и набирает номер из свежей заявки. Абонент недоступен. Через час — короткие гудки и отбой. К вечеру выясняется, что номер вообще не существует, а таких «лидов» за день накопилось девять. Руководитель видит в отчёте 30 заявок и удивляется, почему продаж всего две. Это не сбой одного дня и не лень отдела — это системная утечка: фейковые заявки съедают рабочие часы, портят статистику и обучают рекламные алгоритмы на мусоре.

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

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

Откуда берутся фейковые заявки: три источника мусора в CRM

Прежде чем бороться с пустыми заявками, нужно понять, кто их создаёт. В 2026 году у этого мусора три устойчивых источника, и у каждого своя механика. Бороться с ними одним способом не получится: антибот не отловит опечатку живого человека, а проверка номера не остановит DDoS-залповую отправку форм.

Спам-боты и скрипты

Первый и самый массовый источник — автоматические скрипты. Они собирают адреса форм тремя путями: парсят HTML страниц и ищут теги form, перебирая известные конструкторы; берут endpoint'ы из утечек с чужих взломанных сайтов; проходят по готовым каталогам «живых» форм, которые фрод-сообщества пополняют годами. Скрипт не читает вашу страницу и не смотрит на продукт — он шлёт POST-запрос напрямую, минуя отрисованную страницу, поэтому ни трафик, ни «время на сайте» его не выдают.

Раньше такие скрипты было просто отсечь: у них был пустый JavaScript-контекст, нет cookies, один и тот же user-agent. Сегодня спамеры перешли на headless-браузеры: скрипт исполняет страницу, ставит куки, ждёт несколько секунд, иногда даже двигает мышью. По нашим наблюдениям за клиентскими проектами, доля автоматического спама на незащищённых лид-формах колеблется от 15 до 40% в зависимости от отрасли, бюджета рекламы и «раскрученности» домена: чем старше сайт и чем дороже клик, тем активнее его атакуют.

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

Понимание источника важно и с практической стороны: у каждого из трёх сценариев своя подпись в статистике и своя мера. Скликивание видно в рекламных кабинетах как аномальный CTR, спам-боты — в логах сервера как всплеск POST-запросов к форме, случайные заявки — в CRM как заявки с полностью заполненными полями и невалидным номером. Ниже разберём каждый источник отдельно — с цифрами, типичными ситуациями и тем, что реально помогает в каждом случае.

Скликивание рекламы

Второй источник — платный фрод. Конкуренты или фрод-группы кликают по объявлениям, чтобы выбить бюджет и занять место в аукционе. Бот переходит на сайт из рекламы, форма у него заполняется автоматически — чтобы внешне всё выглядело как нормальная конверсия. Площадки фильтруют часть таких кликов и возвращают деньги, но фильтр работает на уровне клика: он не заглядывает в вашу CRM и не знает, что номер из заявки не существует. За «конверсию» никто не компенсирует — а вот автостратегия её учтёт.

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

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

«Случайные» заявки от живых людей

Третий источник — не боты вовсе. Люди реально заходят на сайт и оставляют номер с опечаткой, номер работодателя «чтобы не светить свой», цифры от балды. Доля мобильного трафика растёт, а на смартфоне опечатиться в одиннадцати цифрах проще простого: соседняя клавиша, автозамена, отправка формы большим пальцем до проверки. Есть и культурный фактор: часть аудитории принципиально не оставляет настоящий номер до тех пор, пока не убедится, что компания реальная — для неё форма «пока просто посмотреть».

Такие заявки выглядят как настоящие, звонки по ним безрезультатны, а в отчётах они числятся лидами, «не дошедшими до продажи». Именно поэтому проверять нужно не только поведение посетителя, но и сам номер: ни один антибот в мире не отличит живого человека с опечаткой от живого же клиента.

Как отличить бота от человека: 7 признаков фейковой заявки

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

Два технических замечания перед разбором. Поведенческие метрики — время на сайте, движения мыши, скролл — фиксирует скрипт на форме: без него в вашей CRM остаётся только номер и текст, и таблица сокращается до двух строк. И ни один признак по отдельности не является доказательством: живой человек может заполнить форму за восемь секунд ночью с мобильного, а хитрый бот — «читать» страницу две минуты. Работает только совокупность признаков.

Признаки фейковой заявки и способы проверки
ПризнакКак проверитьЧто означает
Скорость заполненияВремя от загрузки страницы до отправкиМеньше 2–3 секунд на все поля — почти наверняка скрипт: человек столько даже не читает подписи
Валидность номераЗвонок или HLR-запрос к операторуНомер не существует, заблокирован или из диапазона виртуальных АТС — заявку можно смело выбрасывать
Содержимое полейИмена, комментарии, обязательные поляСлучайные буквы, спам-ссылки, «asdf» в имени, комментарий на нерелевантную тему — типичная автозаполненная форма
Поведение на страницеСкролл, движения мыши, фокус полейУ скрипта нет событий прокрутки и естественного фокуса; человек листает, возвращается, правит текст
IP и ASNГео-IP, принадлежность адресаАдреса дата-центров, хостинг-провайдеров и публичных VPN — классический ботнет, живой клиент так не заходит
Время отправкиЧасы и дни неделиРегулярные всплески ночью и в выходные при B2B-аудитории — работает не человек
ПовторыЧастота заявок с одного IP и устройстваСерия заявок за минуты с одного адреса — перебор базы, а не ажиотаж спроса

Расскажем подробнее о двух самым информативных проверках. Первая — HLR-запрос: технический запрос к базе оператора, который отвечает, существует ли номер, активен ли он и в какой стране зарегистрирован. Звонить не нужно, номер не беспокоится, ответ приходит за секунды. Именно так работает предварительная валидация в LeadShield: форма с несуществующим номером отклоняется мгновенно, до этапа звонка клиенту.

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

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

От сигнала к действию: как работать с признаками

Признаки полезны, только если по каждому есть понятное действие. Короткая шпаргалка из практики:

  • Ставший вдруг высоким процент недозвонов — повод прогнать свежие заявки через пакетную проверку номеров, а не менять скрипт продаж.
  • Всплески ночью и в выходные — смотреть UTM и площадки источника: чаще всего мусор идёт с одной-двух площадок РСЯ.
  • Серии заявок с одного IP — включить ограничение частоты отправок на форме или honeypot-поле; перебор ломается о простые барьеры.
  • Много «случайных» номеров от живых людей — упрощать форму: убрать лишние поля и добавить подтверждение номера до отправки, чтобы опечатка ловилась сразу.

Три типовые заявки из практики

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

Заявка первая — «мгновенная». Форма отправлена через две секунды после загрузки страницы, глубина ночи, IP принадлежит хостинг-провайдеру, номер начинается с распространённой серии виртуальных АТС. Время заполнения ставит крест на человеческом происхождении: прочитать заголовок, вписать имя и одиннадцать цифр за две секунды физически нельзя. Вердикт — скрипт. Действие: блокировка по поведению плюс honeypot, звонить незачем. Такая заявка не столько вредит сама по себе, сколько сигнализирует: раз скрипт нашёл форму, завтра он вернётся с сотней попыток.

Заявка вторая — «опечатка». Будний день, нормальная реклама, время заполнения сорок секунд, в комментарии — осмысленный вопрос о сроках. По всем поведенческим признакам живой человек. Но номер не проходит проверку: одна цифра перепутана, такого абонента не существует. Вердикт — честная ошибка. Действие: верификация до отправки. Клиент ввёл бы код с экрана, звонок не пришёл бы на чужой номер, и он сам исправил бы цифру ещё в форме. Без верификации эта заявка превращается в недозвон и минус одно обращение к репутации компании: человек ждёт звонка, который никогда не придёт.

Заявка третья — «чужой номер». Заполнена аккуратно, поведение на странице живое, источник — реклама. Менеджер дозванивается, но на том конце человек, который ничего не заказывал, живёт в другом городе и раздражён звонком. Типичная картина для баз украденных номеров: фрод-скрипт подставляет реальные номера, чтобы пройти любую синтаксическую проверку. HLR-запрос здесь бессилен — номер существует и активен. Ловит только подтверждение владения: код ушёл на SIM-карту, которой у бота нет.

Обратите внимание: у каждой из трёх заявок разная механика и разное лекарство. Поведенческий фильтр закрывает первую, верификация — вторую и третью. Именно поэтому в чек-листе ниже они идут вместе, а не «или-или».

Сколько стоит одна фейковая заявка: считаем вместе с отделом продаж

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

Базовый расчёт: 30 заявок в день, 30% мусора

  • Заявок с сайта в день 30
  • Доля фейковых 30% = 9 заявок
  • Время на одну фейковую заявку ~6 минут
  • Час рабочего времени менеджера ~550 ₽
  • Недозвоны в день 9 × 6 мин = 54 минуты
Только перезвоны по мусору, в месяц ≈ 11 500 ₽

Дальше хуже. Недозвон занимает слот в обзвоне, и настоящий лид в это время ждёт. Если конверсия из заявки в сделку 10%, а фейк вытеснил живого клиента, потеряны не шесть минут, а десятая часть стоимости сделки. При среднем чеке 150 000 ₽ это 15 000 ₽ на каждую пропущенную заявку.

И третий слой — реклама. Автостратегии Директа и Google Ads обучаются на конверсиях формы. Если 30% конверсий — мусор, алгоритм начинает искать похожую аудиторию: больше ботов, выше цена лида, ниже качество. Круг замыкается сам на себе и без внешнего вмешательства не размыкается.

Есть и менее заметные потери. Юнит-экономика считается на искажённых данных: CAC завышен, конверсия в сделку занижена, прогноз выручки расходится с реальностью — и никто не понимает почему. Менеджеры перегорают на бесплодных обзвонах, а текучка в отделе продаж стоит дороже любого антифрода. Реже обсуждаемый эффект — репутационный: когда «клиент оставил заявку» и не отвечает, часть компаний начинает донимать его повторными звонками, а это риск жалобы и негатива, если номер всё-таки принадлежал живому человеку, просто чужому.

Потери от фейковых заявок в трёх типовых сценариях
СценарийЗаявок/деньДоля мусораПерезвоны/месПотери/мес
Малый бизнес1020% (2)~6 ч~3 300 ₽
Средний (наш пример)3030% (9)~18 ч~11 500 ₽
Активный лидоген8035% (28)~56 ч~35 000 ₽

В последнем сценарии отдел фактически содержит одного менеджера, который целый рабочий месяц звонит пустышкам. И это всё ещё без учёта искажённой рекламы: при цене лида 800 ₽ и 35% мусора только списания с рекламного кабинета — 22 400 ₽ в месяц.

Как посчитать свои цифры за 20 минут

Не берите наши примеры на веру — посчитайте под себя. Нужны три числа из вашей CRM и одно из кадровой ведомости:

  1. Доля заявок, по которым менеджер не дозвонился за два рабочих дня. Берите месяц, а не неделю, чтобы сгладить случайности.
  2. Среднее время на попытку дозвона с записью результата в CRM — обычно 5–8 минут.
  3. Часовая стоимость менеджера: месячный фонд оплаты труда с налогами, делённый на 160 часов.
  4. Цена лида из рекламы — из отчётов Директа или Google Ads.

Перемножьте: недозвоны × время × часовая ставка — это прямые внутренние потери. Прибавьте недозвоны × цена лида — это списанный рекламный бюджет. Итоговая сумма для большинства B2B-компаний оказывается между 10 000 и 50 000 ₽ в месяц — заметно больше годовой стоимости типового тарифа защиты.

Есть и скрытый ущерб, который в эту формулу не входит. Грязная воронка портит управленческие решения: маркетинг не видит реальный CPA, а реальный канал с лучшими клиентами выглядит хуже мусорного. Сквозная аналитика на фейковых данных показывает шум, и бюджет перераспределяется в пользу источника, который лучше накручивается. Формально ничего не «потеряно» — деньги просто начинают работать против вас.

Ручная проверка против автоматической верификации номера

Когда масштаб проблемы понятен, соблазнительно поручить менеджерам «просто перепроверять номера». Это работает ровно до тех пор, пока заявок немного.

Что даёт ручная проверка

Менеджер может сверить номер с базой, найти его в открытых источниках, перезвонить с подменного. На 10–15 заявках в день это жизнеспособно и даже полезно: в разговоре выясняются мотивы, которые никакой скрипт не поймает. На 50 заявках ручная проверка превращается в отдельную должность: вы платите человеку за то, что машина делает за секунды. Главное же ограничение другое: ручная проверка происходит после отправки формы. Мусор уже попал в CRM, уже испортил статистику и уже занял слот обзвона. Вы узнали о фейке постфактум — и на следующий день всё повторилось.

Как работает автоматическая верификация

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

Flash call — самый дешёвый канал подтверждения: в 2–3 раза дешевле SMS. Правда, операторы блокируют часть таких звонков антиспам-фильтрами, реальная доходимость 60–70%, поэтому LeadShield работает каскадом: если звонок не дошёл, автоматически уходит SMS — лид не теряется. Такая схема называется каскадной верификацией.

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

Ручная проверка и автоматическая верификация номера
КритерийРучная проверкаАвтоматическая верификация
Момент проверкиПосле попадания в CRMДо отправки формы
Масштаб10–15 заявок в деньЛюбой объём, секунды на проверку
Что проверяетКосвенные признаки и опыт менеджераФакт владения номером
СтоимостьЧас менеджера — 500–700 ₽От 29 ₽ за проверку, подписка за пакет
СтатистикаНе фиксирует причину отказаЛог каждой попытки: IP, канал, результат

Сколько это стоит

Проверка номера стоит от 29 ₽, а защита оформляется подпиской за пакет проверок: тариф «Старт» — 1 690 ₽ в месяц за 30 проверок, «Про» — 3 990 ₽ за 100, «Бизнес» — 8 990 ₽ за 300. Каждый месяц 5 проверок бесплатны на любом тарифе, включая бесплатный период — этого хватает, чтобы снять реальную долю мусора на своём трафике до оплаты. Подписка не привязана к числу отправленных ботами заявок: при залповой атаке стоимость защиты не растёт.

Гибридная схема: где человек остаётся необходим

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

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

Три ошибки в борьбе с фейками

Прежде чем переходить к чек-листу — три типичных решения, которые выглядят логично, но не работают или работают в минус.

Поставить капчу и забыть

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

Купить «гарантированно чистые» лиды

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

Ничего не менять, пока «не накопится статистика»

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

Что внедрить на сайте сегодня: чек-лист

Собрали приоритетный список. Всё из него реализуется без разработчика и за один рабочий день — ни один пункт не требует правки бэкенда.

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

Один нюанс про ожидания: защита формы не поднимет конверсию сама по себе — она убирает мусор, а рост настоящих заявок происходит потом, за счёт чистой статистики и освобождённых часов отдела. Если ожидать «волшебной кнопки», разочарование придёт через неделю. Если ожидать честную воронку и экономию 10–50 тысяч рублей в месяц — цифры обычно подтверждаются уже на первой сверке.

  1. Поставить скрытое honeypot-поле в каждую форму: боты его заполнят, люди его не увидят. Это базовый фильтр, как работает honeypot-ловушка — в отдельном разборе.
  2. Включить проверку номера до отправки: flash call первым каналом, SMS — в каскаде, чтобы лид не терялся при блокировке звонка оператором.
  3. Подключить защиту форм от ботов без капчи: поведенческий фильтр отсеивает скрипты до отправки, а живых клиентов не трогает.
  4. Зафиксировать в CRM причину отклонения каждой заявки — бот, невалидный номер, дубль. Без этого статистика кампаний снова слепнет.
  5. Настроить автопометку источника, UTM и IP заявки, чтобы видеть фродовые площадки, а не гадать по ощущениям.
  6. Раз в неделю выгружать сводку: доля фейков, часы менеджеров на недозвоны, динамика за месяц. Одна строка в таблице — уже повод для действий.
  7. Если фейков больше 20% при платном трафике — проверить кампании на скликивание и ужать сомнительные площадки РСЯ.

Первые два пункта закрывают основной поток мусора. Третий добивает скрипты, прошедшие первый круг. Всё вместе — законченный контур, а не набор разрозненных костылей: каждый слой решает свою часть задачи, и отказ любого из них не обрушивает систему.

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

Контрольный срок — две недели. За четырнадцать дней на чистой воронке станет видно: доля недозвонов упала, статистика кампаний перестала «прыгать», а отдел продаж впервые за месяц обзвонил все заявки, а не выбирал, кому успеть. Это и есть критерий, что защита работает — без всякой магии и без обещаний, которые не проверить.

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

Все фейковые заявки — это боты?
Нет. По практике рынка 60–70% мусора — автоматика, остальное — живые люди с опечатками, подставными номерами и случайными отправками. Поэтому одного антибота мало: нужна проверка самого номера.
Капча решит проблему фейковых заявок?
Классическая капча снизит и спам, и конверсию примерно на 10–20%, а сервисы распознавания картинок пробивают её за копейки. Разумная альтернатива — невидимая проверка поведения плюс верификация номера.
Можно ли отсеять фейки без изменения дизайна формы?
Да. Поведенческий фильтр работает на уровне скрипта, а верификация — оверлеем поверх формы. Внешне форма не меняется.
Сколько времени занимает внедрение защиты?
Установка виджета — 2 строки кода в head сайта, как счётчик метрики. Первые данные по доле мусора видны в день подключения.
Что делать с уже накопленной базой фейковых номеров?
Прогнать её через пакетную проверку: невалидные и недоступные номера удалить или пометить, чтобы они не искажали аналитику и не тянули обзвон.

Отсеките фейковые заявки до CRM

5 проверок бесплатно. Подключение за 2 минуты, 2 строки кода. Без карты.

Подключить за 2 минуты

После 5 проверок выберите тариф или просто отключитесь.