Puntos clave
- El fraude/basura se captura en cadena: isBot en servidor → (opcional) Smart Traffic SDK → estados visit → conversion_score.
- Señales del servidor: UA vacío, bot WhichBrowser/DeviceDetector, patrones headless, sin Accept/Accept-Language, IP de datacenter, >30 clics/60 s desde una IP.
- safe = solo log would_block; soft (ip:/rate:) con Smart Traffic puede seguir adelante (soft_pass).
- AI Selena define el perfil de score y sf_mode; los umbrales HVT por sí mismos no banean clics — véanse los artículos sobre umbrales y «no hace».
Tres capas de protección
- Сервер — antes de servir la página/el redirect: isBot, prefetch skip, escritura bot_server.
- SDK de cliente — con Smart Traffic: delay, eventos, fingerprint, behavior, PoW/challenge, confirm.
- Analítica de calidad — estados, Audience, conversion_score; opcionalmente FraudDataCollector → exclusions.
En el escenario normal, los píxeles deben disparar para visitas confirmed (y con consentimiento), no para un redirect hard-bot sin tracking.
isBot en servidor
RedirectController::isBot devuelve un código de causa o null. Causas típicas:
| Código / grupo | Условие |
|---|---|
| ua:empty | User-Agent vacío |
| 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 | Sin Accept-Language |
| header:no-accept | Sin Accept |
| ip:datacenter | IP de los rangos config/datacenter_ips |
| rate:limit | >30 clics en 60 segundos desde una IP |
Prefetch/prerender (Sec-Purpose) — no se crea una visita. Esto no es «fraude», sino una solicitud técnica previa del navegador.
Hard vs soft vs safe
- Hard-bot — la mayoría de causas ua:/header: → en modo no-safe: blocked, redirect sin tracking/pixels, visit bot_server, stats bot.
- Soft-bot — reason empieza por ip: o rate:. Con smart_traffic activo y no-safe es posible soft_pass: siguen hacia SDK/fingerprint, no se cortan de inmediato.
- safe — sf_mode=safe: action would_block, la decisión se registra, no hay bloqueo duro (útil para calibrar).
Empiece con safe en una campaña en producción si teme cortar tráfico legítimo de datacenter/VPN, luego pase a normal.
Smart Traffic y SDK
Si el enlace tiene smart_traffic=1: se emite un _cb_token, la visita queda pending, los píxeles se aplazan hasta el confirm del cliente vía API Smart Filter. Delay por defecto ≈ 5 s (1–60). Eventos en el enlace: click, scroll, form_submit, custom; lógica AND/OR.
- Sin confirm, los píxeles no deben contarse como disparados con éxito.
- un pending de más de ~1 hora puede pasar a bot_filter (AudienceController).
- Hace falta un dominio personalizado o Smart Traffic — si no, el escenario de píxel no se usa.
Diagnóstico «el píxel calla»: troubleshooting.
Estados de visita
| status | Когда |
|---|---|
| bot_server | Hard-block de servidor |
| pending | Espera SDK / Smart Traffic |
| confirmed | SDK confirm OK (o escenario sin ST y no bot) |
| bot_filter | Pending largo sin confirm |
En el informe al cliente, separe «clics en Ads» y confirmed en ClikBy — si no, la disputa sobre fraude se vuelve una disputa sobre métricas distintas.
Behavior y conversion_score
Tras el confirm se calcula conversion_score 0–100:
- Events — 35% (eventos del enlace vs los que se dispararon)
- Frequency — 20%
- Time on site — 15% (campana alrededor de sf_ideal_time)
- Scroll — 10% (alrededor de sf_ideal_scroll)
- Behavior — 10% (ratón/scroll/tiempos/touch)
- Fingerprint — 10% (incl. la heurística de hash «demasiado pobre»)
Es una puntuación de calidad de una visita confirmed, no un detector aparte de «granja de clics del competidor». Un fingerprint/behavior sospechoso baja el score; el bot de servidor ya se cortó antes.
Sincronización con cuentas publicitarias
Un circuito aparte FraudDataCollector recoge IP de bot_decisions (blocked) y visits con estados bot_server|bot_filter, más bots fbclid. El comando ad:sync-fraud puede llevar señales a exclusiones/negativos si auto_sync está activo.
No es un botón manual «denunciar a Meta» en la UI de Selena. Confirme con soporte/su tarifa si el sync está activo en su cuenta.
Dónde entra AI Selena
- Define sf_mode e ideals para el score.
- Muestra Learning Status / el gabinete de análisis.
- Retention AISelenaDaysLong participa en el cleanup de PII.
- Los umbrales HVT/MVT/LVT e interests son UI; no sustituyen la tabla de señales de arriba.
Lista de comprobación
- ¿Hay dominio personalizado o Smart Traffic en el enlace con el píxel?
- ¿Qué sf_mode tiene el usuario/enlace? ¿Se quedaron en safe en prod sin motivo?
- ¿Qué proporción de bot_server / bot_filter / confirmed en el periodo?
- ¿Coincide geo/dispositivo con el mediaplan?
- ¿rate:limit está cortando sus propias pruebas de carga?
- Para retargeting: ¿se han superado confirm + el consentimiento pixel_notification?