Защита от фрода в рекламе

Собственная фильтрация трафика на ClickHouse и Python: как не кормить ботов бюджетом

Собственная фильтрация трафика на ClickHouse и Python: как не кормить ботов бюджетом

Давайте поднимем логи и посмотрим правде в глаза. Если у вас есть только postback и отчёт сети, фрод уже успел доехать до атрибуции. Нормальная защита начинается с сырого события: click_id, ip, ua, referrer, timestamp, geo, ASN, device hash. Всё это надо писать в ClickHouse без «улучшений» на стороне трекера.

Схема простая: Python принимает события, валидирует поля, шлёт батч в ClickHouse, а правила фильтрации живут отдельно в таблице признаков. Дальше считаем аномалии:
— слишком плотные клики с одного /24
— одинаковый UA при разном гео
— нулевой dwell time между клик и конверсию
— всплески по ASN с пустой историей

Ботнеты эволюционируют, но паттерны их поведения остаются прежними. В ClickHouse удобно держать скользящие окна и агрегаты по срезам: ip, subnet, ua_hash, landing_id. Python нужен не для «магии», а для оркестрации: собрать признаки, применить score, записать verdict. Слабое место многих реализаций — фильтр на уровне одного правила. Один сигнал обходится легко; пять сигналов уже превращаются в шумный, но читаемый след.

Вот технический разбор того, как именно уплывает ваш рекламный бюджет: сначала собирайте whitelist для своих источников, потом вводите score по 3–5 признакам, затем режьте только те связки, где аномалия повторяется в окне наблюдения. Не баньте по одному клику — баньте по устойчивому паттерну.

Итог простой: ClickHouse хранит правду, Python принимает решения, а антифрод без сырого логирования — это декорация.
Этот пост опубликован в Telegram-канале Защита от фрода в рекламе. Подписаться можно по ссылке: @ad_fraud_shield_arb.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.