4.3 KiB
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: 85–90
- 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.