---
name: vita-client-ads
description: "Revisar los anuncios de Meta y dejar sugerencias: Cruza lo que gasta cada anuncio con quién reservó y pagó en Vita, y deja las mejoras listas para aprobar. Lee la cuenta publicitaria de Meta de un centro y el recorrido de esas personas en Vita (escribieron, reservaron, vinieron, pagaron). Diagnostica si se puede medir, dónde se pierde la gente y qué anuncio rinde, y deja hasta cuatro Sugerencias en Vita con el número que sostiene cada una. Nunca cambia nada en Meta: el centro aprueba o rechaza con un clic. Funciona con cualquier asistente que tenga la conexión Vita y lectura de la cuenta de Meta."
---

# Revisar los anuncios de Meta de un centro y dejar sugerencias en Vita

Revisa la cuenta publicitaria de Meta (Facebook e Instagram) de **un** centro, cruza lo que gasta cada anuncio con lo que pasa después en Vita (quién escribió, quién reservó, quién vino, quién pagó) y deja las mejoras como **Sugerencias** en Vita. El dueño del centro las aprueba o rechaza con un clic.

Funciona con cualquier asistente que tenga dos cosas: la conexión MCP de Vita del centro y acceso de lectura a su cuenta de Meta. Sirve para Claude, ChatGPT, Codex u otro cliente compatible.

**El asistente nunca cambia nada en Meta.** Solo lee. Lo que propone queda en Vita, esperando que una persona del centro diga que sí. Esa persona hace el cambio en Meta, o Vita lo aplica si la acción lo permite.

## Lo que necesitas

1. **La conexión Vita del centro.** Si todavía no está, sigue primero la guía «Conectar Vita y elegir qué hacer». Comprueba que responde: llama `get_current_context` y confirma el nombre del centro.
2. **Lectura de la cuenta de Meta del centro**, de una de estas formas:
   - un conector de Meta Ads en tu asistente, conectado con un usuario que vea la cuenta del centro; o
   - un token de acceso de Meta (idealmente de un usuario del sistema del Business Manager del centro), guardado como variable de entorno `META_ACCESS_TOKEN` o en el llavero del computador. **Nunca lo pegues en un archivo ni lo repitas en el chat.** Si alguien lo pegó en una conversación, recomienda rotarlo.
3. **El id de la cuenta publicitaria** (`act_...`). Si el centro conectó su cuenta en Vita, `admin_paid_media_connection_status` lo muestra. Si no, pídeselo al dueño.

## Reglas que no se negocian

- **Una sola cuenta.** Trabaja solo con la cuenta publicitaria de este centro. Si el token o el conector ven otras cuentas, no las leas. Si el id no calza con el que dio el dueño o con el de Vita, para y pregunta.
- **Solo lectura en Meta.** No pauses, actives, edites presupuestos ni crees nada en Meta, aunque el token lo permita. Todo cambio se propone como Sugerencia.
- **Cada número viene de una lectura.** Cada cifra que pongas en una sugerencia sale de Meta o de Vita en esta misma corrida. Si no la leíste, no la escribas.
- **Con pocos datos, dilo.** Un anuncio con menos de 10 conversaciones o menos de 7 días al aire no alcanza para concluir. Escribe «pocos datos, no concluyente» en vez de proponer.
- **Presupuesto de a poco.** Las subidas o bajadas son de 20 % como máximo por paso. Un cambio más grande reinicia el aprendizaje de Meta. Si conviene más, propón pasos con fecha («$3.600 hoy, $4.300 en 4 días si el costo sigue bajo $500»).
- **Nada se borra.** Se pausa.
- **Lenguaje del centro.** Español simple, sin nombres de campos ni códigos en títulos y textos. Se dice «persona», «cliente» o «alumno», y «reserva» o «clase».

## Paso a paso

### 1. Mirar lo que ya está propuesto

Llama `admin_list_suggestions` con `view: "pending"` y luego con `view: "history"`. Anota:

- lo que ya está pendiente, para no repetirlo;
- lo que el centro **rechazó en los últimos 30 días**, para no volver a proponerlo;
- lo aprobado, para revisar en el paso 5 si funcionó.

Vita acepta como máximo 5 sugerencias abiertas de esta fuente por centro. Si ya hay varias pendientes, propón menos.

### 2. Leer Meta

Lee a nivel de **anuncio**, en dos ventanas: últimos 7 días y últimos 30 días. Agrega una lectura por semana (`time_increment=7`) para ver tendencias. Por cada anuncio necesitas:

- campaña, conjunto y anuncio (nombre e id), estado y presupuesto diario del conjunto;
- gasto, impresiones, frecuencia, CTR y CPM;
- conversaciones iniciadas (`onsite_conversion.messaging_conversation_started_7d`) o la acción que use la campaña;
- el destino: número de WhatsApp (`promoted_object.whatsapp_phone_number` del conjunto) o sitio web;
- la segmentación del conjunto (zona, radio, edades, público).

Si usas la API de Meta directamente, estas lecturas bastan (cambia `ACT` por el id de la cuenta):

```bash
G=https://graph.facebook.com/v21.0
curl -s -G "$G/ACT/adsets" --data-urlencode "fields=id,name,campaign_id,effective_status,daily_budget,optimization_goal,destination_type,promoted_object,targeting,end_time" --data-urlencode "limit=200" --data-urlencode "access_token=$META_ACCESS_TOKEN"
curl -s -G "$G/ACT/ads" --data-urlencode "fields=id,name,adset_id,effective_status,creative{body,object_type,call_to_action_type}" --data-urlencode "limit=200" --data-urlencode "access_token=$META_ACCESS_TOKEN"
curl -s -G "$G/ACT/insights" --data-urlencode "level=ad" --data-urlencode "date_preset=last_30d" --data-urlencode "fields=ad_id,ad_name,adset_name,campaign_name,spend,impressions,frequency,ctr,cpm,actions" --data-urlencode "limit=200" --data-urlencode "access_token=$META_ACCESS_TOKEN"
```

Usa siempre `-G` con `--data-urlencode`: las llaves `{}` sin codificar rompen la llamada.

### 3. Leer Vita

- `admin_lead_journey` con `source: "ads"` y el mismo período: personas que llegaron por cada anuncio (por id de anuncio), cuántas quedaron con ficha, reservaron, asistieron y pagaron, y cuánto tardó la respuesta.
- `admin_paid_media_report` si el centro conectó su cuenta en Vita: gasto e ingresos cobrados por campaña.
- `admin_metrics_trial_users` o `admin_metrics_plan_purchases` si necesitas confirmar compras del período.

Ten presente lo que Vita **no** ve:

- si un anuncio manda a un WhatsApp que no está conectado a Vita, esas personas no aparecen;
- si el centro no marca asistencia, «asistieron» queda bajo;
- si registra pagos en $0, los ingresos quedan en cero aunque haya ventas.

### 4. Diagnosticar, en este orden

1. **¿Se puede medir?** Cada anuncio activo debe mandar a un WhatsApp o a una página conectada a Vita. Un anuncio que gasta y manda a otro número es el primer problema: Vita no puede saber qué pasó con esa gente.
2. **¿Dónde se pierde la gente?** Compara conversaciones en Meta con personas en Vita, y personas con reservas. Si muchas escriben y pocas reservan, el problema está en la conversación, no en el anuncio. Dilo así, aunque no sea una sugerencia de anuncios.
3. **¿Qué anuncio rinde?** Compara el costo por conversación y por reserva entre anuncios del mismo producto. Busca:
   - un anuncio que cuesta el doble o más que el mejor comparable, con datos suficientes: reemplazarlo o pausarlo;
   - un anuncio barato y estable, con frecuencia baja: subirle presupuesto de a 20 %;
   - frecuencia sobre 3 o costo subiendo semana a semana: cambiar la imagen o el video;
   - una campaña de promoción que sigue activa después de que la promo terminó: pausarla;
   - una segmentación muy amplia para un centro de barrio (todo el país, sin radio): acotar la zona;
   - promociones mostradas a gente que no conoce el centro: sumar un público con la base de clientes.

### 5. Revisar lo que se aprobó antes

Para cada sugerencia aprobada en corridas anteriores, mira si el número que la justificó mejoró. Si no mejoró, dilo en el informe y no insistas con lo mismo.

### 6. Subir las sugerencias

Usa `admin_propose_suggestion`. Máximo 4 por corrida, y solo las que tengan datos suficientes.

- **`meta_ad.pause`** o **`meta_ad.activate`** con `{ adId }` cuando la acción es pausar o reactivar un anuncio concreto y la cuenta está conectada en Vita.
- **`manual.task`** con `area: "campaigns"` para todo lo demás: mover presupuesto, reemplazar un anuncio, cambiar la imagen, ajustar la zona o crear un público.
  - `instructions`: qué hacer en Meta, con los nombres exactos de campaña, conjunto y anuncio.
  - `checklist`: de 2 a 4 pasos, incluido cuándo revisar el resultado.
  - `taskKey`: una clave estable para no duplicar. Debe tener la forma `palabra:id`, con un solo «:», por ejemplo `meta_ad_swap:120237188404330549` o `meta_adset_budget:120236419861000549`. Las claves con dos «:» se rechazan.
- `title`: imperativo y específico, con el nombre del anuncio («Cambiar el anuncio «AD 3» de fútbol por el anuncio «5»»).
- `summary`: una frase con el número que importa.
- `reasoning`: por qué, con los números y su comparación. Incluye el riesgo o la condición para volver atrás.
- `evidence`: de 3 a 6 filas con las cifras leídas («Costo por conversación» → «$714»).

Si una sugerencia vuelve `rejected_invalid`, corrige solo lo indicado y vuelve a intentar una vez. Si vuelve `duplicate`, ya estaba: no crees otra. Si la quieres cambiar, envíala con la misma `taskKey`: Vita reemplaza la anterior.

### 7. Informar

Responde en pocas líneas:

1. lo más importante que encontraste, con su número;
2. las sugerencias que subiste, con su link;
3. lo que no propusiste por falta de datos;
4. si el problema principal está fuera de Meta (por ejemplo, en la conversación), dilo en una frase.

## Si lo corres todos los días

Vita también revisa los anuncios por su cuenta cuando el centro tiene la cuenta conectada y la revisión de anuncios encendida. Si corres esta guía el mismo día, revisa primero las sugerencias pendientes para no duplicar.
