Files
Google-Ads/regras_prompt_old-3-boa.md

234 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# REGRAS CONSOLIDADAS PARA GOOGLE ADS (V11.2 — ENGINE HARD LOCK / COMMERCIAL PRIORITY)
OBJETIVO:
Versão HARD LOCK com prioridade comercial.
Blindar geração contra variações semânticas e erros de auditoria.
Capitalização inicial permitida.
Auditoria aceita igualdade semântica após normalização.
Nenhuma regra anterior foi removida — apenas reforçada.
---
# 0. FLUXO GLOBAL (ENGINE EXECUTION)
INÍCIO
PARA cada GRUPO_DE_ANUNCIO (total = 3):
PASSO 1 → Gerar Keywords
PASSO 2 → Normalizar Keywords (ENGINE NORMALIZE)
PASSO 3 → Selecionar Keywords Literais (COMMERCIAL PRIORITY)
PASSO 4 → Gerar Títulos Literais (HARD LOCK)
PASSO 5 → Gerar Títulos CTA/Local
PASSO 6 → Gerar Títulos Prova Social
PASSO 7 → Validar Limite de Caracteres
PASSO 8 → Gerar Descrições
PASSO 9 → Validar RANGE ESTRITO
PASSO 10 → Inserir Localização
FIM
Depois:
PASSO 11 → Negativas
PASSO 12 → Extensões
PASSO 13 → HARD LOCK VALIDATION
RETORNAR apenas JSON estruturado.
---
# 1. PALAVRAS-CHAVE (ENGINE STEP)
GERAR exatamente 7 keywords por grupo.
REGRAS:
- usar [Exata] e "Frase"
- máximo 25 caracteres
- garantir mínimo 5 keywords utilizáveis como título literal
### ENGINE NORMALIZE (MATCH BASE)
FUNÇÃO normalizar(keyword):
remover "[" "]" e '"'
aplicar Capitalização Inicial
manter acentuação
manter ordem original
NÃO alterar semântica
RETORNAR keyword_normalizada
HARD LOCK TOKEN:
literal_token = hash(keyword_normalizada)
---
# 3. TÍTULOS — ENGINE HARD LOCK
## 🆕 PRIORIDADE COMERCIAL (NOVO)
ANTES de selecionar títulos literais:
Identificar keywords com intenção direta:
- valor
- custo
- preço
- regularização
- revisão
- cálculo
- quanto custa
SE existirem:
essas keywords DEVEM entrar primeiro nas 5 literais obrigatórias.
Somente após preencher prioridades comerciais,
completar restante das literais.
---
## PASSO A — TÍTULOS LITERAIS (MATCH BLOQUEADO)
VAR lista_literais = selecionar_keywords_prioritarias()
PARA cada keyword:
titulo = normalizar(keyword)
token_titulo = hash(titulo)
SE token_titulo != literal_token:
BLOQUEAR alteração
REGERAR
SE tamanho(titulo) > 30:
substituir keyword
adicionar titulo
PERMITIDO:
- Capitalização inicial
PROIBIDO:
- adicionar SP
- alterar palavras
- alterar ordem
- reescrever semântica
---
## PASSO B — TÍTULOS CTA/LOCAL
- incluir SP ou São Paulo quando possível
- máximo 30 caracteres
## PASSO C — TÍTULOS PROVA SOCIAL
- usar autoridade da LP
- máximo 30 caracteres
TOTAL:
15 títulos por grupo.
---
# 4. DESCRIÇÕES — ENGINE HARD LOCK
### RANGE DEFINITIVO
- mínimo absoluto: 80
- alvo ideal: 8590
- máximo: 90
FUNÇÃO validar_descricao(texto):
🆕 ENGINE HARD LOCK — BLOQUEIO DE SUBSTRING
É PROIBIDO usar:
texto[:limite]
substring
slice
corte parcial
SE tamanho(texto) > 90:
REESCREVER FRASE COMPLETA
NUNCA cortar caracteres finais
SE detectar palavra incompleta:
REGERAR descrição automaticamente
SE tamanho < 80:
expandir automaticamente
SE tamanho entre 80 e 84:
expandir até ≥85
🆕 ANTI-TRUNCAMENTO FINAL
- descrição deve terminar com "." ou "!"
- nunca finalizar com palavra incompleta
- nunca terminar com espaço vazio
CONTEÚDO:
- incluir UVP
- incluir CTA
- incluir SP ou São Paulo quando possível
---
# 5. EXTENSÕES (ATIVOS — NÍVEL CAMPANHA)
SITELINKS:
- 4 obrigatórios
- título ≤25 caracteres
- 2 descrições ≤35 caracteres
CALLOUTS:
- 7 obrigatórios
- ≤25 caracteres
- incluir 01 diferencial competitivo único
---
# 6. POLÍTICAS EDITORIAIS
PROIBIDO:
- "Grátis"
- "Gratuito"
- caixa alta total (exceto SP, OAB)
- pontuação excessiva
PERMITIDO:
- Capitalização Inicial em títulos literais.
---
# 7. HARD LOCK VALIDATION
ANTES DE ENTREGAR:
VALIDAR:
- existem 3 grupos?
- existem 15 títulos por grupo?
- existem 05 títulos literais?
- keywords comerciais estão dentro das literais?
- hash(titulo_literal) == literal_token ?
- nenhum título > 30 caracteres?
- descrições entre 80 e 90 caracteres?
- nenhuma substring detectada?
- existe SP/São Paulo fora das literais?
- existem 7 callouts?
SE falhar:
REEXECUTAR bloco inválido
---
RETORNO FINAL:
APENAS JSON estruturado.
SEM explicações.
SEM texto adicional.