334 lines
6.5 KiB
Markdown
334 lines
6.5 KiB
Markdown
# REGRAS CONSOLIDADAS PARA GOOGLE ADS (V12.6 — HEADLINE 30 + HARD MATCH + DKI SAFE MODE + RECONCILIATION ENGINE)
|
|
|
|
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), agora com camada adicional
|
|
RECONCILIATION ENGINE (ANTI FALSE NEGATIVE) para validação estrutural final.
|
|
|
|
Compatível com GAS v6 — ENGINE AUDITOR HARD MATCH.
|
|
|
|
---
|
|
|
|
# 🆕 V12.6 — ATUALIZAÇÃO (HEADLINE 30)
|
|
|
|
* **Headlines (Títulos):** limite alterado de **25** para **30 caracteres**.
|
|
* **Demais ativos** (keywords, callouts, sitelinks e descrições de sitelink): permanecem com **limite 25** (ou os limites já definidos nas seções próprias).
|
|
|
|
---
|
|
|
|
# 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 (Headlines ≤30; demais conforme seção)
|
|
PASSO 8 → Inserir Localização (fora dos espelhos)
|
|
```
|
|
|
|
FIM
|
|
|
|
Depois:
|
|
PASSO 9 → Negativas
|
|
PASSO 10 → Extensões
|
|
PASSO 11 → HARD LOCK VALIDATION
|
|
PASSO 12 → RECONCILIATION ENGINE (ANTI FALSE NEGATIVE)
|
|
PASSO 13 → AUDITORIA GAS v6 (Opcional)
|
|
|
|
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.
|
|
```
|
|
|
|
---
|
|
|
|
# 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.
|
|
|
|
REGRAS:
|
|
|
|
1. Para cada keyword do grupo (7):
|
|
headline_espelho = normalizar(canonizar(keyword))
|
|
|
|
2. O headline_espelho deve ser EXATO (após normalização).
|
|
|
|
3. PROIBIÇÃO ABSOLUTA — "SP" NO ESPELHO
|
|
|
|
4. MIRROR ENFORCEMENT:
|
|
A lista final de 15 títulos deve conter TODOS os 7 headlines_espelho.
|
|
|
|
---
|
|
|
|
# 4.2 HEADLINE DKI — SAFE MODE
|
|
|
|
FORMATO:
|
|
{Keyword:PADRAO_DO_GRUPO}
|
|
|
|
REGRAS SAFE:
|
|
|
|
* DKI nunca substitui espelhos
|
|
* DKI fora do bucket literal
|
|
* ≤30 caracteres
|
|
|
|
---
|
|
|
|
# 5. TÍTULOS — MONTAGEM DETERMINÍSTICA
|
|
|
|
**Limite de caracteres (V12.6):** cada headline deve ter **≤30 caracteres**.
|
|
|
|
Distribuição: 05 / 05 / 05
|
|
|
|
Bucket 1: 5 espelhos
|
|
Bucket 2: 3 CTA/Local + 1 espelho + 1 DKI
|
|
Bucket 3: 4 provas + 1 espelho
|
|
|
|
---
|
|
|
|
# 6. DESCRIÇÕES — DETERMINISTIC TEXT ENGINE
|
|
|
|
80 ≤ caracteres ≤ 92
|
|
|
|
Proibido substring.
|
|
Falhou validação → Regenerar do zero.
|
|
|
|
---
|
|
|
|
# 7. EXTENSÕES — HARD LOCK
|
|
|
|
Sitelinks: 4 obrigatórios
|
|
Callouts: 7 obrigatórios
|
|
|
|
---
|
|
|
|
# 8. POLÍTICAS EDITORIAIS
|
|
|
|
Proibido:
|
|
|
|
* Grátis
|
|
* Gratuito
|
|
* caixa alta total
|
|
|
|
---
|
|
|
|
# 9. HARD LOCK VALIDATION (FINAL)
|
|
|
|
Validar integridade completa antes da saída.
|
|
|
|
---
|
|
|
|
# V12.5 — RECONCILIATION ENGINE (ANTI FALSE NEGATIVE)
|
|
|
|
OBJETIVO:
|
|
Adicionar camada determinística de Reconciliação garantindo integridade total entre ENGINE e estado final.
|
|
|
|
---
|
|
|
|
## PRINCÍPIO
|
|
|
|
ENGINE → cria HARD LOCK → RECONCILIATION → AUDITORIA
|
|
|
|
---
|
|
|
|
## SNAPSHOTS OBRIGATÓRIOS (ENGINE_STATE)
|
|
|
|
keywords_raw[7]
|
|
keywords_canon[7]
|
|
keywords_norm[7]
|
|
headlines_espelho_criados[7]
|
|
headline_dki_criado[1]
|
|
headlines_final[15]
|
|
|
|
bucket_map_final
|
|
|
|
descricao_final
|
|
callouts_final[7]
|
|
sitelinks_final[4]
|
|
|
|
---
|
|
|
|
## FINGERPRINTS (OBRIGATÓRIO)
|
|
|
|
Criar hashes SHA-256:
|
|
|
|
fp_keywords_norm
|
|
fp_headlines_final_norm
|
|
fp_descricao_final
|
|
fp_bucket_map
|
|
|
|
---
|
|
|
|
## REGRAS DE RECONCILIAÇÃO
|
|
|
|
R1 — EXISTÊNCIA 7/7
|
|
Cada keyword_norm deve existir como headline espelho final.
|
|
|
|
R2 — INTEGRIDADE DO ESPELHO
|
|
headline espelho deve permanecer idêntica.
|
|
|
|
R3 — CONTAGEM DE ESPELHOS
|
|
Exatamente 7 espelhos únicos.
|
|
|
|
R4 — DKI SAFE MODE
|
|
|
|
* exatamente 1 headline DKI
|
|
* formato {Keyword:PADRAO}
|
|
* não substitui espelhos
|
|
* fora do bucket literal
|
|
|
|
R5 — BUCKET LAYOUT
|
|
Bucket 1: 5 espelhos
|
|
Bucket 2: 3 CTA + 1 espelho + 1 DKI
|
|
Bucket 3: 4 provas + 1 espelho
|
|
|
|
R6 — DESCRIÇÃO ANTI-GHOST
|
|
Fingerprint da descrição final deve existir nas descrições geradas.
|
|
|
|
R7 — INTEGRIDADE FINAL DA DESCRIÇÃO
|
|
80 ≤ caracteres ≤ 92
|
|
Termina com . ou !
|
|
|
|
R8 — CALLOUTS
|
|
7 obrigatórios, ≤25 caracteres.
|
|
|
|
R9 — SITELINKS
|
|
Cada sitelink com description1 e description2.
|
|
|
|
R10 — HEADLINES (V12.6)
|
|
* todas as 15 headlines devem ter **≤30 caracteres**
|
|
* proibido truncar automaticamente (se estourar, regenerar)
|
|
|
|
---
|
|
|
|
## SEVERIDADE
|
|
|
|
CRÍTICO: bloquear saída
|
|
ALTA: reexecutar etapa
|
|
MÉDIA: warning
|
|
|
|
---
|
|
|
|
## REEXECUÇÃO AUTOMÁTICA
|
|
|
|
DESYNC_MIRROR_* → Passo 4.1/5
|
|
DESYNC_DKI_VIOLATION → Passo 4.2/5
|
|
DESYNC_BUCKET_LAYOUT → Passo 5
|
|
DESYNC_DESCRIPTION_* → Passo 6
|
|
DESYNC_CALLOUT_TRUNC → Passo 7
|
|
DESYNC_SITELINK_INCOMPLETE → Passo 7
|
|
|
|
---
|
|
|
|
## STATUS FINAL
|
|
|
|
PASS_RECONCILIATION
|
|
FAIL_RECONCILIATION
|
|
|
|
---
|
|
|
|
# RESULTADO
|
|
|
|
A Reconciliação elimina falsos negativos estruturais garantindo execução determinística do HARD MATCH + DKI SAFE MODE. |