← Volver al catálogo

🔥 Meta Fatigue Detector (fatiga creativa de ads)

Archivo: agentes/marketing/meta-fatigue-detector.ts · Plist: com.rifai.meta-fatigue · Horario: Cada hora (StartInterval 3600s)

Qué hace

Vigila los anuncios ACTIVE de Meta cada hora y detecta fatiga creativa. Guarda un histórico de métricas por ad y si un anuncio tiene frecuencia >2.0 y su CTR ha caído más de un 30% respecto a hace ~3 días, lo marca como "quemado". Cuando hay ads en fatiga avisa por el router (evento meta_fatigue), que cruza a Maya (Meta) y a Mario (creativo, porque hay que renovar el creativo), con recomendaciones de acción.

Cómo funciona

1. Carga .env y el histórico data/meta-ads-history.json.

2. GET /{ACCT}/ads con insights last_7d (spend, impressions, clicks, ctr, frequency) solo de ads ACTIVE.

3. Por ad: registra snapshot {ts, ctr, freq, spend}; busca un snapshot de hace >72h para calcular el cambio de CTR.

4. Detección: freq > 2.0 && ctrChange < -0.3 → fatigado.

5. Guarda histórico (recorta a 30 puntos por ad) y, si hay fatigados, notifica (meta_fatigue).

Datos/APIs

  • Meta Graph API v21.0 (ads + insights).
  • notify-router → evento meta_fatigue (Maya + Mario).
  • Vars .env: META_ACCESS_TOKEN, META_AD_ACCOUNT_ID.

Cómo probarlo

cd /Users/user/rifai-agents && npx tsx agentes/marketing/meta-fatigue-detector.ts

Espera: nº de ads activos y, por cada uno, freq X · CTR Y% con el cambio (o "sin histórico" la primera vez). Si detecta fatiga, lista los ads quemados y envía alerta. Necesita ≥2 ejecuciones separadas >72h para tener histórico real. Solo lee y alerta, no pausa ads.

Si se rompe / recuperar

launchctl unload ~/Library/LaunchAgents/com.rifai.meta-fatigue.plist
launchctl load   ~/Library/LaunchAgents/com.rifai.meta-fatigue.plist
  • Logs: /Users/user/rifai-agents/logs/meta-fatigue.log
  • Histórico: data/meta-ads-history.json (borrarlo reinicia las comparativas).

Cómo replicarlo

  • Pull horario de insights de ads ACTIVE.
  • Histórico JSON por ad (últimos 30 snapshots).
  • Regla de fatiga (freq>2.0 + caída CTR>30% vs >72h).
  • Cross-talk vía router a Maya+Mario. No ejecuta acciones sobre la cuenta (solo avisa).