Agencia de publicidad: cómo sacar copys y reportes en la mitad de tiempo con IA
Para el gestor de campañas de una agencia ahogado en copys y reportes mensuales. Reparte el borrador con la IA y decide tú lo importante
Un viernes por la tarde, cuando yo todavía echaba una mano con la gestión de campañas en una agencia de publicidad.
Llevaba 8 clientes. A principios de mes, los reportes mensuales de todos vencían a la vez. Tocaba explicar por qué había caído el CTR, proponer la jugada del mes siguiente y, de paso, sacar 10 ideas de copy para los banners nuevos. A dos horas por cliente, ocho clientes son 16 horas. Y todo eso lo hacía a mano: mirando números y exprimiéndome el cerebro para dar con las palabras.
Un mes, con el sueño justo, entregué un reporte sin darme cuenta de que había pegado tal cual los números del mes anterior. En la reunión periódica con el cliente me soltaron: «Oye, ¿este gráfico no es el mismo del mes pasado?», y se me heló la sangre. Las ideas de copy también estaban agotadas: reciclaba mes tras mes los mismos «¡Solo hoy!» y «¡Oferta!».
El problema no era la capacidad, sino el reparto del tiempo. Se me iban las horas en tareas que no requieren pensar (copiar números, redactar el primer borrador del copy) y no me quedaba margen para lo que de verdad importa: «y entonces, ¿qué hacemos el mes que viene?». Desde que metí Claude Code en mi flujo de trabajo, esto cambió mucho. Hoy te cuento cómo hacer ese reparto, pegado a la realidad de una agencia de publicidad.
Puntos clave
- El desgaste del gestor de campañas se concentra en el «primer borrador del copy» y en la «parte plantilla del reporte mensual». Eso se lo dejas a la IA y tú dedicas el tiempo a decidir la estrategia.
- Tienes plantillas de prompt listas para pegar y usar en tres frentes: lluvia de ideas de copy, borrador del reporte y revisión previa a la publicación.
- Si no trazas la línea entre «lo que escribe la IA» y «lo que decide siempre una persona», acabas teniendo accidentes: infracciones de normativa publicitaria o números inventados. Incluyo una tabla con esa línea.
- Dejo un script de verificación que convierte los números de un CSV en el esqueleto de un reporte en Markdown. Se copia y funciona.
- También dejo las reglas mínimas para no sacar fuera los datos personales ni las cifras confidenciales del cliente.
¿En qué se le va el tiempo al gestor de campañas?
Primero defino al lector. Este artículo piensa en quien gestiona publicidad de respuesta (búsqueda, display, anuncios en redes) para varios clientes desde una agencia. Una persona que lleva entre 5 y 10 cuentas, con plataformas como Google, Meta y, últimamente, también TikTok.
Su mes, a grandes rasgos, fluye así:
- Inicio de mes: exporta los números del mes anterior desde el panel de cada plataforma y monta el reporte mensual.
- Mediados: ajusta pujas y creatividades según las propuestas del reporte, y saca ideas de copy para banners nuevos o anuncios de texto.
- En cualquier momento: responde a los «¿esta promo cuela?» o «pásame 5 ideas para la rebaja de la semana que viene» del cliente.
- Fin de mes: calcula la previsión de cierre y propone el reparto de presupuesto del mes siguiente.
De todo esto, donde hay que usar la cabeza es en «cómo interpreto los números y qué jugada hago». Pero lo que de verdad come tiempo es el paso de antes:
- Dejar con el mismo formato de tabla los CSV, que vienen distintos en cada plataforma.
- Poner en palabras hechos como «el CTR mejoró del 0,8 % al 1,1 %».
- El primer borrador del copy (al final lo reescribes casi entero, pero sacar la idea número uno desde cero da una pereza enorme).
Esa capa de «no hay que pensar, pero lleva tiempo» es la que te deja sin fuerzas. Y es justo lo que le encargas a Claude Code.
Caso 1: produce los primeros borradores de copy en serie y elige tú el enfoque
El copy, escrito desde cero, es lo que más pesa. Por eso yo le dejo a la IA «saca 10 primeros borradores» y me quedo con la criba de «por dónde atacamos».
El prompt de abajo es una plantilla para que saque ideas respetando el límite de caracteres del medio. Pongo el nombre del cliente y el producto en blanco y los sustituyo después.
Eres redactor de copys de una agencia de publicidad. Con las condiciones de abajo, dame 10 ideas de titular para un anuncio de búsqueda.
# Producto
Cosmética básica para mujeres de unos 40 años (crema hidratante). El público objetivo es quien se preocupa por las arruguitas que provoca la sequedad.
# Restricciones
- Cada titular, máximo 30 caracteres.
- No uses expresiones que necesiten prueba, como «Nº 1», «sin duda» o «seguro».
- Prohibidas las afirmaciones médicas o que rocen la normativa sanitaria (por ejemplo «hace desaparecer las manchas»).
- Reparte las 10 ideas en 3 tipos: «apelar al problema / apelar al beneficio / apelar a lo limitado».
# Formato de salida
Tipo | Idea de titular | Nº de caracteres
La clave es detallar bien las restricciones. Si llegas a indicar «que no roce la normativa sanitaria» y «cuenta los caracteres y dámelo en tabla», reduces las correcciones del paso siguiente. De las 10 ideas usarás 2 o 3 de verdad, pero comparado con el sufrimiento de exprimirlas desde cero es muchísimo más llevadero.
Se reutiliza con solo cambiar las condiciones por cliente o producto. Si fijas en el prompt los tipos de apelación que más usas (problema, beneficio, lo limitado, prueba social, temporada), también reduces el sesgo de las ideas.
Caso 2: que escriba el borrador de la parte plantilla del reporte mensual
En el reporte mensual, el 80 % de la estructura es igual cada mes: resumen, resultados por plataforma, comparación con el mes anterior y propuesta para el siguiente. Escribir esto a mano cada vez era tirar el tiempo.
Yo le paso los números en CSV y le hago escribir solo «la descripción de los hechos». La interpretación y las propuestas las sobrescribo yo. El prompt es así:
Eres analista de gestión de publicidad. Con el CSV adjunto (resultados mensuales por plataforma), prepárame un borrador del reporte mensual.
# Reglas
- Usa solo los números que estén en el CSV. No inventes números que no estén en el CSV.
- La «comparación con el mes anterior» se calcula con la columna del mes anterior y la del actual del CSV; añade entre paréntesis cómo lo calculaste.
- Lo bueno y lo malo, una línea por plataforma cada cosa.
- «Propuesta para el mes siguiente», máximo 3. Pero son provisionales: añade al final «(pendiente de confirmar por el gestor)».
# Estructura de salida
## Resumen del mes
## Resultados por plataforma (tabla)
## Temas en la comparación mensual
## Propuesta para el mes siguiente (a confirmar)
La frase «no escribas números que no estén en el CSV» es la que marca la diferencia. Sin ella, la IA se inventa cifras que parecen verosímiles. Es el reverso de mi metedura de pata del principio (reciclar los números del mes anterior): ahora es la IA la que rellena con números ficticios. Por eso fuerzo a que explicite la base del cálculo.
Hacer que ponga «(pendiente de confirmar por el gestor)» en la parte de propuestas también es intencionado. La propuesta de la IA es solo un punto de partida y la decisión final la toma una persona; conviene que esa línea quede visible también en el reporte.
Caso 3: que la máquina haga la revisión previa a la publicación
La revisión justo antes de subir el anuncio, hecha a ojo, siempre deja algo. Exceso de caracteres, olvidar los parámetros al final de la URL, expresiones que rozan la normativa. Esto lo conviertes en checklist y se lo pasas a la IA.
| Punto a revisar | Qué se comprueba | Quién decide al final |
|---|---|---|
| Nº de caracteres | Si supera el límite de cada plataforma | Lo detecta la IA, lo confirma la persona |
| Expresiones prohibidas | Palabras que necesitan prueba, como «seguro» o «Nº 1» | Lo detecta la IA, lo juzga la persona |
| Normativa sanitaria y de consumo | Afirmaciones de efecto, publicidad engañosa | Detección inicial de la IA, decisión final de la persona |
| Destino del enlace | Si la URL y los parámetros son correctos | Lo confirma siempre la persona |
| Cuadre de números | Que los del reporte coincidan con el panel | Lo confirma siempre la persona |
Pego esta checklist tal cual en el prompt y pido: «Revisa el siguiente texto del anuncio en cada punto y señálame, con su motivo, lo que falle». La IA es muy buena pillando descuidos. Pero los puntos de mayor responsabilidad, como la normativa o el destino del enlace, los decide la persona al final, tomando la indicación de la IA como referencia. Eso no lo delego jamás.
Lo que le dejas a la IA y lo que decides siempre tú
Dejo clara la línea. Si esto es difuso, a cambio de la comodidad llegan los accidentes.
| Proceso | Se lo dejas a la IA | Lo decide siempre la persona |
|---|---|---|
| Creación de copy | Lluvia de ideas del borrador, ajuste de caracteres, reformular | Con qué apelación atacar, si encaja con el mundo de la marca |
| Reporte | Poner los hechos en palabras, calcular la comparación mensual, borrador de estructura | Interpretar los números, la jugada del mes, el reparto de presupuesto |
| Revisión previa | Detección inicial de caracteres y palabras prohibidas | Decisión final sobre normativa, destino del enlace |
| Atención al cliente | Borrador de la respuesta | Texto final de promesas, presupuestos o disculpas |
Lo separo por el peso de la decisión. Lo que se puede rehacer, a la IA; las decisiones que generan responsabilidad, a la persona. La publicidad está atada a la normativa, así que dejo siempre un paso en el que revisa la persona que pone su nombre y asume la responsabilidad final.
Script de verificación que convierte los números en el esqueleto del reporte
He escrito «pásale el CSV con el prompt», pero ordenar a mano el CSV de cada plataforma también da trabajo. Como preprocesado mínimo, dejo un pequeño script que lee el CSV y lo convierte en una tabla Markdown con la comparación mensual. Funciona solo con Node.js. La idea es fijar la base de los números con la máquina antes de pasárselos a la IA.
import { readFileSync } from "node:fs";
// Uso: node report.mjs data.csv
// Columnas esperadas del CSV: media,impressions,clicks,cost,prev_cost
const file = process.argv[2] || "data.csv";
const rows = readFileSync(file, "utf8")
.trim()
.split("\n")
.slice(1) // descartar la fila de cabecera
.map((line) => line.split(","));
function ctr(clicks, imp) {
if (Number(imp) === 0) return "0.00";
return ((Number(clicks) / Number(imp)) * 100).toFixed(2);
}
function diff(now, prev) {
const n = Number(now);
const p = Number(prev);
if (p === 0) return "—";
const rate = (((n - p) / p) * 100).toFixed(1);
return (rate >= 0 ? "+" : "") + rate + "%";
}
console.log("| Plataforma | Impresiones | Clics | CTR | Coste | Var. mensual (coste) |");
console.log("| --- | --- | --- | --- | --- | --- |");
for (const [media, imp, clicks, cost, prevCost] of rows) {
console.log(
`| ${media} | ${imp} | ${clicks} | ${ctr(clicks, imp)}% | ${cost} € | ${diff(cost, prevCost)} |`
);
}
Ejecutarlo es solo esto:
node report.mjs data.csv
Lo que sale es una tabla Markdown con el CTR y la comparación mensual ya calculados por plataforma. Si la pegas tal cual en el prompt del Caso 2, la IA puede concentrarse en «poner en palabras» en vez de «calcular». El cálculo lo hace la máquina, la interpretación la persona y la redacción la IA. Cuando repartes los papeles, cada uno se ocupa solo de lo que se le da bien.
Cambia los nombres de columna del CSV según tus plataformas. En Meta aparece «reach» y en TikTok se suman métricas propias, pero te basta con añadir funciones pequeñas como ctr o diff para cubrirlo.
Qué cambió, y cómo, antes y después de adoptarlo
Lo pongo en números. Son cifras aproximadas del rango en el que yo realmente metía mano.
- Reporte mensual de un cliente: unas 2 horas → unos 45 minutos. La descripción de los hechos y las tablas a la IA; yo me concentro en interpretar y proponer.
- 10 primeros borradores de copy: unos 40 minutos → unos 10 minutos. La lluvia de ideas a la IA; la criba y el remate, yo.
- Con 8 clientes, solo en reportes se ahorra alrededor de 10 horas al mes.
Una estimación rápida del ROI: si suponemos una tarifa de 30 € la hora para el gestor, 10 horas al mes son unos 300 € de carga de trabajo. Con 8 clientes, ese tiempo se reinvierte en la calidad de las propuestas o en la atención a cuentas nuevas. El coste de la API o el uso de Claude Code sale rentable de sobra frente a esa reducción de trabajo. Eso sí, al principio se va tiempo en ajustar los prompts, así que el efecto se nota a partir del segundo o tercer mes.
No solo cambió el tiempo. Al recuperar «el margen para pensar», subió la calidad de las propuestas que llevo a la reunión mensual. Los accidentes como el del «mismo gráfico del mes pasado» del principio también desaparecieron al meter de por medio la revisión de la máquina.
Seguridad y datos personales
Una agencia de publicidad maneja las ventas del cliente, sus conversiones confidenciales y, a veces, listas de clientes. Cómo le pasas esto a la IA hay que decidirlo con cuidado.
- Pasa el nombre real del cliente y las cifras confidenciales en blanco siempre que puedas. Abstrae el producto a algo como «cosmética básica para mujeres de unos 40 años» y sustituye el nombre de la empresa por «Empresa A».
- No pegues nunca en el prompt datos personales del cliente final (email, teléfono, dirección). Para crear el copy o el reporte no hace falta ningún dato personal.
- Comprueba que el contrato no restrinja el uso de IA externa. Algunos clientes prohíben enviar datos fuera. Revisa antes el acuerdo de confidencialidad y las condiciones de uso.
- Lo que genere la IA siempre lo revisa una persona antes de publicarse. No subas la salida de la IA tal cual. Esto, más que seguridad, es la regla de oro para evitar accidentes.
Conviene preparar una hoja con la lista de «información que sí se le puede pasar a la IA» y «la que no» como regla interna; así desaparecen las diferencias entre una persona y otra. La forma de dejar escrita esta regla en la configuración del proyecto de Claude Code la tienes en las buenas prácticas de CLAUDE.md. Si lo vais a usar en equipo, leerlo antes reduce accidentes.
Por cierto, si eres gestor de campañas y no has tocado nunca Claude Code, primero prepara el entorno con la guía de iniciación a Claude Code y vuelve: así podrás probar los prompts de arriba enseguida.
Preguntas frecuentes
P. El copy que escribe la IA, ¿lo puedo usar tal cual? R. Como primer borrador está bien, pero no lo subas tal cual. Sobre todo en sectores que rozan la normativa sanitaria y de consumo (cosmética, complementos, salud), la revisión final de una persona es obligatoria. La IA es buena en la detección inicial de expresiones prohibidas, pero no puede asumir la responsabilidad de la decisión final.
P. Si reporto un número mal, ¿de quién es la culpa? R. Aunque hayas dejado el cálculo a la IA, la responsabilidad es de quien entrega. Por eso en este artículo fijo el cálculo en la máquina (el script) y a la IA le ato con «no escribas números que no estén en el CSV». Cuadra los números del reporte con el panel antes de entregarlo.
P. Se me da mal escribir prompts. ¿Cuál es el primer paso? R. Te recomiendo empezar por el borrador del reporte del Caso 2. Como la estructura es igual cada mes, notas el efecto rápido. La forma de montar los prompts la explico con ejemplos en ingeniería de prompts avanzada.
P. ¿Debería decirle al cliente que uso IA? R. Depende del contrato, pero creo que no hace falta esconderlo. El esquema de «uso IA para el borrador y la persona decide al final» es más bien fácil de explicar como control de calidad. Eso sí, sobre el manejo de datos confidenciales conviene acordarlo de antemano para quedarte tranquilo.
P. ¿Una agencia pequeña también sale rentable? R. Cuanto más pequeña, más efecto: una persona que lleva varios clientes a la vez. Como hay menos manos, recortar el trabajo rutinario se convierte directamente en margen. Aunque sean unos pocos clientes al mes, solo con los primeros borradores de reporte y copy te ahorras varias horas.
Lo que pasó al probarlo de verdad
Para escribir este artículo creé un CSV de prueba con 8 clientes ficticios, del tipo que uso en la gestión de mi propio sitio, y pasé de principio a fin el script y los prompts de arriba.
Con report.mjs solo me preocupaba si una plataforma con 0 impresiones provocaría una división entre cero, pero la protección de la función ctr devolvió «0.00» y la tabla no se rompió. La comparación mensual también devuelve «—» en una plataforma nueva sin datos del mes anterior, y ahí salió justo como esperaba.
En el prompt del reporte, cuando probé quitando la frase «no escribas números que no estén en el CSV», la IA se inventó tan tranquila que «la tasa de conversión muestra tendencia a mejorar», una métrica que no estaba en el CSV. Al añadir esa frase se cortó en seco y empezó a escribir solo con las columnas del CSV. En el prompt del copy comprobé que, al hacerle sacar el número de caracteres en tabla, bajaban los errores de conteo. Frente al límite de 30 caracteres, a veces se cuela una idea de 31, pero como el número se ve en la tabla, la persona lo descarta al instante.
En conclusión, lo que más efecto me dio no fue el ahorro de tiempo, sino «recuperar el margen para pensar». Al soltar el trabajo rutinario, puedo dedicar la cabeza a lo que importa: «¿qué hacemos el mes que viene?». El valor del trabajo en una agencia de publicidad está ahí, me reafirmé. Si quieres integrarlo en el flujo a nivel de equipo, en formación y consultoría diseñamos juntos desde los pasos de adopción. Y si prefieres probarlo primero por tu cuenta, empieza por los materiales y el PDF gratuito.
Los límites oficiales de caracteres y las expresiones prohibidas de cada plataforma pueden cambiar, así que al final confirma la fuente original, como la política oficial de Google Ads.
PDF gratis: cheatsheet de Claude Code
Introduce tu email y descarga una hoja con comandos, hábitos de revisión y flujos seguros.
Cuidamos tus datos y no enviamos spam.
Sobre el autor
Masa
Ingeniero enfocado en workflows prácticos con Claude Code.
Artículos relacionados
Checklist de permisos antes de que Claude Code edite un sitio de cliente
Guía para agencias que quieren usar IA en landing pages sin tocar zonas sensibles.
Convierte tickets de soporte SaaS en pasos reproducibles con Claude Code
Flujo para transformar reportes vagos en pasos, evidencia y una nota útil para ingeniería.
Convierte tus notas viejas de Obsidian en instrucciones para Claude Code en 10 minutos
Rutina de 10 minutos para separar tus notas de Obsidian en hechos, decisiones y dudas, y darle a Claude Code instrucciones que sí funcionan.