322 lines
8.1 KiB
Markdown
322 lines
8.1 KiB
Markdown
# REGRAS CONSOLIDADAS PARA GOOGLE ADS (V12.4 — HARD MATCH + DKI SAFE MODE)
|
||
|
||
OBJETIVO:
|
||
Engine determinístico com canonização automática de keywords, espelhamento obrigatório de keywords em headlines
|
||
(HARD MATCH 7/7) + 01 título com DKI em modo seguro (SEM substituir espelhos),
|
||
e regeneração obrigatória de descrições (SEM substring).
|
||
|
||
Eliminar:
|
||
- falhas de Keyword Match por ausência de headline espelho exato
|
||
- truncamento por substring (descrições e callouts)
|
||
- inconsistência entre ENGINE e AUDITORIA
|
||
- riscos editoriais/limite de caracteres introduzidos por DKI
|
||
|
||
Nenhuma regra anterior foi removida — apenas reforçada.
|
||
Capitalização inicial permitida.
|
||
Compatível com GAS v6 — ENGINE AUDITOR HARD MATCH.
|
||
|
||
---
|
||
|
||
# 0. FLUXO GLOBAL (DETERMINISTIC EXECUTION)
|
||
|
||
INÍCIO
|
||
|
||
PARA cada GRUPO_DE_ANUNCIO (total = 3):
|
||
|
||
PASSO 1 → Gerar Keywords
|
||
PASSO 1.1 → SANITIZAR E CANONIZAR KEYWORDS
|
||
PASSO 2 → Normalizar Keywords
|
||
PASSO 3 → Classificar Keywords por PRIORIDADE
|
||
PASSO 4 → Selecionar Literais (ALGORITMO FIXO)
|
||
PASSO 4.1 → Gerar HEADLINES ESPELHO (1 por keyword)
|
||
PASSO 4.2 → Gerar 01 HEADLINE DKI (SAFE MODE)
|
||
PASSO 5 → Montar LISTA FINAL DE TÍTULOS (15) com MIRROR ENFORCEMENT + DKI SAFE
|
||
PASSO 6 → Gerar Descrições (REGENERAÇÃO OBRIGATÓRIA / SEM CORTE)
|
||
PASSO 7 → Validar Limites
|
||
PASSO 8 → Inserir Localização (fora dos espelhos)
|
||
|
||
FIM
|
||
|
||
Depois:
|
||
PASSO 9 → Negativas
|
||
PASSO 10 → Extensões
|
||
PASSO 11 → 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
|
||
- keywords devem ser juridicamente tituláveis.
|
||
|
||
---
|
||
|
||
## SANITIZAÇÃO E CANONIZAÇÃO (OBRIGATÓRIA)
|
||
|
||
ANTES de aceitar qualquer keyword:
|
||
|
||
FUNÇÃO canonizar(keyword):
|
||
|
||
remover duplicações de delimitadores:
|
||
[[texto]] → texto
|
||
|
||
converter para forma jurídica clara e titulável.
|
||
|
||
Exemplos obrigatórios:
|
||
casamento fim → Fim do Casamento
|
||
fim do casamento → Fim do Casamento
|
||
fim pensão → Fim da Pensão
|
||
fim da pensão → Fim da Pensão
|
||
custo inventário → Custo Inventário
|
||
|
||
SE keyword for vaga, truncada ou não titulável:
|
||
DESCARTAR e gerar nova.
|
||
|
||
---
|
||
|
||
## ENGINE NORMALIZE
|
||
|
||
FUNÇÃO normalizar(texto):
|
||
|
||
remover "[" "]" e '"'
|
||
remover espaços duplicados
|
||
aplicar Capitalização Inicial
|
||
manter acentuação
|
||
manter ordem
|
||
NÃO alterar semântica
|
||
|
||
RETORNAR texto_normalizado
|
||
|
||
---
|
||
|
||
# 2. CLASSIFICAÇÃO DETERMINÍSTICA DE KEYWORDS
|
||
|
||
PRIORIDADE 1 — COMERCIAL DIRETA
|
||
- valor
|
||
- custo
|
||
- preço
|
||
- regularização
|
||
- revisão
|
||
- cálculo
|
||
- quanto custa
|
||
- honorários
|
||
|
||
PRIORIDADE 2 — CONTRATAÇÃO
|
||
- advogado
|
||
- ação
|
||
- processo
|
||
- consulta
|
||
|
||
PRIORIDADE 3 — INFORMATIVA
|
||
demais termos.
|
||
|
||
---
|
||
|
||
# 3. SELEÇÃO LITERAL DETERMINÍSTICA
|
||
|
||
FUNÇÃO selecionar_keywords_literais(lista_keywords):
|
||
|
||
ordenar por:
|
||
prioridade ASC
|
||
tamanho ASC
|
||
ordem original
|
||
|
||
selecionar até 5.
|
||
|
||
❗ Seleção automática — IA não escolhe manualmente.
|
||
|
||
---
|
||
|
||
# 4. KEYWORD MIRROR HEADLINES — HARD MATCH (ENFORCEMENT)
|
||
|
||
OBJETIVO:
|
||
Garantir que TODAS as 7 keywords do grupo tenham ao menos 1 headline correspondente EXATO após normalização.
|
||
Se a keyword existir, o headline espelho correspondente DEVE existir no output final.
|
||
|
||
REGRAS:
|
||
|
||
1) Para cada keyword do grupo (7):
|
||
headline_espelho = normalizar(canonizar(keyword))
|
||
|
||
2) O headline_espelho deve ser EXATO (após normalização).
|
||
PROIBIDO:
|
||
- adicionar palavras (ex: "SP", "Rápido", "Seguro")
|
||
- remover palavras
|
||
- trocar ordem
|
||
- criar sinônimos
|
||
- plural/singular diferente
|
||
|
||
3) PROIBIÇÃO ABSOLUTA — "SP" NO ESPELHO
|
||
Se a keyword NÃO contém "SP" ou "São Paulo",
|
||
o headline_espelho NÃO pode conter "SP" ou "São Paulo".
|
||
|
||
4) MIRROR ENFORCEMENT (REGRA DE MONTAGEM):
|
||
A lista final de 15 títulos DO GRUPO deve conter, como itens separados,
|
||
TODOS os 7 headlines_espelho. Nenhum espelho pode ser omitido, substituído ou reescrito.
|
||
|
||
---
|
||
|
||
# 4.2 HEADLINE DKI — SAFE MODE (NOVO)
|
||
|
||
OBJETIVO:
|
||
Adicionar 01 headline com Dynamic Keyword Insertion para aumentar relevância/CTR em cauda longa,
|
||
SEM derrubar o HARD MATCH (espelhos continuam obrigatórios).
|
||
|
||
FORMATO DKI (OBRIGATÓRIO):
|
||
{Keyword:PADRAO_DO_GRUPO}
|
||
|
||
REGRAS SAFE:
|
||
|
||
1) O headline DKI NUNCA substitui nenhum headline_espelho.
|
||
Os 7 espelhos continuam obrigatórios dentro dos 15 títulos.
|
||
|
||
2) O headline DKI NÃO PODE entrar no Bucket de LITERAIS.
|
||
Ele entra apenas como título "livre" dentro do Bucket CTA/Local.
|
||
|
||
3) PADRAO_DO_GRUPO deve ser curto, titulável e ≤ 30 caracteres.
|
||
Exemplos recomendados (escolher 1):
|
||
- Advogado de Família
|
||
- Divórcio em SP
|
||
- Guarda e Pensão
|
||
- Inventário em SP
|
||
|
||
4) PROIBIDO no DKI:
|
||
- termos proibidos ("Grátis", "Gratuito" e variações)
|
||
- palavras cortadas
|
||
- caixa alta total
|
||
- pontuação excessiva
|
||
|
||
5) Se houver risco de estourar 30 caracteres (por inserção dinâmica),
|
||
o PADRAO_DO_GRUPO deve ser ainda mais curto (≤ 20 caracteres).
|
||
|
||
---
|
||
|
||
# 5. TÍTULOS — MONTAGEM DETERMINÍSTICA (15 POR GRUPO)
|
||
|
||
Distribuição original mantida: 05 / 05 / 05 (LITERAL / CTA-LOCAL / PROVA).
|
||
|
||
REGRA DETERMINÍSTICA DE POSIÇÃO:
|
||
|
||
- Bucket 1 (05 LITERAIS): usar os 5 primeiros headlines_espelho (pela ordem de prioridade).
|
||
- Bucket 2 (05 CTA/LOCAL): 3 CTAs/Local reais + 1 headline_espelho (o 6º) + 1 headline DKI (SAFE MODE).
|
||
- Bucket 3 (05 PROVA): 4 provas/diferenciais reais + 1 headline_espelho (o 7º).
|
||
|
||
HARD LOCK:
|
||
- os 7 headlines_espelho entram exatamente como gerados (sem SP extra).
|
||
- CTAs/Provas podem conter SP/São Paulo quando possível.
|
||
- o DKI entra como adicional controlado, sem substituir espelhos.
|
||
|
||
LIMITES:
|
||
- cada título ≤ 30 caracteres
|
||
|
||
---
|
||
|
||
# 6. DESCRIÇÕES — DETERMINISTIC TEXT ENGINE (NO-TRUNC OUTPUT)
|
||
|
||
RANGE:
|
||
80 ≤ caracteres ≤ 92
|
||
IDEAL: 85–90
|
||
|
||
ORDEM DE EXECUÇÃO OBRIGATÓRIA:
|
||
1) GERAR descrição completa
|
||
2) VALIDAR tamanho e integridade
|
||
3) SE inválida → REGERAR DO ZERO
|
||
4) PROIBIDO ajustar por corte
|
||
|
||
REGRA ABSOLUTA — ANTI SUBSTRING:
|
||
NUNCA usar:
|
||
- texto[:limite]
|
||
- slice
|
||
- substring
|
||
- corte parcial
|
||
|
||
VALIDAÇÃO DE INTEGRIDADE (OBRIGATÓRIA):
|
||
Uma descrição SÓ É VÁLIDA se:
|
||
- 80 ≤ caracteres ≤ 92
|
||
- termina com "." ou "!"
|
||
- NÃO termina com espaço
|
||
- NÃO termina com palavra incompleta
|
||
|
||
SE QUALQUER ITEM FALHAR:
|
||
REGERAR do zero (reescrita completa).
|
||
|
||
AJUSTE DETERMINÍSTICO:
|
||
- Se > 92: reescrever reduzindo conectivos e adjetivos (sem cortar string).
|
||
- Se < 80: reescrever adicionando UVP ou CTA (sem inflar demais).
|
||
|
||
CONTEÚDO:
|
||
- incluir UVP + CTA
|
||
- incluir SP/São Paulo quando possível (sem quebrar o range)
|
||
|
||
---
|
||
|
||
# 7. EXTENSÕES (ATIVOS) — HARD LOCK
|
||
|
||
SITELINKS:
|
||
- 4 obrigatórios
|
||
- título ≤25 caracteres
|
||
- 2 descrições ≤35 caracteres
|
||
|
||
CALLOUTS:
|
||
- 7 obrigatórios
|
||
- ≤25 caracteres
|
||
- incluir 01 diferencial competitivo
|
||
|
||
ANTI-TRUNCAMENTO — CALLOUTS (OBRIGATÓRIO):
|
||
- Proibido cortar string para caber em 25 caracteres.
|
||
- Se exceder 25, REESCREVER o callout completo (sem substring).
|
||
- Proibido terminar com palavra incompleta ou espaço final.
|
||
|
||
---
|
||
|
||
# 8. POLÍTICAS EDITORIAIS
|
||
|
||
PROIBIDO:
|
||
- "Grátis"
|
||
- "Gratuito"
|
||
- caixa alta total (exceto SP, OAB)
|
||
- pontuação excessiva
|
||
|
||
PERMITIDO:
|
||
- Capitalização inicial nos espelhos e literais.
|
||
|
||
---
|
||
|
||
# 9. HARD LOCK VALIDATION (FINAL)
|
||
|
||
VALIDAR:
|
||
|
||
- existem 3 grupos?
|
||
- existem 7 keywords por grupo?
|
||
- keywords foram canonizadas?
|
||
- existem 7 headlines_espelho (1 por keyword)?
|
||
- CADA keyword possui 1 headline_espelho EXATO após normalização?
|
||
- existem 15 títulos por grupo?
|
||
- Bucket 1 contém 5 espelhos?
|
||
- Bucket 2 contém 1 espelho (6º) + 3 CTAs reais + 1 DKI?
|
||
- Bucket 3 contém 1 espelho (7º) + 4 provas reais?
|
||
- o DKI está no formato {Keyword:...} e ≤ 30?
|
||
- o DKI NÃO contém termos proibidos?
|
||
- nenhum título > 30?
|
||
- descrições 80–92?
|
||
- descrições terminam com "." ou "!"?
|
||
- nenhuma descrição termina com palavra incompleta ou espaço?
|
||
- nenhuma substring detectada em descrições?
|
||
- callouts completos (sem palavra incompleta) e ≤25?
|
||
- existem 7 callouts?
|
||
|
||
SE falhar:
|
||
REEXECUTAR apenas bloco inválido
|
||
|
||
---
|
||
|
||
RETORNO FINAL:
|
||
APENAS JSON estruturado.
|
||
SEM explicações.
|
||
SEM texto adicional. |