# Modelo: Captura de Lead (Cloudflare Native)

Este modelo é destinado a páginas de captura de leads (Opt-in), onde o objetivo principal é coletar o e-mail e/ou telefone do usuário antes de redirecioná-lo para a próxima etapa do funil.

---

## 🏗️ ARQUITETURA TÉCNICA (Quantum Tier)

O rastreamento é realizado de forma síncrona com o envio do formulário:
1. **Página**: Captura os dados do formulário e envia via `cdpTrack.track()`.
2. **Servidor (Worker)**: Recebe os dados, realiza o hashing SHA-256 e envia para as APIs.
3. **Database (D1)**: Armazena o lead e vincula aos IDs de rastreamento (`fbp`, `fbc`).

---

## 📘 EVENTOS PRINCIPAIS

| Evento | Gatilho | PII (Dados Pessoais) |
|---|---|---|
| **PageView** | Carregamento da página | IP, User-Agent, URL |
| **Lead** | Clique no botão de enviar | E-mail, Telefone, Nome (crus) |

---

## 🛠️ PASSO 1: CONFIGURAÇÃO DO SITE

### 1.1 SDK de Rastreamento (Header)
```html
<script src="/js/cdpTrack.js" async></script>
<script>
  window.cdpConfig = {
    metaId: 'SEU_PIXEL_ID',
    ttId: 'SEU_TIKTOK_ID'
  };
</script>
```

### 1.2 Captura do Formulário
Este script deve ser inserido antes da tag `</body>`. Ele garante que o evento seja enviado antes do redirecionamento.

```javascript
<script>
document.querySelector('#meu-formulario').addEventListener('submit', async (e) => {
  e.preventDefault();
  
  const leadData = {
    email: e.target.email.value,
    phone: e.target.phone.value,
    first_name: e.target.name.value,
    event_id: cdpTrack.generateId() // ID único para deduplicação
  };

  // Envia para o Worker (Cloudflare)
  await cdpTrack.track('Lead', leadData);
  
  // Prossegue com o envio real do formulário
  e.target.submit();
});
</script>
```

---

## ⚡ PASSO 2: SERVIDOR (CLOUDFLARE WORKER)

O PlayerBuilder Quantum Tier processa o evento via Cloudflare Worker:
1. **Deduplicação**: Utiliza o `event_id` do browser para 100% de precisão na Meta CAPI.
2. **Advanced Matching**: Aplica SHA256 em `email`, `phone`, `first_name` e `last_name` (WebCrypto native).
3. **D1 Store**: Salva o lead e o Identity Graph na tabela `leads`.
4. **API Dispatch**: Envia assincronamente para Meta CAPI (v25.0) e TikTok Events API (v1.3).

---

## ✅ VALIDAÇÃO TÉCNICA

- **Deduplicação**: Verifique se o `event_id` gerado no site é o mesmo recebido no Gerenciador de Eventos.
- **Match Quality**: O envio de e-mail e telefone hasheados pelo servidor garante a máxima pontuação de qualidade.
- **Persistência**: O lead deve aparecer no banco D1 imediatamente após o envio.
