Saltar al contenido

IA aplicada

Cómo conecté la IA a mi operación de marketing

No empecé por lo interesante. Empecé porque a un cliente se le olvidaba meterle saldo a su cuenta y se le paraban las campañas sin que nadie se enterara.

9 min de lectura

La respuesta corta: construí un sistema —lo llamo Batuta— que está conectado por API a Google Ads, Analytics, Search Console y Tag Manager, y que le da a Claude acceso a esos datos con el contexto de cada cliente al lado. Con eso puedo preguntarle cosas en la terminal y contestarme con datos reales en vez de con una explicación general. Sirve para tres cosas distintas: vigilar lo que se rompe solo, como un saldo o un sitio caído; auditar campañas, páginas y embudos; y armar los reportes y presentaciones del cliente con su propia marca. Lo que sigue es cómo llegué ahí y qué hace cada parte.

Empezó con un robot que vigila un saldo

Hay un problema que no tiene nada de sofisticado y que cuesta dinero de verdad: a un cliente se le olvida meterle saldo a su cuenta de Google Ads. Las campañas se paran. Nadie se entera hasta que alguien mira, y para entonces lleva tres días sin anunciarse.

Lo primero que hizo Batuta fue eso. Todos los días manda el estado de los saldos, a mí y también al cliente, para que sepa cuánto dinero le queda en su cuenta sin tener que entrar a preguntar.

Y así es como se lo ofrezco, porque nadie llega pidiendo esto. Veo que a un cliente se le olvida y le digo: «oye, tengo un robot que te monitorea el saldo, ¿lo quieres?». En esta etapa el caso de uso lo detecto yo; el cliente casi nunca lo plantea, y cuando lo plantea son palabras muy distintas cada vez.

Cuento esto primero porque el orden importa. Batuta no nació para analizar nada: nació para automatizar cosas básicas y muy útiles. Lo demás vino después, encima de eso.

El sitio se cae y las campañas siguen pagando

La segunda automatización es del mismo tipo. Batuta revisa los sitios y detecta cuándo uno deja de responder.

Lo que hace interesante ese aviso no es el aviso: es lo que abre. Si hay campañas mandando tráfico a un sitio que está caído, cada clic es dinero que se está pagando por llevar gente a una pantalla de error. Entonces hay que pausar esas campañas, avisarle al equipo técnico y avisarle al cliente.

Esa decisión la tomo yo. Batuta detecta y avisa; pausar una campaña de un cliente no es algo que quiera que pase solo mientras duermo.

Qué cambia cuando le puedes preguntar a los datos

Encima de esa base están las conexiones. Batuta habla con cuatro APIs de Google, y cada una contesta una parte distinta de la misma pregunta:

  • Google Ads — Campañas, saldos, términos de búsqueda, histórico de inversión.
  • Google Analytics — Sesiones, eventos, embudo de ecommerce, comportamiento dentro del sitio.
  • Search Console — Consultas, impresiones, posición media, qué página responde a qué búsqueda.
  • Tag Manager — Qué etiquetas existen, cuáles disparan y cuáles llevan meses rotas.

Sacar datos de esas cuatro plataformas y cruzarlos siempre se ha podido. Lo que cambia es el costo de cada pregunta. Antes, comprobar una sospecha significaba abrir cuatro interfaces, exportar, pegar en una hoja y cuadrar fechas. Con ese costo, solo se comprueban las sospechas grandes.

Cuando la pregunta se hace escribiéndola y la respuesta tarda segundos, se hacen preguntas que antes no valían el trabajo de contestar. Y ahí es donde aparecen los hallazgos, porque casi nunca están en la pregunta que uno iba a hacer de todos modos.

Con eso audito campañas de Google Ads, fichas de producto y landing pages, embudos completos, comportamiento dentro del sitio, y canibalizaciones de SEO — dos páginas mías peleando por la misma búsqueda. Es la misma herramienta para verticales distintos, porque el trabajo de fondo es el mismo: preguntarle a los datos con el contexto del cliente al lado.

Es la misma máquina que hay detrás de las auditorías web que hago. Lo que sigue es una.

Un caso: la venta no se perdía donde el cliente creía

Un ecommerce de fragancias me buscó con un problema concreto: la gente no podía pagar. Querían estar seguros de que su tienda cobraba.

Hice una compra real con tarjeta, de principio a fin. Se completó. El cargo entró en la pasarela, la tienda generó el pedido. El checkout cobraba perfectamente.

La sospecha venía de otro lado: en la pasarela de pago había tres webhooks configurados, el oficial y dos heredados de una instalación anterior. Uno de los viejos mandaba correos de error a dos personas del equipo. No avisaban de una tienda rota — avisaban de un webhook que ya no correspondía a nada. Una señal real, leída al revés.

Lo importante vino después. La tienda no tenía analítica instalada: llevaba meses invirtiendo en publicidad sin poder ver qué hacía la gente dentro del sitio. Instalé Analytics con el embudo de ecommerce completo, lo validé con esa transacción real, y esperé a que se acumularan datos.

Lo que apareció no tenía que ver con el pago. Casi todo el mundo llegaba a ver un producto —los anuncios aterrizaban ahí— y de ésos prácticamente nadie agregaba nada al carrito. La venta no se perdía en el checkout. Se perdía en la primera pantalla de la ficha, en un celular, antes de que la persona alcanzara a evaluar la compra.

Ese diagnóstico no lo hace una IA sola, y tampoco lo hace un humano solo en un rato. Lo hace poder cruzar la pasarela, la tienda, la analítica y las campañas en la misma sesión, con el contexto de ese cliente escrito al lado.

Los reportes salen con la marca del cliente

La parte que menos esperaba usar es la que más me cambió la semana. Cada cliente tiene su carpeta en Batuta, con su contexto y su marca. Y con eso armo las presentaciones y los reportes en HTML y los exporto a PDF, con la tipografía y los colores de ese cliente.

Antes eso era Google Drive o Canva: pegar capturas, cuadrar tipografías, actualizar cifras a mano y volver a exportar cuando cambiaba un número. Ahora las métricas salen de Ads y Analytics, el cruce se hace en el mismo sitio, y el documento se genera con la marca puesta.

Y como Claude está dentro del proyecto, me apoyo en él para los análisis, las propuestas y las cotizaciones — sobre el contexto de ese cliente, no sobre una plantilla.

Qué puede tocar, y qué no

Es la pregunta que hace cualquiera que atienda cuentas de otros, y la contesto con lo que está escrito en el código, que es donde se decide.

Casi todo es de solo lectura. De los cincuenta comandos que tiene Batuta hoy, los que escriben en una plataforma de Google son cuatro: crear una campaña de búsqueda, crear una campaña de video, crear una etiqueta en Tag Manager y marcar un evento clave en Analytics. Todo lo demás consulta.

Las campañas nacen pausadas. Cuando Batuta crea una, la crea en estado PAUSED, y solo se activa al final si se pide expresamente.

Gastar dinero se confirma. Los comandos que crean algo llevan una opción para ver el plan completo sin escribir nada, y una confirmación que por omisión responde que no.

Esas tres cosas no son configuración: son decisiones que tomé al construirlo, y por eso las puedo contar. La primera versión de un sistema así puede hacerlo todo; la que se usa con cuentas de clientes tiene que poder hacer poco.

Cómo sé que los números son ciertos

No lo doy por hecho. Sigo corroborando datos a mano: de vez en cuando abro Google Ads y comparo el saldo que me reportó Batuta con el que aparece en la cuenta.

Y una que otra vez he encontrado un bug que me estaba dando un saldo erróneo. Lo corregí, pero el punto no es ése. El punto es de qué tipo fue el error.

No fue que el modelo se inventara una cifra. Fue un fallo en la tubería: el código que va a buscar el dato lo trajo mal, y el modelo reportó fielmente un número equivocado. Son dos riesgos distintos y se atacan distinto. Del primero se habla mucho; el segundo es el que me ha aparecido a mí.

La consecuencia práctica es que un sistema así necesita una capa de pruebas y de control de calidad sobre los datos, igual que cualquier software que reporte cifras. Mientras no la tenga completa, la verificación la hago yo, contra la fuente.

Para qué sigo entrando a Google Ads

Todos los días. Y no por costumbre:

Para verificar campañas. Para ajustes muy puntuales, como tocar un anuncio. Para modificaciones rápidas, como cambiarle el presupuesto a una campaña. Y para ver la estadística del día, que es distinto de pedir un reporte.

Hay una razón más que no es de tarea: mantener el feeling de las campañas. Parte del criterio con el que decido se forma mirando, y no quiero perderla por automatizarla.

Poco a poco voy automatizando más cosas para usar menos la interfaz. Pero no puedo deshacerme de ella al cien por ciento, y no creo que sea el objetivo. Lo que gané no fue dejar de entrar: fue que cuando entro, ya sé qué voy a buscar.

Lo que me preguntan cuando cuento esto

¿Necesito saber programar para trabajar así?
Para montar algo como Batuta, sí. Es un proyecto en Laravel conectado por API a cuatro plataformas, con permisos y tokens de por medio. Lo que no hace falta programar es la parte que de verdad decide el resultado: saber qué preguntarle a una cuenta. Ese criterio se puede aplicar con las herramientas que ya usas, y es el que tarda años en formarse.
¿Los datos de mis clientes pasan por el modelo?
Las métricas que se consultan sí las lee el modelo, porque es lo que le permite contestar sobre ellas. Lo que no sale del sistema son las credenciales: los tokens de acceso viven encriptados en un solo lugar y los comandos los usan sin exponerlos. Antes de conectar la cuenta de un cliente conviene revisar qué dice su contrato sobre tratamiento de datos, que es una pregunta legal y no técnica.
¿Cuánto tarda en montarse algo así?
No hay una respuesta honesta a esto, porque el mío no se montó: se fue haciendo. Empezó con el aviso de saldos a finales de junio de 2026 y hoy tiene cincuenta comandos. Lo que sí puedo decir es por dónde empezaría otra vez: por la automatización más aburrida que te esté costando dinero, no por la más impresionante.
¿Sustituye a las herramientas de reportes que ya existen?
Para sacar un reporte bonito, no — hay herramientas que lo hacen bien y más barato. La diferencia está en las preguntas que no caben en un panel: un panel contesta lo que alguien previó al construirlo, y una consulta contesta lo que se te acaba de ocurrir. La mayor parte de los hallazgos de los que hablo salieron de la segunda.
¿Qué pasa si la IA se equivoca en un número que le enseño a un cliente?
Que el error es mío, no suyo. Por eso verifico contra la fuente antes de que un dato salga en un reporte, y por eso cuento arriba el bug de saldo que encontré. Un sistema que reporta cifras necesita pruebas sobre los datos igual que cualquier otro software; mientras esa capa no esté completa, la verificación es manual y es parte del trabajo, no una excepción.

Formación

Saber qué preguntarle a una cuenta

Ninguna de las herramientas de arriba sirve si no sabes qué buscar. Eso es lo que doy en el curso: cuatro sesiones en vivo, en grupo reducido, para salir sabiendo montar una campaña, leerla y saber cuándo no conviene montarla.

WhatsApp