Stack de auditoría
4 pasos para tener Meta Ads en vivo
Una vez que conectás esto, la auditoría de campañas deja de ser un trabajo de tarde — es una pregunta de 30 segundos.
Business ManagerToken de usuarioExtender a 60 días
Vas a Business Manager → System Users → creás un token con permisos ads_read + business_management. Por default los tokens duran 1-2 horas. Lo extendés a 60 días con un endpoint específico de Meta. Lo guardás en una variable de entorno (nunca en el código).
Pro tip
Antes de que el token expire, Meta no avisa. Anotalo en agenda con 7 días de anticipación. Cuando renovás, todo el stack vuelve a funcionar instantáneamente.
GET /me/adaccountsFilter por status: ACTIVEIdentificar la principal
Probablemente tengas más de una cuenta publicitaria. Es normal — agencias, cuentas viejas, cuenta backup. La API te las trae todas. Filtrás por las activas e identificás cuáles te importan analizar. En Wayfarer trabajamos con 2 cuentas en paralelo.
Qué se desbloquea
Análisis cruzado entre cuentas. Si una cuenta vieja sigue gastando con mal ROAS, lo detectás. Si todo el budget de una se acaba mientras la otra tiene fondo, redistribuís.
GET /act_X/insightslevel=campaignfields=spend,actions,cpm,frequency
Para cada cuenta, traés insights con level=campaign y time_increment=1 para ver día a día. Las métricas clave: spend, cpm, cpc, frequency, impressions, clicks, y dentro de actions los messaging_conversation_started + messaging_first_reply. Con eso reconstruís ROAS, CR mensaje→venta y costo por mensaje.
El detector de fatigue: calcular frequency_actual / frequency_día_1. Si esa relación supera 2x, el creativo se está cansando. Cruzá con ctr_actual / ctr_día_1 — si bajó >20%, fatigue confirmado. Cambiar creativo antes de que el ROAS se rompa, no después. La regla en Wayfarer: revisar fatigue cada 5 días en campañas activas.
Qué decisiones tomamos
Qué campaña apagar (alto CPL + bajo ROAS). Cuál escalar (ROAS alto + presupuesto justo). Cuándo cambiar creativo (frecuencia >3 + CTR cayendo).
Filter campaign_namePor convención: 'MENSAJES' + 'N0'CPL aislado
Esto es clave. Si mezclás todas las campañas, el costo por mensaje promedio te miente — porque las campañas de venta también generan algunos mensajes incidentales. Para tener el CPL real necesitás aislar la campaña pensada solo para mensajes. Por convención en Wayfarer la nombramos con N0 MENSAJES en el título — el "N0" indica el nivel del funnel (top of funnel) y "MENSAJES" su objetivo. Tu naming puede ser otro mientras sea consistente y filtrable.
Cómo se calcula bien: spend de campaña N0 MENSAJES dividido mensajes generados por esa campaña en particular. NO el total de spend dividido total de mensajes (eso te da un promedio que mezcla peras con manzanas). Para detectar mensajes mirá actions.action_type que contengan messaging_conversation_started o messaging_first_reply.
Por qué importa
El CPL de la campaña de mensajes es la métrica más sensible — sube cuando el creativo se cansa y baja cuando refrescás. Si mezclado con todas las demás se diluye y no detectás el problema.