Agência de publicidade: como gerar copy de anúncio e relatórios com IA na metade do tempo
Para quem cuida de tráfego pago em agência: gere rascunhos com Claude Code, decida o essencial você mesmo e use prompts e scripts prontos.
Sexta-feira no fim da tarde, época em que eu ajudava com o tráfego pago de uma agência de publicidade.
Eram 8 clientes na minha carteira. No começo do mês, os relatórios mensais de todos venciam ao mesmo tempo. Tinha que explicar por que o CTR caiu, propor o que fazer no mês seguinte e, de quebra, sugerir uns 10 títulos novos para cada banner. Contando 2 horas por cliente, eram 16 horas com 8 clientes. E eu fazia tudo “olhando os números e garimpando palavra por palavra”, na mão.
Num mês, depois de uma noite mal dormida, entreguei um relatório sem perceber que tinha colado os números do mês anterior. Na reunião de rotina com o cliente, ouvi: “Esse gráfico não é igualzinho ao do mês passado?”. Gelei. As ideias de copy também tinham secado, e eu reciclava todo mês os mesmos “Só hoje!” e “Imperdível!”.
O problema não era capacidade, era distribuição do tempo. Tarefas que “não exigem pensar” — transcrever números, escrever o primeiro rascunho de copy — comiam minhas horas, e sobrava zero espaço pro que importa: “e aí, o que fazemos mês que vem?”. Depois que encaixei o Claude Code no fluxo de operação, foi exatamente aí que mudou tudo. Hoje eu conto como dividir esse trabalho, falando direto da rotina de uma agência.
Pontos principais
- O desgaste de quem opera tráfego pago se concentra no “primeiro rascunho de copy” e na “parte padrão do relatório mensal”. É isso que vai para a IA; a pessoa usa o tempo livre para decidir a estratégia.
- Para copy, rascunho de relatório e checagem pré-veiculação, deixei três prompts prontos para colar e usar.
- Sem separar “o que a IA escreve” de “o que a pessoa sempre decide”, você corre risco de violar a legislação de saúde/cosméticos ou de inventar números. Tem uma tabela com essa divisão.
- Tem um script de verificação que converte os números do CSV no esqueleto de um relatório em Markdown. Roda só colando.
- Também escrevi as regras mínimas para não vazar dados pessoais nem números confidenciais dos clientes.
Em que quem opera tráfego pago derrete o tempo
Primeiro, vamos deixar claro pra quem é este artigo. Penso em quem cuida de mídia paga de performance (links patrocinados, display, anúncios em redes sociais) para vários clientes ao mesmo tempo. Uma pessoa sozinha com 5 a 10 clientes, rodando Google, Meta, e ultimamente também TikTok.
O mês dessa pessoa flui mais ou menos assim:
- Começo do mês: exporta os números do mês anterior dos painéis de cada plataforma e monta o relatório mensal.
- Meio do mês: ajusta lances e criativos conforme as propostas do relatório, e cria ideias de copy para banners e anúncios de texto novos.
- A qualquer momento: responde ao cliente que pede “esse apelo pode?” ou “me manda 5 opções pra promoção da semana que vem”.
- Fim do mês: calcula a projeção de fechamento e propõe a distribuição de verba do mês seguinte.
Disso tudo, onde se deve usar a cabeça é em “como interpretar os números e o que fazer a respeito”. Mas o que realmente consome tempo é a etapa anterior:
- Padronizar num mesmo formato de tabela os CSVs que vêm diferentes de cada plataforma.
- Transformar fatos em frase, tipo “o CTR melhorou de 0,8% para 1,1%”.
- O primeiro rascunho da copy (que no fim será quase todo reescrito, mas tirar a primeira ideia do zero é o que mais cansa).
Essa camada de “não precisa pensar, mas dá trabalho” é o que rouba a energia de quem opera. É exatamente essa camada que vai para o Claude Code.
Caso 1: produzir vários rascunhos de copy e a pessoa escolhe o apelo
Escrever copy do zero é o mais pesado. Por isso eu delego à IA “gerar 10 rascunhos” e fico com a parte de selecionar “em qual direção atacar”.
O prompt abaixo é um modelo que gera opções respeitando o limite de caracteres da plataforma. Deixe o nome do cliente e o produto anonimizados e substitua depois.
Você é redator de uma agência de publicidade. Gere 10 títulos para anúncio de link patrocinado nas condições abaixo.
# Produto
Creme hidratante para mulheres de 40+ anos. Público com preocupação de linhas finas causadas pelo ressecamento.
# Restrições
- Cada título com no máximo 30 caracteres.
- Não use expressões que exigem comprovação, como "Nº 1", "garantido", "sempre".
- Proibido afirmar efeito de forma médica ou que infrinja a legislação de cosméticos (ex.: "elimina manchas").
- Divida os 10 em três tipos: "apelo de dor / apelo de benefício / apelo de exclusividade".
# Formato de saída
Tipo | Título | Nº de caracteres
O segredo é detalhar as restrições. Quando você manda até “não infrinja a lei de cosméticos” e “conte os caracteres e mostre em tabela”, o retrabalho na etapa seguinte cai. Dos 10, dá para usar 2 ou 3 de verdade, mas comparado ao sofrimento de espremer tudo do zero, é incomparavelmente mais leve.
Dá para reaproveitar trocando só as condições por cliente e produto. Se você fixar no prompt os tipos de apelo que mais usa (dor, benefício, exclusividade, prova social, sazonal), também reduz o viés das ideias. Quem está começando do zero pode ler antes o Claude Code para quem não é dev e voltar com a cabeça mais leve.
Caso 2: deixar a IA rascunhar a parte padrão do relatório mensal
No relatório mensal, 80% da estrutura é igual todo mês: resumo, resultado por plataforma, comparação com o mês anterior, proposta para o mês seguinte. Escrever isso na mão toda vez era desperdício de tempo.
Eu passo os números em CSV e deixo a IA escrever só “a descrição dos fatos”. A interpretação e a proposta eu sobrescrevo. O prompt é este:
Você é analista de mídia paga. Com base no CSV anexo (resultado mensal por plataforma), crie um rascunho de relatório mensal.
# Regras
- Use apenas os números que estão no CSV. Não escreva números fora do CSV por suposição.
- A "comparação com o mês anterior" deve ser calculada das colunas de mês anterior e mês atual, e a base do cálculo deve vir entre parênteses.
- Pontos bons e ruins: uma linha por plataforma para cada.
- "Propostas para o mês seguinte": no máximo 3. Trate como provisórias e acrescente no fim "(requer confirmação do operador)".
# Estrutura de saída
## Resumo do mês
## Resultado por plataforma (tabela)
## Tópicos na comparação mensal
## Propostas para o mês seguinte (a confirmar)
A frase “não escreva números fora do CSV” faz toda a diferença. Sem ela, a IA inventa números que parecem plausíveis. É o oposto do meu deslize do começo (reaproveitar números do mês anterior): agora é a IA que preenche com números fictícios. Por isso eu forço a explicitação da base de cálculo.
Mandar a IA colocar “(requer confirmação do operador)” na parte das propostas também é intencional. A proposta da IA é só um ponto de partida, e a decisão final é da pessoa — deixo essa linha visível até dentro do relatório.
Caso 3: deixar a máquina fazer a autochecagem antes de veicular
A checagem na hora de subir o anúncio, feita só no olho, sempre deixa passar algo: estouro de caracteres, parâmetro de URL esquecido, expressão que infringe a legislação de cosméticos. Transformo isso em checklist e rodo com a IA.
| Item de checagem | O que verificar | Quem decide no fim |
|---|---|---|
| Caracteres | Se passou do limite de cada plataforma | IA detecta, pessoa confere |
| Termos proibidos | ”sempre”, “Nº 1” e palavras que exigem prova | IA detecta, pessoa julga |
| Lei de cosméticos / propaganda | Afirmação de efeito, indução enganosa | IA faz triagem, pessoa decide |
| Destino do link | Se URL e parâmetros estão corretos | Pessoa sempre confere |
| Coerência dos números | Se o número do relatório bate com o painel | Pessoa sempre confere |
Colo esse checklist direto no prompt e peço: “verifique o texto do anúncio abaixo em cada item e aponte, com justificativa, o que tropeçou”. A IA é boa em pescar o que passou despercebido. Mas itens de responsabilidade pesada, como a lei de cosméticos e o destino do link, eu uso a indicação da IA como referência e a decisão final é da pessoa. Isso eu nunca terceirizo por completo.
O que entregar à IA e o que a pessoa sempre decide
Vamos deixar a divisão clara. Quando ela é vaga, a comodidade vem acompanhada de acidentes.
| Etapa | Entregar à IA | A pessoa sempre decide |
|---|---|---|
| Criação de copy | Rascunho de ideias, ajuste de caracteres, reescrita de expressão | Qual apelo usar, se combina com o universo da marca |
| Relatório | Descrição dos fatos, cálculo da variação mensal, rascunho da estrutura | Interpretação dos números, plano do mês seguinte, distribuição de verba |
| Checagem pré-veiculação | Triagem inicial de caracteres e termos proibidos | Decisão final sobre legislação, destino do link |
| Atendimento ao cliente | Rascunho da resposta | Texto final de compromisso, orçamento, desculpas |
Divido pelo peso da decisão. Tarefa que dá para refazer vai pra IA; decisão que gera responsabilidade fica com a pessoa. Publicidade está diretamente ligada à legislação (cosméticos, propaganda enganosa), então sempre mantenho uma etapa em que um humano que assina embaixo confere.
Script de verificação que converte números no esqueleto do relatório
Eu disse “passe o CSV pelo prompt”, mas padronizar na mão o CSV de cada plataforma também dá trabalho. Como pré-processamento mínimo, deixo um pequeno script que lê o CSV e converte numa tabela Markdown já com a variação mensal. Roda só com Node.js. A ideia é firmar a base dos números na máquina antes de entregar à IA.
import { readFileSync } from "node:fs";
// Uso: node report.mjs data.csv
// Colunas esperadas no CSV: media,impressions,clicks,cost,prev_cost
const file = process.argv[2] || "data.csv";
const rows = readFileSync(file, "utf8")
.trim()
.split("\n")
.slice(1) // descarta a linha de cabeçalho
.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 | Impressões | Cliques | CTR | Custo | Var. mensal (custo) |");
console.log("| --- | --- | --- | --- | --- | --- |");
for (const [media, imp, clicks, cost, prevCost] of rows) {
console.log(
`| ${media} | ${imp} | ${clicks} | ${ctr(clicks, imp)}% | R$ ${cost} | ${diff(cost, prevCost)} |`
);
}
Para executar, é só isto:
node report.mjs data.csv
O que sai é uma tabela Markdown com o CTR e a variação mensal por plataforma já calculados. Colando isso direto no prompt do Caso 2, a IA se concentra em “transformar em texto” em vez de “calcular”. Cálculo é da máquina, interpretação é da pessoa, redação é da IA. Quando você separa os papéis, cada um cuida só do que faz bem.
Mude os nomes das colunas do CSV para casar com suas plataformas. No Meta há “reach”, no TikTok surgem métricas próprias, mas dá para cobrir só adicionando funções pequenas como ctr ou diff.
O que mudou antes e depois de adotar
Vou em números. É uma estimativa grosseira da faixa em que eu mesmo botava a mão.
- Relatório mensal de 1 cliente: cerca de 2 horas → cerca de 45 minutos. A descrição dos fatos e a tabela vão para a IA; eu me concentro em interpretação e proposta.
- 10 rascunhos de copy: cerca de 40 minutos → cerca de 10 minutos. A IA gera as ideias, eu seleciono e dou o acabamento.
- Rodando 8 clientes, só nos relatórios já dá uma economia de uns 10 horas no mês.
Uma estimativa grosseira de ROI: se a hora de quem opera vale, digamos, R$ 90, 10 horas no mês equivalem a R$ 900 de esforço. Com 8 clientes, esse tempo vira qualidade de proposta e atendimento a novos. O custo de API e uso do Claude Code se paga com folga diante dessa redução de esforço. Claro, no início você gasta tempo ajustando os prompts, então o efeito aparece a partir do 2º ou 3º mês.
E não mudou só o tempo. Com o “espaço para pensar” de volta, a qualidade das propostas que levo à reunião mensal subiu. Acidentes como o “gráfico igual ao do mês passado” do começo sumiram depois que passei a intercalar a checagem da máquina.
Cuidados com segurança e dados pessoais
Uma agência lida com o faturamento do cliente, número de conversões não público e, às vezes, lista de clientes. Como entregar isso à IA precisa ser decidido com cuidado.
- Entregue nome real e números confidenciais do cliente anonimizados sempre que possível. Abstraia o produto como “creme hidratante para mulheres de 40+ anos” e troque o nome da empresa por “Cliente A”.
- Nunca cole dados pessoais de clientes finais (e-mail, telefone, endereço) no prompt. Para criar copy ou relatório, dado pessoal não é necessário.
- Verifique se o contrato não restringe o uso de IA externa. Alguns clientes proíbem o envio de dados para fora. Confira antes o NDA e os termos de uso.
- O resultado gerado sempre passa por revisão humana antes de ir ao ar. Não suba a saída da IA direto. Mais que segurança, isso é regra de ouro para evitar acidentes.
Como regra interna, monte uma folha única com “informação que pode ir para a IA” e “informação que não pode”. Isso elimina a variação entre operadores. Como gravar essa regra na configuração do projeto do Claude Code está em boas práticas de CLAUDE.md. Se for usar em equipe, leia antes que reduz acidentes.
Quem nunca tocou no Claude Code deve montar o ambiente primeiro com o guia para começar com Claude Code e então voltar para testar os prompts de cima.
Perguntas frequentes
P. A copy que a IA escreveu pode usar do jeito que está? R. Como rascunho serve, mas não suba direto. Especialmente em setores que esbarram na legislação de cosméticos e propaganda (cosméticos, suplementos, saúde), a checagem humana final é obrigatória. A IA é boa na triagem inicial de termos proibidos, mas não assume a responsabilidade da decisão final.
P. Se eu reportar um número errado, de quem é a culpa? R. Mesmo que a IA tenha feito o cálculo, a responsabilidade é de quem entregou. Por isso, neste artigo, fixo o cálculo na máquina (script) e amarro a IA com “não escreva números fora do CSV”. Confira os números do relatório contra o painel antes de entregar.
P. Tenho dificuldade em escrever prompt. Qual o primeiro passo? R. Recomendo começar pelo rascunho de relatório do Caso 2. Como a estrutura é igual todo mês, é fácil sentir o efeito. A forma de montar o prompt em si está explicada com exemplos em engenharia de prompt avançada.
P. Devo avisar o cliente que estou usando IA? R. Depende do contrato, mas acho que não precisa esconder. O esquema “uso IA no rascunho e a decisão final é humana” é até mais fácil de explicar como controle de qualidade. Só combine antes o tratamento dos dados não públicos para ficar tranquilo.
P. Vale a pena para agência pequena? R. Quanto menor a operação, com uma pessoa rodando vários clientes, mais o efeito aparece. Como há pouca mão de obra, cortar tarefa repetitiva já vira folga direto. Mesmo com poucos clientes por mês, só os rascunhos de relatório e copy já liberam algumas horas.
O que aconteceu quando testei de verdade
Para escrever este artigo, criei CSVs fictícios de 8 clientes imaginários que uso na operação do meu próprio site e rodei o script e os prompts de ponta a ponta.
No report.mjs, meu único receio era a divisão por zero numa plataforma com 0 impressões, mas a guarda da função ctr retornou “0.00” e a tabela não quebrou. A variação mensal também retorna ”—” numa plataforma nova sem dado anterior — também saiu como previsto.
No prompt do relatório, ao testar primeiro sem a frase “não escreva números fora do CSV”, a IA tranquilamente inventou “a taxa de conversão está em tendência de melhora”, uma métrica que nem estava no CSV. Ao acrescentar a frase, parou na hora e passou a escrever só com as colunas do CSV. No prompt de copy, confirmei que mandar mostrar a contagem de caracteres em tabela reduz o erro de contagem. Contra o limite de 30 caracteres, às vezes entra uma opção com 31, mas como o número aparece na tabela, a pessoa elimina na hora.
A conclusão é que o que mais senti não foi a economia de tempo, e sim “o espaço para pensar de volta”. Quando você larga a tarefa repetitiva, a cabeça vai para o que importa: “o que fazer mês que vem”. É aí que está o valor do trabalho numa agência, e reafirmei isso. Se quiser encaixar no fluxo da equipe inteira, em treinamento e consultoria dá para desenhar junto desde o passo a passo de adoção. Quem quer testar sozinho primeiro, comece pelos materiais e PDF gratuito.
O limite oficial de caracteres e os termos proibidos de cada plataforma podem mudar, então confira no fim a fonte primária, como a política oficial do Google Ads.
PDF grátis: cheatsheet do Claude Code
Informe seu e-mail e baixe uma página com comandos, hábitos de revisão e workflows seguros.
Cuidamos dos seus dados e não enviamos spam.
Sobre o autor
Masa
Engenheiro focado em workflows práticos com Claude Code.
Artigos relacionados
Checklist de permissões antes de Claude Code editar site de cliente
Um quadro para agências usarem IA em landing pages sem tocar áreas sensíveis.
Transforme tickets de suporte SaaS em passos reproduzíveis com Claude Code
Fluxo para converter chamados vagos em reprodução, evidência e nota útil para engenharia.
Rotina de 10 minutos para transformar notas antigas do Obsidian em brief para o Claude Code
Suas notas do Obsidian viram lixo toda sessão? Separe fatos, decisões e dúvidas e transforme-as num brief que o Claude Code executa direto.