Как боты рисуют мышь и просмотры страниц, не оставляя правдоподобный след
Давайте поднимем логи и посмотрим правде в глаза. Поведенческий фрод редко выглядит как «бот без мыши». Чаще это аккуратная имитация: `mousemove` с ровной интерполяцией, псевдослучайные паузы, скролл до «логичной» глубины и переходы между блоками так, чтобы собрать событие `page_view` и не задеть грубые фильтры.
Типовой след в сыром трекинге:
— движения идут с постоянной скоростью и без микродрожания;
— траектория слишком гладкая, почти без резких ускорений;
— курсор «живет» только в активной области экрана и не делает ошибок;
— время между скроллом, кликом и уходом со страницы слишком ровное.
Боты часто подделывают не только координаты, но и ритм. Они запускают таймеры, имитируют `visibilitychange`, создают задержки загрузки ресурсов, дергают `history.pushState`, чтобы страница выглядела просмотренной. Но у них ломается связность: событие есть, а предшествующего контекста нет — ни реального hover, ни серии мелких коррекций, ни естественной ошибки движения.
Фильтровать это нужно не по одному сигналу, а по вектору признаков: энтропия траектории, дисперсия пауз, соотношение прокрутки к времени на экране, число корректировок перед кликом, последовательность DOM-событий. Если у сессии есть красивый `page_view`, но нет грязных, человеческих артефактов — это не пользователь, а аккуратно собранный скриптом фантом.
Ботнеты эволюционируют, но паттерны их поведения остаются прежними. Смотрите не на факт движения, а на его физику: именно там фрод начинает рассыпаться.
Защита от фрода в рекламе
@ad_fraud_shield_arb
Как боты рисуют мышь и просмотры страниц, не оставляя правдоподобный след
Этот пост опубликован в Telegram-канале Защита от фрода в рекламе. Подписаться можно по ссылке: @ad_fraud_shield_arb.