Детекція ботів

Як ми відрізняємо скрипт від людини

Детектор не вгадує. З кожного візиту знімається набір сигналів, кожен має вагу, сума дає оцінку. У журналі поруч із візитом написана причина словами — не «підозрілий трафік», а «IP у двох чорних списках, вихід за 1 секунду, нульове прокручування».

Оцінка перераховується кожні 10 хвилин · причини видно по кожному візиту

12
ознак у профілі візиту
6
джерел чорних списків IP
5
груп сигналів у кожній оцінці
10
хвилин між перерахунками оцінки

П’ять груп сигналів

Жодна група не працює поодинці. Скрипт, який підробив рядок браузера, однаково приходить з чужої мережі й поводиться не як людина.

🌐

Мережа — звідки прийшла адреса

Адреса перевіряється в шести чорних списках і за типом мережі. Окремо позначаються центри обробки даних і хостинги: живий покупець рідко заходить в інтернет із серверної стійки. Вихідні вузли Tor позначаються завжди — через них до вас не йдуть по послугу.

  • IP у чорних списках — рахуємо, у скількох одразу
  • Мережа центру обробки даних або хостинг-провайдера
  • Вихідний вузол Tor
  • Країна адреси проти географії кампанії
🖥

Відбиток пристрою

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

  • Один відбиток — багато IP за коротке вікно
  • Часовий пояс не збігається з країною адреси
  • Екран 0×0 або розмір, якого не буває
  • Мова браузера проти мови сторінки
🖱

Поведінка на сторінці

Найчесніша група: її найважче підробити дешево. Людина веде вказівник нерівно, зупиняється, прокручує. Скрипт відкриває сторінку й іде, не торкнувшись її. Для рекламних візитів є запис — спірний випадок можна передивитись очима.

  • Вихід швидше за дві секунди
  • Нульове прокручування при довгій сторінці
  • Жодного руху вказівника на десктопі
  • Клік у ту саму точку, що й минулого разу
⏱

Частота з однієї адреси

Один клік по оголошенню на день — звична річ. Вісім кліків за годину по тому самому оголошенню з однієї адреси — ні. Детектор рахує повтори у вікні, а не за весь час: у мобільних операторів адреси переїжджають, і вчорашня історія до сьогоднішньої людини стосунку не має.

  • Число рекламних кліків з адреси за вікно
  • Повтор візиту з тим самим gclid
  • Серія візитів з рівним інтервалом
  • Сплеск з однієї підмережі
🔤

Рядок браузера

User-Agent — перше, на що дивляться, і останнє, чому варто вірити: рядок підробляється одним рядком коду. Тому він дає вагу лише разом з рештою груп. Зате явні випадки відсікає одразу.

  • Відомі краулери й парсери в рядку
  • Консольні клієнти й бібліотеки: curl, python-requests
  • Ознаки headless-браузера
  • Порожній рядок або версія браузера, якої не існує

Списки

Шість джерел чорних списків — і білий список для своїх

Чорні списки підтягуються регулярно, адреса звіряється з усіма шістьма. Вага росте не від факту потрапляння, а від числа джерел: адреса в одному списку — привід придивитись, у чотирьох — майже вирок.

TorВихідні вузли анонімної мережі
FireHOLЗведений список мереж з поганою історією
IPsumАдреси, помічені в атаках і переборі паролів
SpamhausРозсилка та заражені машини ботнетів
blocklist.deАдреси, що ламали чужі сервери
AbuseIPDBСкарги адміністраторів на конкретні адреси
Добросовісні боти фродом не рахуються

Googlebot, Bingbot, пошукові та службові краулери, боти попереднього перегляду посилань у месенджерах, моніторинги доступності сайту — це не склікування. У журналі вони позначаються окремою категорією, у частку фроду не входять і в список виключень не потрапляють ніколи.

  • Імені в рядку браузера мало — його підробляють. Поруч дивимось на мережу, з якої прийшов запит
  • Свої адреси — офіс, дім, телефон підрядника — додаються в білий список у налаштуваннях і не оцінюються взагалі
  • Адреса, з якої була заявка чи дзвінок, не потрапляє в список виключень 30 днів

Налаштування білого списку

Ознака, вага і що вона означає

Вага — це внесок ознаки в підсумкову оцінку, а не вирок. Висока вага поодинці ще не закриває візит; низька вага поруч із двома високими вирішує результат.

ОзнакаВагаЩо це означає на практиці
Адреса в трьох і більше чорних списках висока Машина вже світилася в атаках або розсилці. Людина за нею сидить рідко
Мережа центру обробки даних або хостингу висока Клік прийшов не з домашнього і не з мобільного інтернету
Вихідний вузол Tor висока Через Tor приходять не по послугу і не по ціну
Один відбиток — багато адрес за годину висока Проксі або антидетект-браузер: змінюється IP, пристрій той самий
У рядку браузера краулер, curl або бібліотека висока Програма навіть не ховається
П’ять і більше рекламних кліків з адреси за годину середня Ручне склікування або простий скрипт з повтором
Вихід швидше за дві секунди середня Сторінка не встигла показатись — читати не було чого
Нульове прокручування при довгій сторінці середня На короткій сторінці ознака не рахується
Жодного руху вказівника на десктопі середня На мобільному не враховується: там вказівника немає
Часовий пояс не збігається з країною адреси середня Буває у VPN — само по собі не вирок
Повтор візиту з тим самим gclid середня Один оплачений клік показаний як кілька візитів
Порожній реферер на платному кліку низька Трапляється й у живих людей, вага маленька

Жодна ознака сама по собі не закриває візит. У журналі вказані всі спрацьовані причини — можна подивитись, за що саме система поставила оцінку, і не погодитись.

Межі методу

Оцінка ймовірнісна. Останнє слово за людиною

Ми не вміємо довести, що за адресою сидів скрипт. Ми вміємо показати, скільки ознак зійшлося і яких саме. Різниця принципова, і ось де вона видна:

  • Мобільний оператор міняє адресу кожні кілька хвилин — вчорашній бот і сьогоднішній покупець можуть отримати той самий IP
  • За корпоративним NAT сидить сотня людей з однією зовнішньою адресою
  • VPN вмикають не лише склікувачі, а й люди, яким просто не подобається стеження
  • Людина може піти зі сторінки за три секунди, бо одразу набрала номер із шапки сайту

Тому рішення не автоматичне. Новий акаунт тиждень працює в режимі спостереження: система показує, кого б позначила, але не чіпає нічого. Поріг підозри рухається в налаштуваннях. Будь-яка адреса знімається зі списку однією кнопкою, і рішення фіксується.

Як читати журнал і не забанити клієнта

Що відбувається з поганою адресою далі

Позначка в журналі — це ще не блокування. Шлях від оцінки до виключення в рекламному кабінеті виглядає так.

  1. Причина пишеться в журналВізит видно з адресою, мережею, пристроєм, часом на сторінці та списком спрацьованих ознак. Для рекламних візитів поруч лежить запис поведінки.
  2. Адреса потрапляє в кандидатиКандидати накопичуються, поки набирається історія. Адреси, з яких були заявка чи дзвінок, з кандидатів виключаються на 30 днів.
  3. Ви вивантажуєте списокНа тарифах від «Детектора» список поганих IP вивантажується одним файлом — готовим до вставки у виключення кампанії.
  4. Стежите за стелеюGoogle Ads тримає не більше 500 виключень IP на кампанію. Вище цієї межі нові рядки мовчки перестають діяти — тому список чиститься від старих адрес, а не росте нескінченно.

Автоматичне відправлення виключень у Google Ads поки в розробці. Сьогодні список формуємо ми, а завантажує його в кабінет людина. Вивантаження конверсій в Ads не працює. Обіцяти «блокуємо автоматично» ми не будемо, поки це не так.

Стеля в 500 виключень — ще й відповідь на «я це й руками зроблю». Руками ви впертеся в неї на другий місяць і не помітите, що блокування перестали працювати.

Що видно в панелі Тарифи й ліміти

Питання про детекцію

Чому Google визнає недійсними менше кліків, ніж позначає ваш детектор?
Це різні мірки. Google рахує те, за що готовий повернути гроші, і не пояснює, які саме кліки списав. Ми рахуємо все, що не схоже на людину, і показуємо причину по кожному візиту. Цифри не сперечаються між собою — просто наша ширша, а перевірити її можна порядково.
Скрипт підробить рядок браузера — і все?
Підробить, це дешево. Але він однаково прийде з чужої мережі, покаже один відбиток з десятка адрес і не стане рухати мишею. Рядок браузера — найслабша з п’яти груп, і вага в неї відповідна.
Мої співробітники й підрядники потраплять у фрод?
Ні, якщо додати їхні адреси в білий список у налаштуваннях — такі візити не оцінюються взагалі. Офісну адресу варто внести першого ж дня.
Боти зміняться. Що тоді?
Правила й пороги переглядаються, чорні списки тягнуться з шести джерел регулярно. Обіцяти, що жоден скрипт не пройде, ми не будемо: цю обіцянку неможливо виконати.
Чи можна подивитись спірний візит очима?
Так, якщо це візит з реклами: для них пишеться рух вказівника, прокручування й кліки. Запис відкривається з журналу й відтворюється як коротке відео.

Усі питання

Подивіться на свій трафік

Акаунт створюється безкоштовно, без картки — платна підписка сама не вмикається. Ми нічого не блокуємо, просто показуємо, хто до вас приходить.