P4.2 · Subir campanha no Google Ads
Depende de **P3.3 verde**. Skill: `/google-ads`.
O prompt
Automatize a subida de campanhas de Search a partir de arquivo versionado, usando o mcp-google-ads.
1. Configuração declarativa
ads/google/campanhas/radar-preco.yaml:
campanha:
nome: "Search · Radar de Preço"
tipo: SEARCH
status: PAUSED
orcamento_diario_centavos: 6000
estrategia: MAXIMIZE_CLICKS
cpc_teto_centavos: 400
rede_display: false # nunca ligada em campanha de Search
parceiros_de_busca: false
localizacao: [BR]
idioma: [pt]
conversao_primaria: "Radar assinado"
grupos:
- nome: "Monitoramento"
palavras:
- {texto: "monitoramento de preço concorrente", tipo: PHRASE}
- {texto: "monitorar preço dos concorrentes", tipo: PHRASE}
- {texto: "software de monitoramento de preços", tipo: PHRASE}
- {texto: "acompanhar preço do concorrente", tipo: PHRASE}
- {texto: "monitoramento de preço concorrente", tipo: EXACT}
rsa:
titulos:
- "Monitore o Preço do Concorrente"
- "Alerta Quando Baixam o Preço"
- "30 Produtos por R$ 97/Ano"
- "Preço do Concorrente Todo Dia"
- "Monitor de Preço Mercado Livre"
- "Pare de Conferir Preço na Mão"
- "Radar de Preço · EcomSmart"
- "Sem Planilha. Automático."
- "Teste Grátis 7 Dias"
- "Alerta por E-mail e WhatsApp"
- "R$ 97 pelo Ano Inteiro"
- "Feito para E-commerce BR"
descricoes:
- "Seus 30 produtos, 3 concorrentes cada, checados todo dia. Alerta no mesmo dia."
- "R$ 97 por ano. Menos que uma venda perdida por estar mais caro."
- "Mercado Livre, Shopee, Amazon e sites próprios. Sem instalar nada."
- "Conecte sua loja em 3 minutos. Teste grátis, sem cartão."
url: "https://radar.ecomsmart.com.br/radar-de-preco"
sufixo_url: "utm_source=google&utm_medium=cpc&utm_campaign=radar-preco&utm_term={keyword}&utm_content={creative}&gclid={gclid}"
extensoes:
sitelinks: ["Como funciona", "Preços", "Marketplaces", "Perguntas frequentes"]
frases_destaque: ["R$ 97 por ano", "Alerta diário", "Sem instalar nada", "Suporte em português"]
snippets:
cabecalho: "Tipos"
valores: ["Mercado Livre", "Shopee", "Amazon", "Site próprio"]
As palavras-chave das outras três campanhas estão em docs/07-google-ads.md.
2. Negativas
Lista compartilhada na conta, em ads/google/negativas-globais.yaml, aplicada a todas:
grátis, gratuito, download, baixar, crack, torrent, apostila, curso, aula,
o que é, significado, pdf, tcc, monografia, emprego, vaga, salário,
estágio, concurso, planilha grátis, excel grátis, tutorial, como fazer
Exceção: a campanha do Raio-X usa lista própria, sem "grátis" e "gratuito" — ali a palavra qualifica, o produto é grátis mesmo.
Criar como conjunto compartilhado na conta, não repetido por campanha.
3. Validação de anúncio responsivo
Falhe antes de chamar a API, apontando o texto problemático:
- Título com mais de 30 caracteres
- Descrição com mais de 90 caracteres
- Menos de 8 títulos ou menos de 3 descrições
- Palavra proibida
- Título duplicado
Isso economiza muito tempo de ida e volta com a API.
4. Comandos
python manage.py google_publicar ads/google/campanhas/radar-preco.yaml --dry-run
python manage.py google_publicar ads/google/campanhas/radar-preco.yaml --aplicar
python manage.py google_ativar "Search · Radar de Preço"
Mesmas regras da Meta: dry-run por padrão, idempotente por nome, estado em ads/google/estado.json, campanha nasce pausada, teto de orçamento por env, recusa se google_diagnostico estiver vermelho.
5. Lances
Começar em Maximizar cliques com CPC teto de R$ 4,00 por 14 dias. Depois migrar para Maximizar conversões. Com 30 conversões por mês, passar para tCPA.
Não comece em lance inteligente: sem histórico de conversão, o algoritmo não tem o que otimizar e o custo dispara.
Critérios de aceite
--dry-rundas quatro campanhas, revisado comigo- Campanha do Radar de Preço criada pausada, com grupos, anúncios responsivos e extensões
- Teste de validação: título com 31 caracteres falha antes da chamada à API
- Negativas globais aplicadas, verificadas por consulta GAQL
- Rodar de novo não duplica nada
- Rede de Display e parceiros de busca confirmados desligados