Ключевые моменты
- Фрод/мусор ловится цепочкой: серверный isBot → (опционально) Smart Traffic SDK → статусы visit → conversion_score.
- Сигналы сервера: пустой UA, WhichBrowser/DeviceDetector bot, headless-паттерны, нет Accept/Accept-Language, datacenter IP, >30 кликов/60 с с IP.
- safe = только лог would_block; soft (ip:/rate:) при Smart Traffic может пройти дальше (soft_pass).
- AI Selena задаёт профиль score и sf_mode; пороги HVT сами клики не банят — см. статьи про пороги и «не делает».
Три слоя защиты
- Сервер — до отдачи страницы/редиректа: isBot, prefetch skip, запись bot_server.
- Клиентский SDK — при Smart Traffic: delay, события, fingerprint, behavior, PoW/challenge, confirm.
- Аналитика качества — статусы, Audience, conversion_score; опционально FraudDataCollector → exclusions.
Пиксели при нормальном сценарии должны стрелять для подтверждённых (и при согласии), а не для hard-bot редиректа без трекинга.
Серверный isBot
RedirectController::isBot возвращает код причины или null. Типичные причины:
| Код / группа | Условие |
|---|---|
| ua:empty | Пустой User-Agent |
| ua:whichbrowser | WhichBrowser: device.type = bot |
| ua:dd:… | DeviceDetector.isBot() |
| ua:pattern:… | HeadlessChrome, curl, Scrapy, Puppeteer, Selenium, playwright, wget, python-requests, … |
| header:no-accept-language | Нет Accept-Language |
| header:no-accept | Нет Accept |
| ip:datacenter | IP из диапазонов config/datacenter_ips |
| rate:limit | >30 кликов за 60 секунд с одного IP |
Prefetch/prerender (Sec-Purpose) — визит не создаётся. Это не «фрод», а технический предварительный запрос браузера.
Hard vs soft vs safe
- Hard-bot — большинство ua:/header: причин → при режиме не-safe: blocked, редирект без tracking/pixels, visit bot_server, stats bot.
- Soft-bot — reason начинается с ip: или rate:. При включённом smart_traffic и не-safe возможен soft_pass: пропускают дальше к SDK/fingerprint, не режут сразу.
- safe — sf_mode=safe: action would_block, решение логируется, жёсткой блокировки нет (удобно для калибровки).
Начинайте с safe на боевой кампании, если боитесь отсечь легитимный datacenter/VPN-трафик, затем переходите к normal.
Smart Traffic и SDK
Если на ссылке smart_traffic=1: выдаётся _cb_token, визит pending, пиксели отложены до клиентского confirm через API Smart Filter. Delay по умолчанию ≈ 5 с (1–60). События на ссылке: click, scroll, form_submit, custom; логика AND/OR.
- Без confirm пиксели не должны считаться успешно отработанными.
- pending старше ~1 часа может уйти в bot_filter (AudienceController).
- Нужен кастомный домен или Smart Traffic — иначе пиксельный сценарий не используется.
Диагностика «пиксель молчит»: troubleshooting.
Статусы визита
| status | Когда |
|---|---|
| bot_server | Серверный hard-block |
| pending | Ждёт SDK / Smart Traffic |
| confirmed | SDK confirm OK (или сценарий без ST и не bot) |
| bot_filter | Долгий pending без confirm |
В отчёте клиенту разделяйте «клики в Ads» и confirmed в ClikBy — иначе спор о фроде превращается в спор о разных метриках.
Behavior и conversion_score
После confirm считается conversion_score 0–100:
- Events — 35% (события ссылки vs сработавшие)
- Frequency — 20%
- Time on site — 15% (колокол вокруг sf_ideal_time)
- Scroll — 10% (вокруг sf_ideal_scroll)
- Behavior — 10% (мышь/скролл/тайминги/touch)
- Fingerprint — 10% (в т.ч. эвристика «слишком бедный» hash)
Это оценка качества confirmed-визита, а не отдельный детектор «клик-фермы конкурента». Подозрительный fingerprint/behavior снижает score; серверный bot уже отсечён раньше.
Синк в рекламные кабинеты
Отдельный контур FraudDataCollector собирает IP из bot_decisions (blocked) и visits со статусами bot_server|bot_filter, плюс fbclid ботов. Команда ad:sync-fraud может уводить сигналы в исключения/негатив при auto_sync.
Это не ручная кнопка «пожаловаться в Meta» из UI Selena. Уточняйте у поддержки/тарифа, включён ли sync на вашем аккаунте.
Где здесь AI Selena
- Задаёт sf_mode и ideals для score.
- Показывает Learning Status / кабинет анализа.
- Retention AISelenaDaysLong участвует в cleanup PII.
- Пороги HVT/MVT/LVT и interests — UI; не подменяют таблицу сигналов выше.
Чеклист проверки
- Есть ли кастомный домен или Smart Traffic на ссылке с пикселем?
- Какой sf_mode у пользователя/ссылки? Не застряли ли в safe на проде без причины?
- Какая доля bot_server / bot_filter / confirmed за период?
- Совпадает ли гео/устройство с медиапланом?
- Не режет ли rate:limit ваши же нагрузочные тесты?
- Для ретаргета: confirm + согласие pixel_notification пройдены?