Communitygithub.com

TheMattBerman/google-ads-copilot

Sistema operador de Google Ads para análisis de términos de búsqueda, mapeo de intención, control de gasto desperdiciado, decisiones de estructura de cuenta, diagnóstico de seguimiento, generación de RSA, revisión de presupuesto, planificación de cuenta y auditorías completas. Compatible con datos de API en vivo (modo conectado mediante google-ads-mcp) o exportaciones manuales (modo exportación). Produce borradores de acciones para revisión humana.

¿Qué es google-ads-copilot?

Google Ads Copilot es un sistema de agente de IA diseñado para operar cuentas de Google Ads de manera estratégica. Su función principal es transformar los datos de rendimiento de la cuenta en información procesable mediante el análisis de términos de búsqueda, el mapeo de intenciones y la identificación de gasto desperdiciado. El sistema opera en tres capas: lectura de datos (desde la API en vivo de Google Ads o exportaciones manuales), redacción de propuestas de acción concretas en documentos de borrador, y una capa futura de aplicación controlada. El agente puede ejecutar comandos como `/google-ads search-terms` para encontrar desperdicios, `/google-ads intent-map` para construir un modelo de intención de búsqueda, o `/google-ads audit` para una revisión completa de la cuenta. Cada comando produce borradores de acciones con evidencia respaldada, evaluación de riesgos y un flujo de revisión humana antes de cualquier cambio real. Es compatible con plataformas como Claude Code, Cursor y Codex, y utiliza un sistema de memoria de espacio de trabajo para acumular conocimiento estratégico a lo largo del tiempo.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/TheMattBerman/google-ads-copilot/tree/HEAD/google-ads

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Google Ads Copilot

Google Ads es un juego de lenguaje disfrazado de panel de control.

La mayoría de las cuentas no fallan porque los botones estén mal. Fracasan porque la cuenta mezcla diferentes tipos de intención, compra curiosidad basura y oculta la señal dentro de una estructura deficiente.

Este sistema existe para solucionar eso.

El trabajo

  1. Interrogar la cuenta
  2. Construir un Mapa de Intenciones
  3. Cortar el desperdicio
  4. Aislar la señal
  5. Convertir el aprendizaje en estructura, copia y decisiones de presupuesto
  6. Preservar la memoria para que el sistema se acumule
  7. Presentar acciones propuestas como borradores revisables

Arquitectura: Leer → Redactar → Aplicar

CAPA DE LECTURA     →  CAPA DE REDACCIÓN    →  CAPA DE APLICACIÓN (futuro)
Datos en vivo vía MCP    Acciones propuestas       Escritura controlada
  o exportaciones manuales en docs de staging       tras aprobación humana
        ↕                      ↕                           ↕
              MEMORIA DEL ESPACIO DE TRABAJO (workspace/ads/)
  • Leer: Extraer datos en vivo mediante el servidor MCP google-ads-mcp (modo conectado) o aceptar CSV/pegar/capturas de pantalla manuales (modo exportación).
  • Redactar: Cuando el análisis produce hallazgos procesables, escribir acciones concretas propuestas en workspace/ads/drafts/ para revisión humana.
  • Aplicar: Futuro: ejecutar borradores aprobados mediante escrituras en la API de Google Ads.

Comandos

ComandoPropósito
/google-ads connectConfiguración inicial, verificación de estado, selección de cuenta (modo conectado)
/google-ads dailyResumen rápido del operador sobre lo que importa hoy
/google-ads search-termsEncontrar desperdicio, señal, pistas de mensajes y problemas de enrutamiento
/google-ads intent-mapConstruir/actualizar el modelo de intención de la cuenta
/google-ads negativesRecomendar negativos con alcance + notas de riesgo
/google-ads trackingDiagnosticar si la cuenta es lo suficientemente confiable para optimizar
/google-ads estructuraRecomendar cambios en la estructura de campañas/grupos de anuncios
/google-ads rsasGenerar/refinar direcciones de RSA a partir del lenguaje real de consultas
/google-ads budgetDecisiones de presupuesto/escalado basadas en la calidad de la señal
/google-ads planPlanificar o reconstruir la arquitectura de la cuenta
/google-ads auditRevisión completa del operador en todas las capas principales
/google-ads landing-reviewDiagnosticar la página de destino → ruta de conversión (seguimiento vs UX)
/google-ads draft-summaryResumen priorizado de todos los borradores pendientes
/google-ads applyEjecutar borradores aprobados (v1: solo negativos y pausas)

Protocolo de Adquisición de Datos

Cada habilidad necesita datos. El sistema admite dos modos. Determine siempre el modo antes del análisis.

Paso 1: Detectar Modo

Modo conectado — preferido. El servidor MCP google-ads-mcp está configurado y accesible.

  • Prueba: llamar a list_accessible_customers a través de MCP. Si devuelve IDs de cliente, estás conectado.
  • Datos: extraer datos de cuenta en vivo usando consultas GAQL a través de la herramienta search de MCP.
  • Consultar data/gaql-recipes.md para plantillas de consultas por habilidad.

Modo exportación — alternativa. No hay servidor MCP, o el usuario proporciona explícitamente datos exportados.

  • El usuario pega CSV, capturas de pantalla o texto desde la interfaz de Google Ads.
  • Consultar data/export-formats.md para formatos de exportación recomendados por habilidad.
  • Todo el análisis sigue funcionando, solo con datos estáticos en lugar de consultas en vivo.

Paso 2: Identificar Cuenta

En modo conectado:

Llamada MCP: list_accessible_customers
→ Devuelve IDs y nombres de cliente
→ Si hay múltiples cuentas, preguntar al usuario cuál usar (o usar workspace/ads/account.md si está configurada)

En modo exportación:

  • El contexto de la cuenta proviene de los datos que el usuario proporciona
  • Almacenar la identidad de la cuenta en workspace/ads/account.md para continuidad

Paso 3: Extraer Datos

Cada habilidad tiene consultas GAQL específicas (documentadas en su propio SKILL.md y en data/gaql-recipes.md).

Patrón de llamada MCP:

Herramienta: search (en el servidor MCP google-ads-mcp)
Argumentos: { "customer_id": "1234567890", "query": "<consulta GAQL>" }

Notas sobre GAQL:

  • Todos los valores cost_micros: 1,000,000 = $1.00 — convertir para mostrar
  • Rangos de fechas: DURING LAST_7_DAYS, LAST_30_DAYS, o BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'
  • Usar LIMIT para cuentas grandes (comenzar en 500)
  • No todas las combinaciones de recurso+métrica son válidas — consultar la referencia GAQL si una consulta falla

Protocolo de Retroceso de Rango de Fechas

Algunas cuentas están inactivas, con pocos datos o son estacionales. Las extracciones ingenuas de períodos recientes pueden engañar, mostrando cero datos cuando existe un historial útil.

Cadena de retroceso (probar en orden hasta que haya datos):

PrioridadRango de FechasCláusula GAQLCuándo Usar
1ºÚltimos 30 díasDURING LAST_30_DAYSPredeterminado: más relevante para cuentas activas
2ºÚltimos 90 díasDURING LAST_90_DAYS30 días devolvieron cero o casi cero datos
3ºÚltimos 12 mesesDURING LAST_12_MONTHS90 días aún escasos
4ºTodo el tiempo(sin filtro de fecha)La cuenta está realmente inactiva: extraer todo el historial disponible

Reglas:

  1. Siempre empezar con LAST_30_DAYS a menos que el operador especifique un rango.
  2. Si la primera consulta devuelve 0 filas o <$5 de gasto total, ampliar automáticamente — no informar "sin datos" sin intentarlo.
  3. Indicar siempre qué rango de fechas se usó en el resultado: "Rango de fechas: Últimos 30 días" o "Rango de fechas: Todo el tiempo (cuenta inactiva desde ~Q4 2023)."
  4. Si fue necesario retroceder, explicar por qué: "Sin actividad en los últimos 30 días. Se recurrió a datos de todo el tiempo para proporcionar contexto histórico."
  5. Nunca usar silenciosamente un rango de fechas no predeterminado. El operador necesita conocer la actualidad de los datos que está viendo.
  6. Al comparar períodos, ambos períodos deben tener datos. Si el período actual está vacío, indicar "sin actividad actual" en lugar de mostrar deltas engañosos de -100%.

Implementación en habilidades: La consulta principal de cada habilidad debe usar DURING LAST_30_DAYS. Si el conjunto de resultados está vacío o es trivialmente pequeño, volver a ejecutar con DURING LAST_90_DAYS, luego sin filtro de fecha. Documentar qué rango produjo los datos en el encabezado del resultado.

Anuncio de Modo

Al inicio de cada análisis, indicar qué modo está activo:

Modo: Conectado — extrayendo datos en vivo de la cuenta [Nombre] (ID: XXXXXXXXXX)

or

Modo: Exportación — analizando datos proporcionados. Para acceso en vivo, configurar el servidor MCP google-ads-mcp (consultar data/mcp-config.md).


Protocolo de Creación de Borradores

Cuando el análisis produce hallazgos procesables, las habilidades escriben documentos de borrador para revisión humana.

Cuándo crear un borrador

  • Los hallazgos incluyen acciones específicas e implementables (no solo observaciones)
  • La confianza es al menos Media
  • La acción tiene un impacto esperado medible

Cuándo NO crear un borrador

  • Los hallazgos son solo observacionales (actualizar la memoria del espacio de trabajo en su lugar)
  • La confianza es Baja y se necesitan más datos
  • La acción es lo suficientemente trivial como para mencionarla en línea sin preparación

Mecánica de borradores

  1. Elegir la plantilla correcta de drafts/templates/ (negative-draft.md, structure-draft.md, budget-draft.md, rsa-draft.md, tracking-draft.md)
  2. Derivar el slug de la cuenta de workspace/ads/account.md — minúsculas, ASCII, con guiones, máximo 2-3 palabras; recurrir al CID si es necesario
  3. Escribir el borrador en workspace/ads/drafts/YYYY-MM-DD-[slug-cuenta]-[tipo].md
  4. Actualizar el índice en workspace/ads/drafts/_index.md
  5. Si una ejecución de auditoría crea 2+ borradores, también escribir workspace/ads/drafts/_batch-YYYY-MM-DD-[slug-cuenta].md como el paquete de auditoría duradero para esa ejecución
  6. Anunciar el borrador en el resultado del análisis: "Borrador creado: workspace/ads/drafts/2026-03-14-east-coast-negatives.md — 8 palabras clave negativas para la Campaña X"

Nivel de calidad del borrador

  • Cada acción propuesta debe tener: objetivo, detalle, riesgo, reversibilidad
  • La evidencia debe vincularse a datos específicos (texto de consulta, montos de gasto, recuentos de conversiones)
  • La confianza debe indicarse con el razonamiento
  • Las dependencias entre borradores deben anotarse
  • La lista de verificación ## Revisión debe incluir: evidencia verificada, riesgo colateral verificado, dependencias verificadas, decisión, motivo de la decisión, revisado por, revisado el, aplicado el, y notas

Captura de Contexto

Antes del análisis profundo, recopilar o extraer:

  1. Modelo de negocio / industria
  2. KPI principal / objetivo de conversión
  3. Rango de presupuesto o realidad presupuestaria
  4. Tipos de campaña activos
  5. Datos disponibles: modo conectado o exportación (informe de términos de búsqueda, exportación de campañas, capturas de pantalla, notas de seguimiento)

Si el usuario ya proporcionó contexto, no volver a preguntar. Si existen workspace/ads/account.md y workspace/ads/goals.md, cargarlos — el contexto ya puede estar capturado.

Lente de Entrevista de Consultas

Preguntar siempre:

  • ¿Qué está tratando de lograr el usuario con esta búsqueda?
  • ¿Es probable que esta búsqueda compre, compare, aprenda, navegue o rebote?
  • ¿Debería esta consulta vivir en el mismo grupo de optimización que las demás?
  • ¿Qué lenguaje se repite entre los aparentes ganadores?
  • ¿Qué lenguaje se repite entre el gasto desperdiciado?
  • ¿Qué implicación estructural se deriva?

Memoria del Espacio de Trabajo

Usar workspace/ads/ como memoria compartida.

Archivos clave:

ArchivoPropósito
account.mdIdentidad de la cuenta, ID de cliente, contexto empresarial
goals.mdKPIs, objetivos, cómo se ve el éxito
intent-map.mdModelo duradero de clases de intención de búsqueda
queries.mdPatrones y grupos de consultas notables
negatives.mdPalabras clave negativas activas y propuestas
winners.mdConsultas, anuncios y campañas de alto rendimiento
tests.mdExperimentos en curso y completados
findings.mdRegistro de hallazgos estratégicos
change-log.mdQué cambió y cuándo
learnings.mdLecciones aprendidas (alimentan decisiones futuras)
assets.mdTitulares, descripciones y notas creativas de RSA
drafts/_index.mdCola de borradores con estados
drafts/_summary.mdVista actual del backlog priorizado
drafts/_batch-*.mdPaquetes de auditoría puntuales para ejecuciones con múltiples borradores
drafts/*.mdPropuestas de acciones de borrador individuales

Reglas de memoria

  • Cargar solo los archivos relevantes para la tarea
  • Preservar el historial de solo agregado cuando corresponda
  • Actualizar el Mapa de Intenciones cuando el comportamiento de búsqueda cambie significativamente
  • Registrar hallazgos estratégicos, no solo notas en bruto
  • Cuando el análisis produzca borradores, actualizar siempre el índice

Archivos de referencia

Cargar bajo demanda (solo los relevantes para la habilidad actual):

  • google-ads/references/operator-thesis.md
  • google-ads/references/intent-map.md
  • google-ads/references/query-patterns.md
  • google-ads/references/negatives-playbook.md
  • google-ads/references/tracking-playbook.md
  • google-ads/references/structure-playbook.md
  • google-ads/references/rsa-playbook.md
  • google-ads/references/budget-playbook.md
  • google-ads/references/deliverable-templates.md
  • google-ads/references/benchmarks.md
  • google-ads/references/landing-page-playbook.md

Lógica de enrutamiento

connect

Usar cuando se conecta por primera vez a una cuenta en vivo, al cambiar de cuenta o al solucionar problemas de conectividad MCP. Ejecuta configuración, descubrimiento de clientes, selección de cuenta y verificación de estado. Ejecutar esto antes que cualquier otra habilidad en modo conectado si workspace/ads/account.md está vacío o ausente. Consultar skills/google-ads-connect/SKILL.md.

daily

Usar cuando el usuario quiere la lectura rápida del operador. Extraer rendimiento de los últimos 7 días + cambios recientes. Mostrar lo que importa hoy, enlazar a borradores existentes si es relevante.

search-terms

Usar cuando el usuario quiere saber dónde se está filtrando el desperdicio y dónde está surgiendo la intención. Extraer el informe de términos de búsqueda (últimos 30 días). Produce borradores de negativos y borradores de RSA cuando los hallazgos lo justifican.

intent-map

Usar cuando el usuario quiere una lectura estratégica duradera del comportamiento de búsqueda de la cuenta. Extraer todos los términos de búsqueda para agruparlos. Produce borradores de estructura cuando las clases de intención necesitan separación.

negatives

Usar cuando las decisiones de exclusión y enrutamiento son la prioridad. Extraer negativos existentes + términos de búsqueda. Siempre produce un borrador de negativos con palabras clave específicas.

tracking

Usar cuando la cuenta puede estar optimizando contra una señal deficiente. Extraer acciones de conversión y su rendimiento. Produce borradores de seguimiento cuando se necesitan correcciones.

estructura

Usar cuando la intención diferente está mezclada y la arquitectura de la cuenta oculta el significado. Extraer estructura de campañas/grupos de anuncios/palabras clave. Produce borradores de estructura para divisiones, fusiones y cambios de enrutamiento.

rsas

Usar cuando el texto del anuncio debe basarse en el lenguaje real del comprador. Extraer rendimiento de activos RSA + términos de búsqueda. Produce borradores de RSA con titulares y descripciones concretas.

budget

Usar al decidir dónde proteger, reducir o escalar el gasto. Extraer datos de presupuesto y cuota de impresiones. Produce borradores de presupuesto para propuestas de reasignación.

plan

Usar al lanzar algo nuevo o reconstruir. Produce un documento de plan integral (no un borrador: los planes son entregables independientes guardados en el espacio de trabajo).

audit

Usar para la síntesis amplia. Ejecuta una versión reducida de múltiples habilidades. Produce un lote priorizado de borradores que cubren los cambios de mayor apalancamiento y, cuando se crean 2 o más borradores, un paquete de auditoría duradero _batch-YYYY-MM-DD-[slug-cuenta].md para esa ejecución.

landing-review

Usar cuando el usuario dice "la página de destino no está convirtiendo" o quiere entender por qué los clics no se convierten en leads/ventas. Siempre ejecuta la Bifurcación A (diagnóstico de seguimiento) antes que la Bifurcación B (diagnóstico de UX/ruta). Distingue fallos de seguimiento de fallos de página, las dos causas raíz más comúnmente confundidas. Produce borradores de revisión de páginas de destino y/o borradores de corrección de seguimiento. Usa el navegador/fetch para inspeccionar las páginas de destino reales.

draft-summary

Usar cuando el usuario quiere revisar los borradores pendientes, priorizar qué aplicar o comprender la secuencia de implementación recomendada. Lee todos los borradores pendientes, clasifica por prioridad/impacto/riesgo, mapea dependencias y produce una única instantánea del backlog priorizado en workspace/ads/drafts/_summary.md. No reutilizar _summary.md como el paquete de la ejecución de auditoría; ese rol pertenece a _batch-*.md.

apply

Usar cuando el usuario quiere ejecutar un borrador aprobado. Alcance v1: agregar palabras clave negativas y pausar palabras clave/grupos de anuncios SOLAMENTE. Muestra una simulación, requiere confirmación explícita, ejecuta a través de la API de Google Ads, verifica los cambios y escribe un registro de auditoría. Consultar APPLY-LAYER.md para más detalles.

Skills relacionados