234 lines
4.3 KiB
Markdown
234 lines
4.3 KiB
Markdown
# 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.
|