← Voltar ao hubFunil A · Distrato
Para que serve: Mapa de eventos e como a campanha aprende com o lead que vale.

Handoff de Tracking — Distrato (Funil A)

Pinheiro Lima Advocacia · horus-tracking-setup (modo spec)

Estado: modo hipótese. Sem Gate 3 formal, sem credenciais do cliente e sem confirmação de infra. Este documento é o handoff/spec que a skill executa — não houve provisionamento real: nenhum tenant criado, nenhum SQL rodado, nenhum webhook ligado. Campos sensíveis marcados com [PLACEHOLDER] / [?]. Premissa da skill: ela não cria estratégia — consome a estratégia de ads + a LP e os torna mensuráveis. A publicação (Fase 4) só libera com validation-report aprovado.

Por que isto existe (a tese do funil)

O lead de distrato é caro e o ciclo é longo. Se a campanha otimizar por lead bruto (qualquer clique no WhatsApp), o algoritmo aprende a trazer volume ruim. O closed loop manda de volta para Meta/Google apenas o lead com mérito (tier quente do bot) — então a campanha otimiza pelo que vale dinheiro. É isso que torna o CPC caro do Google rentável. Sem tracking, publicar é queimar verba cega.

Pré-condições (Etapa 0) — bloqueadores

Mapa de eventos (o que medir na jornada)

Evento Onde dispara Tipo Uso na otimização
PageView LP carrega Pixel base público de remarketing
ViewContent (Calculadora) usuário inicia a calculadora browser sinal de engajamento (audiência)
EstimativaGerada (custom) resultado da calculadora aparece browser micro-conversão / remarketing quente
Lead clique no WhatsApp / início do bot Pixel + CAPI (mesmo event_id) conversão online (dedupe obrigatório)
LeadQualificado (offline) bot classifica tier=quente + vira oportunidade no CRM CAPI offline + Google EC/offline import evento de otimização principal
ConsultaAgendada (offline, opcional) consulta marcada offline valor de fundo / lookalike de alto valor

Contrato de dedupe (guardrail 3): o event_id é gerado no front no clique do WhatsApp e reusado no Lead server-side. Gerar um novo no servidor quebra o dedupe — bloqueador.

Nível 0 — browser-side (mesmo dia, não depende de token de servidor)

Nível 1+2 — server-side + closed loop (quando as credenciais chegarem)

  1. Provisionar tenant: segredos no Vault + linha em tracking.client_config (via tenant-config.sql gerado do template) — valida contra schema antes de enviar. [PLACEHOLDER credenciais]
  2. meta_test_event_code temporário durante a validação.
  3. CRM: definir HORUS_TENANT; escolher um único caminho offline (trigger recomendado) — os dois = conversão em dobro (guardrail 4).
  4. Fluxo do closed loop:
    bot (tier=quente) → handler /leads do CRM (server-side, chave forte do porteiro)
      → CAPI: LeadQualificado com _fbc/_fbp + event_id
      → Google: offline conversion import com gclid (ou EC for Leads com e-mail/telefone hasheado)
    
    A chave forte do porteiro nunca vai ao browser (guardrail 2).

Credenciais pendentes (handshake — disparar já, é o gargalo externo)

Validação técnica (gate técnico — não é gate de cliente)

Go-live readiness

Guardrails (da skill)

  1. Nunca redeployar o porteiro por cliente. 2. Chave forte nunca vai ao browser. 3. Reusar event_id do front. 4. Um único caminho offline. 5. Sem validation-report aprovado, não há Fase 4. 6. EMQ ≥ 8.0 / match ≥ 50%. 7. Consent Mode v2 (LGPD) antes do go-live.

O que está bloqueado agora

Provisionamento real (tenant, Vault, webhooks, uploads) depende de: Gate 3 aprovado, infra confirmada, credenciais coletadas e domínio real. Até lá, este handoff + o snippet são o que avança sem efeito colateral.

Pinheiro Lima Advocacia · André Pinheiro · OAB/CE [nº a confirmar] · Fortaleza, CE — preview de validação (uso interno).