Утро, в CRM двадцать новых заявок, и половина из них — «аааа», «test», телефон из одних семёрок и почта на одноразовом домене. Знакомая картина: боты оставляют заявки на сайте. Иногда это безобидный спам, иногда — накрутка, которая съедает выплаты и портит статистику кампании.
Если коротко: спам-заявки и фейковые лиды появляются, когда форма принимает любые данные без проверки, а на страницу пускают всех подряд. Защита строится в несколько слоёв — не пускать ботов на страницу, проверять отправку на сервере, ограничивать частоту, отсекать дубли и не передавать мусор дальше в сеть и рекламный кабинет.
Почему боты оставляют заявки на сайте: откуда фейковые лиды
Причины спам-заявок с сайта разные, и от них зависит, какой слой защиты сработает.
Спам-боты, которые обходят формы подряд
Самый массовый тип. Скрипт находит на страницах теги <form>, заполняет все поля и отправляет. Ему всё равно, лендинг это или блог: он рекламирует что-то в поле «комментарий» или просто проверяет, примет ли форма ссылку. Такие боты примитивны и отсекаются простыми мерами.
Накрутка в рекламном трафике
Здесь заявки — цель, а не побочный эффект. Мотив бывает у недобросовестного источника трафика (показать «конверсию», чтобы его не отключили), у паблишера на площадке с оплатой за действие, у конкурента, который хочет запутать вашу оптимизацию. Такие боты умеют исполнять JavaScript, подставляют правдоподобные имена и номера и ходят через прокси. Подробно о мотивах и признаках — в статье про клик-фрод и скликивание.
Проверка украденных данных
Бот прогоняет через формы базу контактов, чтобы узнать, какие ещё «живые». Для вас это выглядит как реальные имена и телефоны людей, которые никогда ничего у вас не оставляли и очень удивятся звонку.
Живые, но «мотивированные» люди
Не всё, что похоже на фейк, — бот. Мотивированный трафик (люди, которым заплатили за действие) и случайные нажатия в приложениях дают заявки от реальных людей без реального интереса. Техническая защита их не остановит; здесь помогает только оценка источника и апрув. Об этом — в статье про качество трафика.
Признаки, что заявки оставляют боты
| Признак | Что видно | Насколько надёжно |
|---|---|---|
| Мусор в полях | Случайные буквы, «test», ссылки в имени | Высоко для простых ботов |
| Нереальные контакты | Телефон не того формата или страны, одноразовая почта | Средне |
| Скорость | Форма отправлена через секунду после открытия страницы | Высоко |
| Сеть | Адрес хостинга, облака, прокси | Средне: прокси бывают и у людей |
| Повторы | Несколько заявок с одного устройства или адреса с разными данными | Высоко |
| Время | Пачка заявок глубокой ночью по гео, равные интервалы | Средне |
| Апрув | Сеть массово отклоняет или помечает заявки как фрод | Высоко, но с задержкой |
Ни один признак не доказывает бота сам по себе. Надёжный вывод даёт совпадение двух-трёх. Шире о признаках автоматики — в материале бот-трафик: признаки.
Защита формы от спама: слои
Хорошая защита формы от ботов не опирается на один приём. Каждый слой ловит свою часть мусора, а вместе они почти не мешают живым людям.
Слой 1. Не пускать ботов на страницу
Лучшая заявка от бота — та, которую он не смог оставить, потому что не увидел форму. Если на лендинг ведёт реклама, фильтр на входе отсекает визиты из дата-центров, программы вместо браузера, headless-браузеры и известные адреса ботов ещё до показа страницы. Как устроен такой отсев, рассказано в статье как отфильтровать ботов, а о технике распознавания автоматизированных браузеров — в материале про headless и fingerprint.
Но у этого слоя есть честное ограничение: бот, который знает адрес обработчика формы, может отправлять данные прямо туда, минуя страницу. Поэтому второй слой обязателен.
Слой 2. Проверка на сервере
Всё, что проверяется только в браузере, бот обходит. Обработчик формы должен сам проверять:
- Формат полей. Телефон — цифры нужной длины и кода страны, почта — валидный домен, имя — без ссылок и служебных символов.
- Honeypot. Скрытое поле, которое человек не видит. Если оно заполнено — заявку тихо отбрасываем, без сообщения об ошибке.
- Время заполнения. Сервер выдаёт метку времени при показе формы; отправка быстрее нескольких секунд — подозрительна.
- Токен формы. Одноразовый токен, выданный вместе со страницей. Отправка без него или с чужим токеном означает, что форму заполняли не на вашей странице.
- Источник визита. Если у заявки нет номера клика, который пришёл вместе с посетителем по рекламе, это либо прямой заход, либо отправка в обход страницы.
// Минимальная проверка в обработчике формы
if (!empty($_POST['website'])) { // honeypot: поле скрыто от людей
http_response_code(200); exit; // делаем вид, что всё в порядке
}
if (time() - (int)($_POST['ts'] ?? 0) < 3) {
http_response_code(200); exit; // заполнено быстрее человека
}
Это иллюстрация, а не готовое решение: в реальном обработчике метку времени нужно подписывать, чтобы бот не мог её подделать.
Слой 3. Лимиты
Ограничьте число отправок с одного адреса и одного устройства за час и за сутки. Живой человек редко оставляет больше одной-двух заявок; бот, проверяющий базу, — десятки. Лимит частоты особенно хорошо работает против накрутки, где одна машина пытается выдать себя за многих людей.
Слой 4. Капча — с оговорками
Капча кажется очевидным решением, но у неё две цены. Первая — конверсия: каждый лишний шаг в форме теряет часть живых людей, особенно на мобильных. Вторая — ложное чувство защищённости: сервисы ручного распознавания решают капчу за доли цента. Разумный компромисс — невидимая проверка, которая показывает задачу только при подозрительной отправке, и капча как последний слой, а не первый. Чем отличаются разные виды антибот-защиты, рассказано в статье антибот для сайта.
Совет. Не показывайте боту, что его поймали. Ответ «спасибо, заявка принята» на отброшенную отправку не даёт автору скрипта понять, какая проверка сработала, и подстроиться под неё.
Дубли лидов: отдельная проблема
Дубль — это повторная заявка того же посетителя. Он бывает честным (человек не дождался звонка и отправил ещё раз) и нечестным (накрутка, где одно устройство подставляет разные данные). В обоих случаях считать дубль новой конверсией нельзя:
- вы завышаете CR и принимаете решение о масштабировании на ложных цифрах;
- сеть всё равно не оплатит дубль, и апрув просядет;
- рекламный кабинет получит лишнюю конверсию и начнёт искать «таких же».
Как правило, дубли определяют по паре «посетитель + окно времени»: если тот же человек (по адресу или по адресу и браузеру) оставил заявку повторно в течение заданного срока, вторая заявка помечается как дубль и не заменяет первую. Как дубли влияют на статусы и выплату — в статье статусы конверсий.
Почему фейковые лиды нельзя отдавать в рекламный кабинет
Современные рекламные площадки оптимизируют показы по конверсиям, которые вы им передаёте — через пиксель, Conversions API или постбэк. Если в этих данных мусор, алгоритм учится находить посетителей, похожих на ботов. Через неделю доля фейковых заявок растёт, а вы видите «дешёвые лиды» и повышаете бюджет.
Поэтому правило простое: в кабинет уходят только те статусы, в которых вы уверены, — подтверждённый лид или продажа, а дубли и отклонённые заявки остаются у вас. Как настроить такую передачу, рассказано в статье про передачу конверсий в рекламные кабинеты.
Как это видно и отсекается в ArtisanClo
ArtisanClo работает на входе: решает по каждому визиту по рекламной ссылке, пускать его на страницу с формой или нет. Сам обработчик формы остаётся на вашем сайте, поэтому серверные проверки из второго слоя по-прежнему нужны. Что делает сервис:
Отсекает ботов до формы. Программы вместо браузера, явные роботы-браузеры, сервисы проверки объявлений и адреса, на которых уже уверенно пойманы боты, получают White Page вместо страницы с формой сразу. Дата-центры, VPN, прокси, отсутствие JavaScript и другие признаки складываются в оценку доверия: набралось слишком много подозрительного — формы посетитель не увидит. С тарифа Professional доступен лимит кликов с одного адреса в сутки, а проверка живого взаимодействия смотрит, как двигаются мышь и палец. Каждое решение объяснено причиной в журнале кликов.
Связывает заявку с кликом. В разделе «Приём конверсий» для своего сайта есть код для обработчика формы, скрипт для страницы «Спасибо» или пиксель. Заявка приходит вместе с номером клика, поэтому видно, с какого визита, источника и креатива она пришла. В журнале приёма видны и исходы вроде «клик не найден» или «нет click_id» — заявка без настоящего клика сразу заметна.
Учитывает дубли. В настройке потока есть блок «Уникальный посетитель»: окно от часа до 30 дней и распознавание по IP или по IP и браузеру. В режимах с трекером повторная заявка того же посетителя с другого клика внутри окна записывается как «Мусор» с пометкой «дубль» и не заменяет первую.
Переводит статусы сети. Если партнёрская сеть присылает статус fraud, заявка становится «Мусором»; незнакомый статус тоже записывается как «Мусор» с нулевым доходом. Повторное сообщение с тем же номером сделки обновляет запись — так сеть подтверждает или отзывает лид.
Показывает, где мусор. В журнале кликов есть фильтр по наличию лида, а карточка клика показывает сеть, проверки и конверсии. В «Конверсиях» можно отобрать статус «Мусор». С Professional умная защита учится на истории аккаунта — кого вы оплачивали, а кто оказался ботом — и уводит похожие визиты на White Page.
Постбэк в источник отправляется один раз на конверсию и статус, и в нём можно выбрать, о каких статусах сообщать площадке. С Professional конверсии передаются напрямую в Meta, TikTok и Google Ads по вашим ключам. Подробнее — на странице возможностей, а доступность функций по тарифам — в разделе тарифов.
Итог
Когда боты оставляют заявки на сайте, одна мера не спасает. Не пускайте ботов на страницу, проверяйте каждую отправку на сервере (формат, honeypot, время, токен), ограничивайте частоту, капчу держите последним слоем. Дубли лидов помечайте и не считайте новыми конверсиями, а в рекламный кабинет отдавайте только то, в чём уверены. Тогда фейковые лиды перестанут искажать статистику, а площадка — учиться на мусоре.



