Как вычислять click farms по сетевым следам, а не по «подозрительному CTR»
Давайте поднимем логи и посмотрим правде в глаза. Ферма кликов редко палится поведением на странице — она палится транспортом: одинаковые ASN, повторяемые /24, короткие сессии, одинаковые TTL и MTU, а также ровные интервалы между событиями. Когда клики идут через прокси-пулы, меняется IP, но не меняется дыхание сети: одни и те же паттерны TCP handshake, схожий JA3/JA4, одинаковые заголовки и последовательность запросов.
Собирайте не только clickstream, но и сетевую обвязку:
— IP, ASN, страна, тип сети, репутация подсети;
— время от DNS до первого байта, разница между навигацией и кликом;
— количество уникальных устройств на один диапазон;
— повторяемость user-agent в связке с одним и тем же сетевым следом.
Ботнеты эволюционируют, но паттерны их поведения остаются прежними: когда десятки «разных» пользователей живут в одном узком диапазоне и стучатся в трекер с одинаковой фазой, это уже не аудитория, а распределённый скрипт.
Особенно полезно строить кластеризацию по IP-диапазонам и таймингам. Если в одном /24 наблюдается аномально высокая плотность коротких сессий, одинаковый referrer-or-less трафик и повтор кликов по одному офферу без нормальной глубины, перед вами не инцидент, а производственная линия. Для проверки держите правило: один и тот же диапазон должен давать разнообразие в географии, задержках и последовательностях событий; если разнообразия нет — режьте на уровне правил.
Вот технический разбор того, как именно уплывает ваш рекламный бюджет: ферма не маскирует массовость, она лишь размазывает её по IP. Поэтому фильтр должен смотреть не на один признак, а на связку ASN + /24 + TTL + timing + JA3. Если три и более слоя совпали, трафик идёт в карантин, а не в оптимизацию.
Защита от фрода в рекламе
@ad_fraud_shield_arb
Как вычислять click farms по сетевым следам, а не по «подозрительному CTR»
Этот пост опубликован в Telegram-канале Защита от фрода в рекламе. Подписаться можно по ссылке: @ad_fraud_shield_arb.