Ранок, у 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, час, токен), обмежуйте частоту, а капчу тримайте останнім шаром. Дублі лідів позначайте й не рахуйте новими конверсіями, а в рекламний кабінет віддавайте лише те, у чому впевнені. Тоді фейкові ліди перестануть спотворювати статистику, а майданчик — навчатися на смітті.



