propuesta · agosto 2026

Producto · admin · Meta Ads

Los anuncios entran al admin, el gasto no se escapa.

El equipo estudió el curso completo de Meta Ads —18 clases, 18 meetings con transcript— y mapeamos cada capacidad contra la Marketing API v25.0. Esta es la traducción visual: un módulo del admin de Mogos donde ver campañas es lectura segura y crearlas es un flujo agéntico con guardas — siempre en pausa, siempre con un humano aprobando, y con una interfaz que declara qué es API, qué es criterio y qué está bloqueado por Meta.

Cliente
Mogos Group · admin
Base
docs/meta-ads · 18 clases
API
Marketing API v25.0
Regla
Sin gasto sin humano

00La tesis

La interfaz declara la frontera

El mapa curso→API dejó una lección incómoda: no todo lo que enseña el curso vive en la API. Hay capacidades con endpoint verificado, hay criterio que ningún endpoint reemplaza, y hay cosas que Meta bloqueó por versión o dejó solo en Ads Manager. En vez de esconder esa frontera, el módulo la firma en cada control con cinco sellos: tres dicen el poder del control, dos el origen del dato. Es la regla C13 hecha interfaz: nada finge llamar a Graph, y el «quién» nunca pretende venir de Meta.

API v25.0

Este control ejecuta un path verificado del mapa (`02-api-map.md`). El sello lleva el endpoint al lado — si no está en el mapa, el botón no existe.

Humano

Zona de criterio: aprobar gasto, escribir ángulos, narrar resultados. El admin da estructura y datos; la decisión queda registrada con nombre y hora.

Bloqueado

Meta lo cerró: por versión (ASC legacy desde v24), por producto (solo Ads Manager) o por política. La UI lo dice con la cita — nunca lo disfraza de botón.

First-party

Dato que ya es de Mogos: la conversación en Bandeja, el cliente, la cotización, la orden. Meta no entrega personas — el «quién» vive aquí, y por eso es el activo.

PostHog

Comportamiento web con consentimiento: UTMs, fbclid, landing, funnel cotización→orden (`apps/client/lib/posthog/`). Sin opt-in no hay fila — y la UI lo dice.

Fuente: docs/meta-ads/02 y 05 · counts: api_mapped=18 · not_in_api=13 · el «quién» nunca sale de Graph

02Home del módulo

Salud primero, métricas después

Lo primero que se ve no es una campaña: es si el sistema está sano para operar. El GATE V completo (los 8 checks de `03-quality-gates.md`) con evidencia, la cuenta conectada con sus scopes, el gasto contra el tope, la fase de aprendizaje de cada campaña — y el kill switch a un click de distancia, siempre.

admin.mogos.com / meta-ads
Comunicación / Meta AdsSandbox listoLiveAO

Gasto · 7d API

$1,203.40

mes: $4,812.40 de $6,000 · spend_cap

Resultados Mogos · 7d First-party

12 · 3 · 9

cotizaciones · órdenes · chats WA atribuidos

Costo por cotización 7d Humano

$41.20

▼ 12% · CPA Meta de referencia: $7.12

Gasto con atribución PostHog

72%

28% ciego: sin UTM o sin consentimiento

GATE V · lectura autorizada 8 / 8

  • V1App Business en el BM de Mogos
  • V2Cuenta act_1029384756 documentada
  • V3System user solo ads_read · prueba negativa 12/08
  • V4Token fuera del repo · vault
  • V5Acceso Full · 500+ llamadas/15d
  • V6Versión pineada v25.0
  • V7Log de toda llamada Graph
  • V8Freno de rate limit al 80%

Aprendizaje API

  • SUCCESSVENTAS-VE-LOCKER-2026-08
  • LEARNINGLEADS-VE-AEREO-2026-08 · 31/50 conv.
  • SUCCESSVENTAS-VE-CATALOGO-2026-08

Con menos de ~50 conversiones/semana el sistema no sale de aprendizaje — clase 03.

Kill switch Humano

Pausa todas las campañas en lote (POST /{campaign_id} · status PAUSED). Pide confirmación con nombre. Último simulacro: 12/08 · 3 min 40 s.

Visible en cada pantalla del módulo — nunca a más de un click.

Pausar todo ahora

Clases 01 · 03 · 10 · Gates V1–V8 · Fases 0–1 de 04-agentic-path.

03Campañas

La lista lee como el negocio

Una fila por campaña con las métricas que el curso enseñó a leer (clase 06): CTR para el creativo, CPC para el costo de atención, CPA para la verdad, ROAS para el negocio y frecuencia para la fatiga. La nomenclatura de la clase 12 hace que el nombre solo ya diga objetivo, país, producto y mes.

admin.mogos.com / meta-ads / campanas
Meta Ads / CampañasAO
Periodo · últimos 7 días date_preset Objetivo · todos Estado · todos Generar reporte asíncrono API Nueva campaña — queda en pausa
CampañaObjetivoPresupuestoEstadoAprendizajeGastoCTRCPCCPAROASFrec.
VENTAS-VE-LOCKER-2026-08OUTCOME_SALESCBO $60/díaActivaSUCCESS$1,240.102.1%$0.38$6.903.4×1.8
LEADS-VE-AEREO-2026-08OUTCOME_LEADSABO $25/setActivaLEARNING$486.001.6%$0.52$3.101.3
VENTAS-VE-CATALOGO-2026-08OUTCOME_SALESCBO $45/díaActivaSUCCESS$3,086.302.4%$0.31$7.402.9×2.1
MENSAJES-VE-WHATSAPP-2026-09CTWAABO $18/setEn pausa · espera aprobación$0.00
VENTAS-VE-CATALOGO-2026-09OUTCOME_SALESCBO $45/díaMeta revisa$0.00

Lectura: GET /act_{id}/campaigns + GET /{campaign_id}/insights · header de uso BUC al 34% · datos cada 5 min.

Clases 05 · 06 · 11 · 12 — leer campañas con criterio.

04Detalle

Campaña → conjunto → anuncio, sin perderse

La jerarquía de Meta en un solo panel: a la izquierda el árbol con estado y aprendizaje por nivel; a la derecha los insights del nivel seleccionado con breakdowns, ventana de atribución y el trabajo asíncrono cuando el reporte es grande.

admin.mogos.com / meta-ads / campanas / ventas-ve-locker-2026-08
Campañas / VENTAS-VE-LOCKER-2026-08ActivaAO

Estructura API

  • VENTAS-VE-LOCKER-2026-08 CBO $60
    • Broad VE 18–65 SUCCESS
      • — Locker gancho dolor · Activo
      • — Locker prueba social · Activo
      • — Locker contraste · Pausado
    • Remarketing web 30d SUCCESS
    • Lookalike compradores 1% LEARNING

Duplicar sin reiniciar aprendizaje: POST /{adset_id}/copies — práctica de la clase 15.

Insights · conjunto «Broad VE 18–65»

Ventana · 7d clic / 1d vista action_attribution_windows Corte · edad breakdowns=age Por día time_increment=1
18–2422%
25–3441%
35–4424%
45–549%
55+4%

Reporte grande en cola API

job report_run_id 664102938 · 68% · se consulta cada 30 s · expira a los 30 días

Clases 06 · 13 · 15 — diagnóstico por nivel.

05Canales · la puerta

Entras a Instagram y estás en Instagram

La pregunta de Carlos tiene respuesta de dos capas. ¿Se puede ver por canal con la API? Sí, derivándolo: no existe GET /instagram/campaigns ni «el canal» como carpeta — el enum documentado de publisher_platforms es facebook · instagram · threads · messenger · audience_network, y WhatsApp ni siquiera está ahí: es destino (CTWA). Por eso cada canal es una casa que Mogos arma con tres materiales: insights rebanados por plataforma (API), destino del anuncio (API) y lo first-party que ya es nuestro. Una habitación por pregunta — no un filtro sobre la tabla de campañas.

admin.mogos.com / meta-ads / canales
Meta Ads / CanalesAO

Instagram API · derivado

@mogosgroup · instagram_user_id

$201.90
gasto 7d
3 · 1
bandeja: atendidas · por atender
3
campañas con entrega
6
cotizaciones vía UTM
Entrar a Instagram

WhatsApp First-party destino

+58 412 MOGOS · Bandeja de Entrada

$126.00
gasto CTWA 7d
4 · 2
bandeja: atendidas · por atender
1
campaña CTWA
6 + 3
chats con · sin referral
Entrar a WhatsApp

Facebook API · derivado

$181.30 · 4 campañas · 3 cotizaciones

Bandeja: este canal no existe en Conversation — el enum trae WHATSAPP · INSTAGRAM · TIKTOK.

Messenger API

$0.00 · sin campañas CTM activas

Bandeja: sin canal en Conversation — si algún día entra, la casa lo contará.

Audience Network · Threads

$28.80 AN · Threads: en el enum, sin gasto aún

La casa se arma con GET /{nivel}/insights?breakdowns=publisher_platform + destino del creative + Bandeja/PostHog. Enum citado de publisher_platforms: facebook · instagram · threads · messenger · audience_network (placement-targeting, v25.0) — WhatsApp no está: entra por destino.

Enums citados: publisher_platforms · instagram_positions · whatsapp_positions:"status" · messenger_positions (doc placement-targeting v25.0).

06Canales · Instagram

La casa Instagram: todo lo que es IG, en un solo lugar

Dentro del canal hay habitaciones, no un filtro: resumen, campañas con su trozo IG, creativos que corrieron ahí, posiciones (el enum real: stream · story · reels · explore…), quién llegó con utm_medium=instagram, y la señal que alimenta la entrega. El Resumen junta una vista de cada habitación.

admin.mogos.com / meta-ads / canales / instagram
Canales / InstagramCon entrega 7dAO
@mogosgroup identidad: GET /{PAGE_ID}/instagram_accounts · creative instagram_user_id $201.90 gasto 7d6 cotizaciones2 órdenes
  • La casa
  • Resumen
  • Campañas y anuncios
  • Creativos que corrieron
  • Posiciones
  • Quién llegó
  • Señal y públicos

Qué funcionó aquí API · trozo IG

CampañaGasto IG / totalCotiz. IG
VENTAS-VE-LOCKER-2026-08
también en Facebook
$142.10
de $412.00
5
VENTAS-VE-CATALOGO-2026-08$59.80
de $618.40
1

El badge es la honestidad Advantage+: Meta eligió el sitio; aquí ves el trozo, el total vive en la campaña.

Posiciones API

stream38%
reels31%
story24%
explore7%

Nombres del enum real (stream · story · explore · explore_home · reels · profile_feed · ig_search · profile_reels); la barra pinta lo que Insights devuelva.

Creativos que corrieron aquí

Locker · gancho dolor + carrusel reels · stream Activo
Locker · prueba social (video) story Pausado por regla

Vista previa por posición: GET /{ad_id}/previews.

Quién llegó desde IG PostHog

Andrea V. · utm_medium=instagram → cotización #C-2214
visitante an-77c1 · navegó y salió

El «quién» de IG es UTM nuestro — Meta no entrega personas por canal.

La Bandeja de esta casa First-party 3 atendidas 1 por atender

DMs de Instagram en Conversation (channel=INSTAGRAM). «Por atender» = la regla real del inbox: activa, en modo humano, y lo último lo dijo el cliente (lastUserMessageAt ≥ lastMessageAt) o hay handoff pendiente.

Abrir la cola → /inbox?channel=INSTAGRAM&filter=unanswered

Humano Instagram no se gestiona aparte: el algoritmo reparte entre casas. Lo que sí es de esta casa: sus creativos, sus posiciones y su gente.

Identidad IG del mapa (gap-agent Page/IG) · breakdowns VERIFIED · enum de posiciones citado.

07Canales · WhatsApp

La casa WhatsApp: el canal de Mogos, no un Ads Manager falso

WhatsApp no es un publisher_platform (el enum citado no lo trae) — es destino. Su casa se arma con lo que Mogos ya tiene: campañas CTWA, los creativos que llevan al chat, la Bandeja con sus hilos (con y sin referral), y las plantillas que usamos alrededor del anuncio. Existe además whatsapp_positions: "status" como targeting documentado — si algún día pautamos en Status, la habitación ya tiene percha.

admin.mogos.com / meta-ads / canales / whatsapp
Canales / WhatsAppFirst-partyAO
+58 412 MOGOS destino CTWA · Bandeja de Entrada del admin $126.00 gasto CTWA 7d4 atendidas2 por atender
  • La casa
  • Resumen
  • Campañas CTWA
  • Conversaciones
  • Plantillas de ads
  • Quién llegó

Campañas que llevan aquí API · destino

CampañaGasto 7dChats
MENSAJES-VE-WHATSAPP-2026-09 Activa$126.006

Costo por chat con cliente: $21.00 — la vara elegida por ops para este canal.

Conversaciones de esta casa First-party

María G. CTWA · cliente #4471 · «lo del locker…»
+58 424 ··· 1187 CTWA sin cliente aún
+ 3 chats sin referral — se atienden igual; figuran como «origen desconocido»
4 atendidas2 por atenderregla del inbox: activa + humano + último mensaje del cliente, o handoff pendiente (unanswered)

Cada hilo abre en la Bandeja real; la cola completa: /inbox?channel=WHATSAPP&filter=unanswered. Esta casa no duplica el inbox: lo enlaza.

Plantillas alrededor del anuncio First-party

ctwa_bienvenida_locker UTILITY · es Aprobada
ctwa_seguimiento_cotizacion UTILITY · es En revisión Meta

Las plantillas viven en el WABA de Mogos (registro propio) — el anuncio abre la puerta, la plantilla continúa la conversación.

Status, por si acaso API

La doc de targeting trae whatsapp_positions: "status". Hoy Mogos no pauta ahí: la habitación existe, vacía y dicha — sin gasto, sin filas.

Bloqueado Lead ads dentro de Messenger sigue fuera (v24+); y no hay «Ads Manager de WhatsApp» que imitar — esta casa es de Mogos.

Clase 16 · CTWA VERIFIED · whatsapp_positions citado · Bandeja y plantillas = activo Mogos.

08Resultados Mogos · qué funcionó

Éxito no es CTR: es en qué se volvió

Ads Manager rankea por métricas de Meta. Mogos rankea por lo que entró al negocio: cotizaciones, órdenes, conversaciones que se volvieron cliente. La definición es nuestra y está a la vista — y al abrir una campaña no cae un dump de columnas: cae el cruce, la cadena completa de gasto a margen.

admin.mogos.com / meta-ads / resultados
Meta Ads / Resultados MogosLiveAO

Éxito para Mogos = Humano

Costo por cotización enviadaCosto por ordenCosto por chat WA con cliente CTR y likes no rankean aquí — son diagnóstico, no éxito.
CampañaGasto 7dCotizacionesCosto / cotizaciónCPA MetaAprendizajeFuente del «quién»
VENTAS-VE-LOCKER-2026-08$412.009$45.78$6.90SUCCESSPostHog
MENSAJES-VE-WHATSAPP-2026-09$126.006 chats$21.00LEARNINGFirst-party
VENTAS-VE-CATALOGO-2026-08$618.403$206.13$7.40SUCCESSsin UTM · ciego

El cruce · VENTAS-VE-LOCKER-2026-08

Dos verdades, cada una con su fuente: CPA Meta $6.90 (purchase del píxel) · costo por cotización Mogos $45.78 (funnel first-party). El cruce no las mezcla: las enfrenta.

Clases 06 · 13 · 14 — leer con criterio; el ranking es de negocio.

09Resultados Mogos · dónde

Instagram, Facebook o donde Meta decidió

El «dónde» agregado sale de Insights con breakdowns=publisher_platform,platform_position (VERIFIED; también existen device_platform e impression_device). El «quién por plataforma» solo existe si el UTM lleva la plataforma — Meta no da personas por placement, y la pantalla lo dice.

admin.mogos.com / meta-ads / resultados / donde
Resultados Mogos / Dónde corrióAO

VENTAS-VE-LOCKER-2026-08 · gasto por plataforma y posición API

Facebook44%
Instagram49%
Aud. Network7%
Plataforma · posiciónGastoClicsCotizaciones*
facebook · feed$181.302043
instagram · stream$142.102315
instagram · story + reels$59.80881
audience_network · classic$28.80410

*Cotizaciones vía UTM con utm_medium={publisher} — lectura PostHog, no de Meta. Nombres tomados del enum de targeting citado (placement-targeting v25.0: facebook · instagram · threads · messenger · audience_network; posiciones feed/stream/story/reels/…); los valores de Insights se pintan tal como los devuelva la API.

¿Quién eligió el sitio?

Meta eligió Advantage+ placements = campos de placement omitidos (así está en el mapa).
Posición fijada nosotros escribimos publisher_platforms en el conjunto.

Personas por placement Bloqueado

No existe GET /ad/clicked_users. Meta entrega agregados; el feed de personas es siempre tubería Mogos.

Clase 09 (placements broad) · 13 (breakdowns) — el dónde agregado es de Meta; el dónde con nombre es nuestro.

10Resultados Mogos · quién (web)

Del clic a la cotización, con nombre cuando lo hay

PostHog ya vive en la página de Mogos (apps/client/lib/posthog/: provider, identify al login, consentimiento opt-in, funnel cotización→orden). Lo que falta —y esta pantalla asume construido— es el catálogo de atribución: utm_* + fbclid guardados en la persona. Cada fila declara si es un cliente identificado o un visitante anónimo.

admin.mogos.com / meta-ads / resultados / web
Resultados Mogos / Quién llegó · webPostHogAO
Campaña · VENTAS-VE-LOCKER-2026-08Solo con consentimiento ✓Últimos 7 días
PersonaLlegó autm_campaignfbclidIdentidadSe volvió
Andrea V./calculatorVENTAS-VE-LOCKER-2026-08user Mogos #8841Cotización #C-2214 → orden $618
visitante an-39f2/VENTAS-VE-LOCKER-2026-08anónimo · sin registronavegó 2 páginas y salió
Luis P./registerVENTAS-VE-LOCKER-2026-08nouser Mogos #9002se registró · aún sin cotizar
entrada directa/calculatorsin UTManónimocotizó — no sabemos desde qué anuncio

Lo que ya existe PostHog

Provider + identify al login + eventos Zod del funnel (calculadora, cotización, registro, envío). Replay con máscara. Token vía NEXT_PUBLIC_POSTHOG_TOKEN.

Lo que falta Por construir

Catálogo utm_* / fbclid / campaign_id en la persona y en cada evento del funnel — hoy no existe en apps/client. Sin eso, esta tabla no tiene columnas de anuncio.

Sello PostHog — comportamiento web propio; Meta nunca entrega este nivel.

11Resultados Mogos · quién (WhatsApp)

El chat que llegó desde un anuncio, dicho con pruebas

Cloud API manda en el primer mensaje de un CTWA un bloque referral (source_id, source_url, headline, ctwa_clid). La Bandeja ya existe; el hueco natural para persistirlo es Conversation.context — hoy un JSON vacío por defecto. Cuando la conversación tiene userId, el «quién» es un cliente Mogos con nombre; si no, es un teléfono en inbox. Y si no hay referral, se dice.

admin.mogos.com / meta-ads / resultados / whatsapp
Resultados Mogos / Quién llegó · WhatsAppFirst-partyAO
María G. · cliente #4471 CTWA
«Vi lo del locker, ¿cuánto sale traer un teléfono?»
anuncio: MENSAJES-VE-WHATSAPP-2026-09 · DOLOR-V1 · ctwa_clid a91…f3 · headline «¿Tu carga sigue en camino?»
Abrir en Bandeja
+58 424 ··· 1187 CTWA sin cliente aún
«info del envío marítimo por favor»
anuncio: MENSAJES-VE-WHATSAPP-2026-09 · el teléfono vive en inbox; si se registra, el hilo hereda el cliente
Abrir en Bandeja
+58 412 ··· 8821
Llegó al WhatsApp — no sabemos de qué anuncio: el primer mensaje no trajo referral.
Abrir en Bandeja

El deep-link cierra el loop

«Abrir en Bandeja» lleva a admin.mogos.com/inbox?conversation=88412 — el hilo real, con la operadora respondiendo. El activo no duplica el inbox: lo enlaza.

Persistir el referral Por construir

El webhook de Instagram ya tipa referral de stories; el CTWA de WhatsApp aún no se guarda. Destino natural: Conversation.context (schema.prisma:2013, hoy @default("{}")).

Clase 16 (mensajes) — la conversación es el resultado; el referral es la prueba.

12Alta con guardas

El agente propone, el humano dispone

El wizard puede llenarlo una persona o el agente de Mogos — da igual: las guardas son las mismas. El payload se ve completo antes de tocar Meta, el dry-run es el default, el estado PAUSED va fijo en el código, y activar es otra acción, con otro registro. Los checks C del gate acompañan todo el flujo.

admin.mogos.com / meta-ads / campanas / nueva
Campañas / Nueva campañaDry-run activoAI
  1. Objetivo API
    VentasLeadsTráficoMensajes

    El objetivo valida los conjuntos hijos — no se cambia después sin recrear (clase 03).

  2. Categoría especial · obligatoria API
    NONE — comercio generalViviendaEmpleoCrédito

    La API lo exige en toda creación. Declarar una categoría restringe la segmentación (18–65+, sin lookalikes).

  3. Presupuesto
    CBO — a nivel campañaABO — por conjunto
    $ 40.00USD

    Tope interno de Mogos: $150/día por campaña (check C6). Por encima, el formulario no envía.

  4. Segmentación
    Broad VE — el sistema aprendeRemarketing web 30dLookalike compradores

    Broad como default — clases 02 y 09: los públicos entran como señal, no como jaula.

  5. Creativo y destino
    Locker · gancho dolor + carruselElegir de la librería

    Se arma en la sección Creativos (object_story_spec) y se referencia aquí.

    mogos.com/calculator?utm_source=meta&utm_medium={publisher}&utm_campaign={nombre}&utm_content={ad_id}

    Sin la plantilla, el envío a aprobación se bloquea: es lo que vuelve legible «Resultados Mogos». El fbclid viaja solo y PostHog lo guarda. Si la campaña es CTWA, aquí se recuerda: el referral del primer mensaje se persiste en la conversación.

Guardas del envío

  • C3Se crea en PAUSED, sin excepción
  • C5Categoría especial declarada
  • C6Bajo el tope interno
  • C7Ref externa única — sin duplicados
  • C13Solo paths VERIFIED del mapa
  • UTMPlantilla UTM en el destino — sin UTM no se aprueba
Dry-run — imprime, no envía
Guardar borrador Enviar a aprobación Humano

Aprobación registrada Humano

Andrea Ortega · 30/08/2026 · 11:42 — «Aprobar y crear en pausa». La activación será otra aprobación, desde el detalle, nunca desde este flujo.

Clases 04 · 05 · Gates C3 C5 C6 C7 C13 · Fases 2–3.

13Creativos

El anuncio es el targeting

La clase 07 dio la estructura (gancho, contexto, valor, prueba, CTA) y la 08 el sistema de variaciones. El builder arma el object_story_spec; las variaciones van en asset_feed_spec con el conjunto en dinámico; y las mejoras Advantage+ se prenden por feature, nunca en bloque.

admin.mogos.com / meta-ads / creativos / nuevo
Meta Ads / CreativosAO

Historia del anuncio API

EnlaceCarruselVideoPost existente
Mogos Group · @mogosgroupinstagram_user_id
¿Tu carga sigue «en camino» y nadie te dice dónde? Con el Locker de Mogos la ves tú mismo, puerto por puerto.
Cotiza tu envíochild_attachments ×3

Variaciones API

3 ganchos × 2 cuerpos × 2 imágenes = 12 combinaciones — el sistema reparte y aprende (clase 08).

  • Gancho dolor · «¿Tu carga sigue en camino?»
  • Gancho beneficio · «Tu carga, visible 24/7»
  • Gancho contraste · «Otros prometen. Mogos muestra.»
Duplicar creativo /copies

Mejoras Advantage+ API

  • Optimizar brillo OPT_IN
  • Música automática OPT_OUT
  • Reescritura de texto OPT_OUT · la voz es nuestra

Vista previa por ubicación

Feed FB · Stories IG · Reels — GET /act_{id}/generatepreviews antes del anuncio, GET /{ad_id}/previews después.

Clases 07 · 08 · 09 — creativo como palanca principal.

14Públicos

Audiencias con origen y candados honestos

Cada audiencia dice su subtipo y su origen. Subir clientes hashea en la máquina del equipo antes de salir (SHA256, exigencia de la API). Y donde Meta no da endpoint — crear audiencias guardadas — el panel lo dice con todas las letras en vez de esconder el botón.

admin.mogos.com / meta-ads / publicos
Meta Ads / Públicos y píxelAO
Subir clientes — se hashean antes de salir APITOS de audiencias aceptado customaudiencestos ✓
AudienciaSubtipoOrigenTamaño aprox.Estado
Compradores 180dCUSTOMArchivo de clientes · hasheado8,420Lista
Visitantes web 30dWEBSITEPíxel Mogos Web31,800Lista
IG engagement 365dENGAGEMENT@mogosgroup54,200Lista
Lookalike compradores 1% VELOOKALIKESemilla: Compradores 180d210,000Procesando · hasta 24 h

Crear audiencia API

Subtipos del mapa: CUSTOM · WEBSITE · ENGAGEMENT · LOOKALIKE. Lotes de 10,000; hasta 24 h de proceso; exclusiones directo en el targeting del conjunto.

Audiencias guardadas · solo lectura Bloqueado

La API las lista (GET /act_{id}/saved_audiences) pero no permite crearlas — lo dice su referencia. Se crean en Ads Manager; aquí se ven y se usan.

Clases 03 · 09 — públicos como señal.

15Píxel y señal

La señal es el producto

La clase 02 lo dejó claro: sin señal el sistema no optimiza. El panel muestra el píxel, la calidad de coincidencia y el flujo de eventos con su deduplicación navegador+servidor — el event_id pareado es visible, no magia.

admin.mogos.com / meta-ads / publicos / pixel
Públicos y píxel / Píxel Mogos WebRecibiendoAO

Píxel API

Píxel Mogos Web

pixel 1447620923 · único de la cuenta

Calidad de coincidencia

7.2 / 10

EMQ · GET /dataset_quality

Eventos 24 h

1,982

62% con par navegador + servidor

Flujo de eventos API

Purchase $214.90 event_id ord-88412 Par deduplicado
AddToCart Locker anual event_id crt-19233 Solo navegador
Lead Cotización aérea event_id led-55201 Par deduplicado

Servidor: lote ≤1,000 eventos · hasta 7 días hacia atrás · dedup por event_id dentro de 48 h.

Modo prueba API

Eventos con test_event_code TEST7231 caen en Test Events y no ensucian producción. La regla del mapa es literal: «quítalo antes del payload real» — el admin lo quita solo al salir de sandbox.

Puente con PostHog PostHog Por construir

Los mismos hitos del funnel (calculadora → cotización → registro → orden) se mandan a CAPI con external_id = user id Mogos y el mismo event_id que el evento PostHog: una sola verdad, deduplicada en ambos lados, y los UTMs viajan también en custom_data.

Clases 02 · 04 · 05 — señal confiable antes de gastar.

16Multi-objetivo

Tráfico, leads y mensajes — cada uno con su verdad

La clase 16 enseñó a repartir presupuesto por objetivo según los datos. El módulo lo refleja: tres flujos con sus endpoints reales — y el único pedazo que Meta cerró (lead ads dentro de Messenger) aparece cerrado, con la versión que lo cerró.

Tráfico API

Optimiza a LINK_CLICKS hacia el cotizador. Alimenta el remarketing web 30d — el tráfico de hoy es la audiencia de mañana.

Leads API

Formulario «Cotización aérea VE» con preguntas de calificación. Los leads llegan por webhook en tiempo real (leadgen) y caen a la Bandeja de Entrada del admin; export CSV disponible.

María G. · +58 412 ··· 8821 · aérea CCS
José R. · +58 424 ··· 1187 · marítima MCB

Permisos: leads_retrieval + pages_manage_ads · App Review + verificación del negocio (en modo desarrollo no hay leads).

Mensajes API

Click-to-WhatsApp al número de Mogos con mensaje de bienvenida; click-to-Messenger con destination_type=MESSENGER. Las conversaciones caen en la Bandeja de Entrada.

Lead ads dentro de Messenger Bloqueado

Desde v24.0 solo se crean en Ads Manager. El admin no lo finge: enlaza a Ads Manager con contexto.

Clases 03 · 16 — objetivo según los datos del negocio.

18Reglas y nombres

El sistema se cuida solo de noche

Las reglas de la clase 12 corren en Meta, no en un cron nuestro: adrules_library evalúa y ejecuta aunque nadie mire. El admin las redacta en lenguaje de negocio y muestra la traducción exacta. La nomenclatura tiene validador en vivo: si el nombre no cuenta la campaña, no pasa.

Regla activa API

SI CPA > $12.00 durante 7 días Y gasto > $50
ENTONCES pausar el anuncio y avisar a #mogos-ads

Se traduce a evaluation_spec + execution_spec + schedule_spec — visibles al expandir, nunca editados a mano.

pausó Locker contraste · CPA $13.40 · avisó a #mogos-ads

Nomenclatura viva Humano API

VENTAS-VE-LOCKER-2026-09

Patrón OBJETIVO-PAÍS-PRODUCTO-AAAA-MM. La convención es nuestra; el campo name la lleva a los tres niveles.

BROAD-VE-18-65
DOLOR-CARRUSEL-V1

Clase 12 — nombres que informan, reglas que apagan.

19Reportes

Los datos son de la API, la historia es nuestra

Las columnas guardadas y las tablas dinámicas que el curso armó en Ads Manager (clase 13) viven aquí, en el admin — la API entrega los datos, las vistas son nuestras, y eso convierte un NOT_IN_API en una ventaja. La clase 14 aporta la plantilla de narrativa: es un formulario para humanos, no un botón de IA.

Vista guardada · «Semanal dirección» API

SemanaGastoComprasCPAROAS
18–24 ago$1,102.40148$7.453.0×
25–31 ago$1,239.80174$7.123.1×

Export XLS vía export_report — endpoint fuera del versionado Graph; el admin lo trata como cortesía, no como contrato.

Narrativa de la semana Humano

Semana de quincena; subimos presupuesto del catálogo 20%.
CPA bajó a $7.12 con frecuencia estable (2.1).
El creativo nuevo sostiene la escala; no hay fatiga aún.
Mantener 7 días; preparar variación del gancho beneficio.
Publicar en #mogos-metricas

Clases 13 · 14 — Contexto → Hallazgo → Interpretación → Acción.

20Loop y escala

Lanzar, medir, decidir, iterar, escalar

El árbol de decisión de la clase 15 como interfaz: tres síntomas, cada uno con su diagnóstico y su acción — y las acciones distinguen su sello. Escalar existe en dos direcciones; la heurística del 20–30% acompaña como consejo, porque es criterio, no un parámetro de Graph.

No gasta

Señal insuficiente, público demasiado cerrado o presupuesto inviable. Revisar píxel y abrir segmentación.

Revisar señal API

Gasta y no convierte

CTR alto + conversión baja = el problema está fuera de Meta: oferta, landing, precio, fricción. Diagnóstico humano.

Abrir checklist Humano

Convierte caro

Escalar lo que funciona o recortar lo que no. Duplicar en vez de editar — no se reinicia el aprendizaje.

Duplicar conjunto /copiesPausar anuncio

Escala vertical API Humano

Subir daily_budget con aprobación. El consejo acompaña, no bloquea: 20–30% gradual y nada de tocar las primeras 24–48 h — heurística de las clases 10 y 18, no regla de la API.

Advantage+ ventas API

El estado Advantage+ de cada campaña se lee (advantage_state_info). Crear ASC con smart_promotion_type está bloqueado desde v24 — el flujo moderno es la campaña Advantage+ de ventas normal.

ASC legacy · v24+

Clases 10 · 15 · 18 — sistemas, no campañas.

21Auditoría y límites

Todo queda escrito, nada se agota en silencio

Cada llamada Graph —humana o del agente— deja fila: quién, qué path, con qué scope, qué respondió. Los dos tokens viven separados: ads_read para todos los que leen, ads_management solo en el servicio backend. Y el rate limit se administra como presupuesto, leyendo el header de Meta en cada respuesta.

Registro de llamadas API

Andrea O. aprobó crear VENTAS-VE-LOCKER-2026-09 POST /act_…/campaigns ads_management 201
agente mogos ejecutó la creación · ref a41 PAUSED
agente mogos leyó insights 7d GET /act_…/insights ads_read 200
regla Meta pausó Locker contraste adrules_library auto

Presupuesto de llamadas API

header X-Business-Use-Case-Usage

lectura34%
escritura11%

Al 80% el cliente frena solo (check V8). Errores 17 · 613 · 80004 mapeados a espera, nunca a reintento ciego.

Dos llaves

ads_read · todos los roles con ANALYZE
ads_management · solo el system user del backend — token sin expiración, jamás en un navegador.

Gates V3 · V7 · V8 · C9 · C11 — el porqué de cada fila.

22Estados

Los días malos también están diseñados

Siete estados reales del sistema, cada uno con qué pasó y qué hacer — en la voz del admin, sin disculpas vacías.

VacíoSin campañas todavía

La cuenta está sana y conectada. La primera campaña nace en pausa y pasa por aprobación.

→ Crear la primera campaña

Sin tokenLa llave no responde

El vault no entregó el token o fue invalidado. El módulo queda en solo-lectura de datos cacheados.

→ Revisar V3/V4 en Configuración

Error GraphMeta devolvió 190

Token inválido o vencido. Guardamos fbtrace_id 8f2…c1 para soporte y no reintentamos a ciegas.

→ Regenerar token del system user

SandboxEntorno de práctica

Todo funciona, nada entrega ni gasta: cero impresiones por diseño. Banner visible en cada pantalla.

→ Salir a live exige GATE C completo

Sin permisoTu rol no escribe

Tienes ANALYZE: puedes ver todo. Crear o activar exige ADVERTISE y aprobación registrada.

→ Pedir el rol en Roles y permisos

LímitePresupuesto de llamadas agotado

Meta pide esperar (~4 min según el header). Las lecturas siguen del caché; la cola de escritura espera.

→ Se reanuda solo · nada se perdió

En revisiónMeta revisa el anuncio

Estado PENDING_REVIEW: sin acción posible hasta el veredicto. Si vuelve DISAPPROVED, se muestra el motivo — editar y reenviar, no insistir.

→ Nada que hacer aquí: es de Meta

Sin PostHogLa atribución web está a oscuras

El token de PostHog no responde. Insights de Meta siguen; «Quién llegó · web» queda vacío y el % ciego sube — se muestra, no se rellena.

→ Revisar NEXT_PUBLIC_POSTHOG_TOKEN

Sin consentimientoLa persona dijo que no

Sin opt-in no hay captura ni fila — por diseño. El gasto de esa visita cuenta como ciego y así se reporta.

→ Nada que arreglar: es la regla

Sin referralEl chat llegó sin origen

El primer mensaje no trajo bloque referral: hay conversación pero no anuncio de origen. El hilo vive en Bandeja; aquí figura como «origen desconocido».

→ Se atiende igual — atribuir sería inventar

Post-processing y revisión — la API decide el ritmo, el admin lo cuenta.

23Zona humana

Lo que ningún endpoint hace

El curso insistió más en criterio que en botones. Estas cuatro superficies existen en el módulo justamente para no pretender que son API.

Andrómeda no se configura Humano

El algoritmo de entrega no tiene panel: se entrena con creativo, oferta y señal (clase 02). El módulo muestra la salud de esas tres palancas en vez de un falso dashboard de Andrómeda.

Ángulos y voz Humano

Problema, deseo, objeción y caso de uso (clase 07) son trabajo de escritura. El builder da la estructura de cinco bloques; las palabras son del equipo — la reescritura automática de Meta queda OPT_OUT.

Espiar con criterio Humano

La Biblioteca de Anuncios (clase 08) es otro producto de Meta, fuera de la Marketing API — quedó como gap en el mapa. El módulo enlaza afuera y da la plantilla de análisis: hooks, mensajes, CTAs, destino.

El playbook Humano

Presupuesto 3–5× el CPA esperado, no tocar nada 24–48 h, consistencia sobre intensidad (clases 10 y 18). Aparecen como consejos en el momento justo — nunca como validaciones que fingen ser de Meta.

El éxito lo define ops Humano

Costo por cotización, por orden o por chat con cliente: la vara la elige el equipo en «Resultados Mogos» y queda a la vista. Andrómeda optimiza lo suyo; la definición de negocio no se delega.

Incrementalidad, sin teatro Humano

La optimización de conversión incremental está prohibida en la API desde 2022 (así consta en el mapa). El activo compara fuentes y enfrenta verdades — no finge un experimento de incrementalidad que Meta no ofrece.

Clases 01 · 02 · 07 · 08 · 10 · 14 · 18 — el criterio es la diferencia.