cdp-edge 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +367 -0
  2. package/bin/cdp-edge.js +61 -0
  3. package/contracts/api-versions.json +368 -0
  4. package/dist/commands/analyze.js +52 -0
  5. package/dist/commands/infra.js +54 -0
  6. package/dist/commands/install.js +168 -0
  7. package/dist/commands/server.js +174 -0
  8. package/dist/commands/setup.js +123 -0
  9. package/dist/commands/validate.js +84 -0
  10. package/dist/index.js +12 -0
  11. package/docs/CI-CD-SETUP.md +217 -0
  12. package/docs/PixelBuilder-Documentacao-Completa (2).docx +0 -0
  13. package/docs/events-reference.md +359 -0
  14. package/docs/installation.md +155 -0
  15. package/docs/quick-start.md +185 -0
  16. package/docs/sdk-reference.md +371 -0
  17. package/docs/whatsapp-ctwa.md +209 -0
  18. package/extracted-skill/tracking-events-generator/INDEX.md +94 -0
  19. package/extracted-skill/tracking-events-generator/INSTALACAO-CDPEDGE.md +58 -0
  20. package/extracted-skill/tracking-events-generator/INTEGRACAO-COMPLETA.md +594 -0
  21. package/extracted-skill/tracking-events-generator/MELHORIAS-IMPLEMENTADAS.md +412 -0
  22. package/extracted-skill/tracking-events-generator/Premium-Tracking-Intelligence-Resumo.md +333 -0
  23. package/extracted-skill/tracking-events-generator/SKILL.md +257 -0
  24. package/extracted-skill/tracking-events-generator/advanced-matching.js +364 -0
  25. package/extracted-skill/tracking-events-generator/agents/ab-testing-agent.md +54 -0
  26. package/extracted-skill/tracking-events-generator/agents/attribution-agent.md +1304 -0
  27. package/extracted-skill/tracking-events-generator/agents/bing-agent.md +76 -0
  28. package/extracted-skill/tracking-events-generator/agents/browser-tracking.md +264 -0
  29. package/extracted-skill/tracking-events-generator/agents/code-guardian-agent.md +149 -0
  30. package/extracted-skill/tracking-events-generator/agents/compliance-agent.md +2077 -0
  31. package/extracted-skill/tracking-events-generator/agents/crm-integration-agent.md +1419 -0
  32. package/extracted-skill/tracking-events-generator/agents/dashboard-agent.md +456 -0
  33. package/extracted-skill/tracking-events-generator/agents/database-agent.md +667 -0
  34. package/extracted-skill/tracking-events-generator/agents/debug-agent.md +1455 -0
  35. package/extracted-skill/tracking-events-generator/agents/domain-setup-agent.md +224 -0
  36. package/extracted-skill/tracking-events-generator/agents/email-agent.md +61 -0
  37. package/extracted-skill/tracking-events-generator/agents/fingerprint-agent.md +52 -0
  38. package/extracted-skill/tracking-events-generator/agents/google-agent.md +109 -0
  39. package/extracted-skill/tracking-events-generator/agents/intelligence-agent.md +365 -0
  40. package/extracted-skill/tracking-events-generator/agents/intelligence-scheduling.md +643 -0
  41. package/extracted-skill/tracking-events-generator/agents/linkedin-agent.md +62 -0
  42. package/extracted-skill/tracking-events-generator/agents/localization-agent.md +55 -0
  43. package/extracted-skill/tracking-events-generator/agents/ltv-predictor-agent.md +59 -0
  44. package/extracted-skill/tracking-events-generator/agents/master-feedback-loop.md +900 -0
  45. package/extracted-skill/tracking-events-generator/agents/master-orchestrator.md +1922 -0
  46. package/extracted-skill/tracking-events-generator/agents/memory-agent.json +109 -0
  47. package/extracted-skill/tracking-events-generator/agents/memory-agent.md +703 -0
  48. package/extracted-skill/tracking-events-generator/agents/meta-agent.md +110 -0
  49. package/extracted-skill/tracking-events-generator/agents/page-analyzer.md +255 -0
  50. package/extracted-skill/tracking-events-generator/agents/performance-agent.md +1157 -0
  51. package/extracted-skill/tracking-events-generator/agents/performance-optimization-agent.md +1432 -0
  52. package/extracted-skill/tracking-events-generator/agents/pinterest-agent.md +310 -0
  53. package/extracted-skill/tracking-events-generator/agents/premium-tracking-intelligence-agent.md +849 -0
  54. package/extracted-skill/tracking-events-generator/agents/r2-setup-agent.md +250 -0
  55. package/extracted-skill/tracking-events-generator/agents/reddit-agent.md +313 -0
  56. package/extracted-skill/tracking-events-generator/agents/security-enterprise-agent.md +1752 -0
  57. package/extracted-skill/tracking-events-generator/agents/server-tracking.md +1188 -0
  58. package/extracted-skill/tracking-events-generator/agents/spotify-agent.md +383 -0
  59. package/extracted-skill/tracking-events-generator/agents/tiktok-agent.md +111 -0
  60. package/extracted-skill/tracking-events-generator/agents/tracking-plan-agent.md +364 -0
  61. package/extracted-skill/tracking-events-generator/agents/validator-agent.md +267 -0
  62. package/extracted-skill/tracking-events-generator/agents/webhook-agent.md +69 -0
  63. package/extracted-skill/tracking-events-generator/agents/whatsapp-agent.md +76 -0
  64. package/extracted-skill/tracking-events-generator/agents/whatsapp-ctwa-setup-agent.md +699 -0
  65. package/extracted-skill/tracking-events-generator/agents/youtube-agent.md +422 -0
  66. package/extracted-skill/tracking-events-generator/anti-blocking.js +285 -0
  67. package/extracted-skill/tracking-events-generator/cdpTrack.js +641 -0
  68. package/extracted-skill/tracking-events-generator/contracts/api-versions.json +368 -0
  69. package/extracted-skill/tracking-events-generator/docs/guia-cloudflare-iniciante.md +107 -0
  70. package/extracted-skill/tracking-events-generator/engagement-scoring.js +226 -0
  71. package/extracted-skill/tracking-events-generator/evals/evals.json +235 -0
  72. package/extracted-skill/tracking-events-generator/integration-test.js +497 -0
  73. package/extracted-skill/tracking-events-generator/knowledge-base.md +2894 -0
  74. package/extracted-skill/tracking-events-generator/micro-events.js +992 -0
  75. package/extracted-skill/tracking-events-generator/models/captura-de-lead.md +78 -0
  76. package/extracted-skill/tracking-events-generator/models/captura-lead-evento-externo.md +99 -0
  77. package/extracted-skill/tracking-events-generator/models/checkout-proprio.md +111 -0
  78. package/extracted-skill/tracking-events-generator/models/multi-step-checkout.md +672 -0
  79. package/extracted-skill/tracking-events-generator/models/pagina-obrigado.md +55 -0
  80. package/extracted-skill/tracking-events-generator/models/pinterest/conversions-api-template.js +144 -0
  81. package/extracted-skill/tracking-events-generator/models/pinterest/event-mappings.json +48 -0
  82. package/extracted-skill/tracking-events-generator/models/pinterest/tag-template.js +28 -0
  83. package/extracted-skill/tracking-events-generator/models/quiz-funnel.md +68 -0
  84. package/extracted-skill/tracking-events-generator/models/reddit/conversions-api-template.js +205 -0
  85. package/extracted-skill/tracking-events-generator/models/reddit/event-mappings.json +56 -0
  86. package/extracted-skill/tracking-events-generator/models/reddit/pixel-template.js +19 -0
  87. package/extracted-skill/tracking-events-generator/models/scenarios/behavior-engine.js +425 -0
  88. package/extracted-skill/tracking-events-generator/models/scenarios/real-estate-logic.md +50 -0
  89. package/extracted-skill/tracking-events-generator/models/scenarios/sales-page-logic.md +50 -0
  90. package/extracted-skill/tracking-events-generator/models/trafego-direto.md +582 -0
  91. package/extracted-skill/tracking-events-generator/models/webinar-registration.md +63 -0
  92. package/extracted-skill/tracking-events-generator/tracking.config.js +46 -0
  93. package/extracted-skill/tracking-events-generator/walkthrough.md +26 -0
  94. package/package.json +75 -0
  95. package/server-edge-tracker/INSTALAR.md +328 -0
  96. package/server-edge-tracker/migrate-new-db.sql +137 -0
  97. package/server-edge-tracker/migrate-v2.sql +16 -0
  98. package/server-edge-tracker/migrate-v3.sql +6 -0
  99. package/server-edge-tracker/migrate-v4.sql +18 -0
  100. package/server-edge-tracker/migrate-v5.sql +17 -0
  101. package/server-edge-tracker/migrate-v6.sql +24 -0
  102. package/server-edge-tracker/migrate.sql +111 -0
  103. package/server-edge-tracker/schema.sql +265 -0
  104. package/server-edge-tracker/worker.js +2574 -0
  105. package/server-edge-tracker/wrangler.toml +85 -0
  106. package/templates/afiliado-sem-landing.md +312 -0
  107. package/templates/captura-de-lead.md +78 -0
  108. package/templates/captura-lead-evento-externo.md +99 -0
  109. package/templates/checkout-proprio.md +111 -0
  110. package/templates/install/.claude/commands/cdp.md +1 -0
  111. package/templates/install/CLAUDE.md +65 -0
  112. package/templates/linkedin/tag-template.js +46 -0
  113. package/templates/multi-step-checkout.md +673 -0
  114. package/templates/pagina-obrigado.md +55 -0
  115. package/templates/pinterest/conversions-api-template.js +144 -0
  116. package/templates/pinterest/event-mappings.json +48 -0
  117. package/templates/pinterest/tag-template.js +28 -0
  118. package/templates/quiz-funnel.md +68 -0
  119. package/templates/reddit/conversions-api-template.js +205 -0
  120. package/templates/reddit/event-mappings.json +56 -0
  121. package/templates/reddit/pixel-template.js +46 -0
  122. package/templates/scenarios/behavior-engine.js +402 -0
  123. package/templates/scenarios/real-estate-logic.md +50 -0
  124. package/templates/scenarios/sales-page-logic.md +50 -0
  125. package/templates/spotify/pixel-template.js +46 -0
  126. package/templates/trafego-direto.md +582 -0
  127. package/templates/vsl-page.md +292 -0
  128. package/templates/webinar-registration.md +63 -0
@@ -0,0 +1,58 @@
1
+ # Instalação: CDP Edge (Quantum Tier)
2
+
3
+ O **CDP Edge** é um sistema de tracking digital completo que opera de forma nativa na Cloudflare. Ele analisa os arquivos do seu projeto, identifica formulários e botões automaticamente, e gera todo o código de tracking para Meta, Google, TikTok e mais — incluindo servidor na borda e banco de dados D1, garantindo alta precisão e soberania total de dados.
4
+
5
+ ---
6
+
7
+ ## 🚀 PASSO A PASSO DA INSTALAÇÃO
8
+
9
+ ### 1. Preparação da Conta Cloudflare
10
+ - Acesse [cloudflare.com](https://cloudflare.com).
11
+ - Ative o banco de dados **D1**.
12
+ - Crie um **Worker** para processamento de eventos.
13
+
14
+ ### 2. Implantação do SDK (Site)
15
+ - Adicione o script `cdpTrack.js` ao `<head>` do seu site.
16
+ - Configure os IDs (Meta, TikTok, GA4) no `cdpConfig.js`.
17
+
18
+ ### 3. Configuração do Servidor (Worker)
19
+ - Faça o deploy do código gerado pelo **Server Agent**.
20
+ - Conecte o banco D1 ao seu Worker via `wrangler.toml`.
21
+ - Configure as Variáveis de Ambiente (Tokens de API).
22
+
23
+ ---
24
+
25
+ ## ⚡ ARQUITETURA TÉCNICA (Quantum Tier SUPREME)
26
+ | Componente | Função | Vantagem |
27
+ |---|---|---|
28
+ | **cdpTrack.js** | SDK do Site | Envio direto via Fetch para o Worker |
29
+ | **Workers** | Processamento | Execução na borda com baixa latência |
30
+ | **D1 Database** | Persistência | Armazenamento seguro de leads e eventos |
31
+ | **CAPI v22.0** | Despacho | Atribuição de alta qualidade via servidor |
32
+
33
+ ### Plataformas Suportadas (Server-Side)
34
+ | Plataforma | Status | Protocolo |
35
+ |---|---|---|
36
+ | Meta / Facebook Pixel | ✅ | ✅ CAPI v22.0 |
37
+ | Google Analytics 4 | ✅ | ✅ Measurement Protocol |
38
+ | Google Ads | ✅ | ✅ Conversão + User-provided Data |
39
+ | TikTok Pixel | ✅ | ✅ Events API v1.3 |
40
+ | Pinterest Tag | ✅ | — |
41
+ | Bing / Microsoft Ads | ✅ | — |
42
+
43
+ ### Tipos de página reconhecidos automaticamente
44
+ | Tipo | Quando usa |
45
+ |---|---|
46
+ | Captura de Lead | Formulário com email/nome/telefone |
47
+ | Lead + Evento Externo | Formulário + compra em plataforma externa (Hotmart/Kiwify) |
48
+ | Tráfego Direto | Página de vendas sem formulário → checkout externo |
49
+ | Checkout Próprio | Cartão/Stripe/MercadoPago na página |
50
+ | Página de Obrigado | Thank-you page pós-compra |
51
+
52
+ ---
53
+
54
+ ## 🏁 INICIANDO O SETUP
55
+ Para começar, utilize o comando:
56
+ > "/setup"
57
+
58
+ O CDP Edge irá analisar seu site e gerar a infraestrutura necessária automaticamente.
@@ -0,0 +1,594 @@
1
+ # CDP Edge Premium Tracking Intelligence - Integração Completa (Quantum Tier)
2
+
3
+ ## 📋 Índice
4
+
5
+ 1. [Arquitetura Completa](#arquitetura-completa)
6
+ 2. [Instalação](#instalação)
7
+ 3. [Configuração do SDK](#configuração-do-sdk)
8
+ 4. [Configuração do Worker](#configuração-do-worker)
9
+ 5. [Fluxo End-to-End](#fluxo-end-to-end)
10
+ 6. [Exemplos de Uso](#exemplos-de-uso)
11
+ 7. [Validação e Testes](#validação-e-testes)
12
+ 8. [Deployment](#deployment)
13
+ 9. [Troubleshooting](#troubleshooting)
14
+
15
+ ---
16
+
17
+ ## 🏗️ Arquitetura Completa
18
+
19
+ ```
20
+ ┌─────────────────────────────────────────────────────────────────┐
21
+ │ BROWSER SDK (cdpTrack.js) │
22
+ ├─────────────────────────────────────────────────────────────────┤
23
+ │ 1. cdpTrack.js (SDK Principal) │
24
+ │ 2. micro-events.js (Scroll, Time, Video, Click, Hover) │
25
+ │ 3. engagement-scoring.js (Score 0-5.0 browser-side) │
26
+ │ 4. advanced-matching.js (Normalização de PII) │
27
+ │ 5. anti-blocking.js (Retry, Beacon, Ad-block detection) │
28
+ │ 6. behavior-engine.js (Rage click, Idle, A/B, VSL) │
29
+ └─────────────────────────────────────────────────────────────────┘
30
+
31
+ ▼ fetch('/api/tracking')
32
+ │ (same-domain)
33
+ ┌─────────────────────────────────────────────────────────────────┐
34
+ │ CLOUDFLARE WORKER (worker.js) │
35
+ ├─────────────────────────────────────────────────────────────────┤
36
+ │ 1. Receiver (POST /api/tracking) │
37
+ │ 2. Identity Graph Sync (D1) │
38
+ │ 3. Advanced Matching (SHA256 PII + Meta AM) │
39
+ │ 4. Engagement Scoring Server-Side (0-5.0 final) │
40
+ │ 5. Dispatcher (Meta, Google, TikTok) │
41
+ │ 6. Retry System (Queue + Escalation) │
42
+ └─────────────────────────────────────────────────────────────────┘
43
+
44
+ ┌──────────┼──────────┬──────────┐
45
+ ▼ ▼ ▼ ▼
46
+ ┌────────┐ ┌────────┐ ┌─────────┐
47
+ │ Meta │ │ Google │ │ TikTok │
48
+ │ CAPI │ │ GA4 MP │ │ Events API│
49
+ │ v22.0 │ │ │ │ v1.3 │
50
+ └────────┘ └────────┘ └─────────┘
51
+ ```
52
+
53
+ ---
54
+
55
+ ## 📦 Instalação
56
+
57
+ ### Passo 1: Adicionar Scripts ao Site
58
+
59
+ ```html
60
+ <!DOCTYPE html>
61
+ <html lang="pt-BR">
62
+ <head>
63
+ <meta charset="UTF-8">
64
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
65
+
66
+ <!-- 1. Configuração -->
67
+ <script type="module">
68
+ window.CDPEDGE_CONFIG = {
69
+ platforms: ['meta', 'google', 'tiktok'],
70
+ pixelId: 'SEU_PIXEL_ID_META',
71
+ ga4MeasurementId: 'G-XXXXXXXXXX',
72
+ tiktokPixelId: 'SEU_PIXEL_ID_TIKTOK',
73
+ enableAutoCapture: true,
74
+ enableMicroEvents: true,
75
+ enableEngagementScoring: true
76
+ };
77
+ </script>
78
+
79
+ <!-- 2. SDK Principal -->
80
+ <script type="module" src="/pb/cdpTrack.js"></script>
81
+
82
+ <!-- 3. Scripts de Suporte (opcional - para debug) -->
83
+ <script type="module" src="/pb/integration-test.js"></script>
84
+ </head>
85
+ <body>
86
+ <!-- Seu site aqui -->
87
+
88
+ <!-- 4. Tracking Automático (opcional) -->
89
+ <script type="module">
90
+ import { setupAutoFormCapture } from '/pb/cdpTrack.js';
91
+
92
+ // Capturar automaticamente formulários de lead
93
+ setupAutoFormCapture();
94
+
95
+ // Ou implementar manualmente:
96
+ document.querySelector('#lead-form')?.addEventListener('submit', async (e) => {
97
+ e.preventDefault();
98
+
99
+ const userData = {
100
+ email: e.target.email.value,
101
+ phone: e.target.phone.value,
102
+ first_name: e.target.name.value
103
+ };
104
+
105
+ await cdpTrack.trackLead(userData, e.target);
106
+ e.target.submit();
107
+ });
108
+ </script>
109
+ </body>
110
+ </html>
111
+ ```
112
+
113
+ ### Passo 2: Deploy do Worker
114
+
115
+ ```bash
116
+ # 1. Criar arquivo tracking.config.js (se não existir)
117
+ cat > tracking.config.js << 'EOF'
118
+ export default {
119
+ pixelId: 'SEU_PIXEL_ID_META',
120
+ ga4MeasurementId: 'G-XXXXXXXXXX',
121
+ tiktokPixelId: 'SEU_PIXEL_ID_TIKTOK',
122
+ platforms: ['meta', 'google', 'tiktok'],
123
+ enableAutoCapture: true,
124
+ enableMicroEvents: true,
125
+ enableEngagementScoring: true
126
+ };
127
+ EOF
128
+
129
+ # 2. Criar schema D1
130
+ wrangler d1 execute cdp-edge-db --file=schema.sql
131
+
132
+ # 3. Configurar secrets
133
+ wrangler secret put META_ACCESS_TOKEN
134
+ wrangler secret put GA4_API_SECRET
135
+ wrangler secret put TIKTOK_ACCESS_TOKEN
136
+
137
+ # 4. Deploy
138
+ wrangler deploy
139
+
140
+ # 5. Testar
141
+ wrangler tail
142
+ ```
143
+
144
+ ---
145
+
146
+ ## ⚙️ Configuração do SDK
147
+
148
+ ### tracking.config.js
149
+
150
+ ```javascript
151
+ export default {
152
+ // Plataformas ativas
153
+ platforms: ['meta', 'google', 'tiktok'],
154
+
155
+ // IDs dos Pixels
156
+ pixelId: '123456789012345', // Meta Pixel ID
157
+ ga4MeasurementId: 'G-XXXXXXXXXX', // GA4 Measurement ID
158
+ tiktokPixelId: 'CAKJXXXXXX', // TikTok Pixel ID
159
+
160
+ // Configurações de funcionalidades
161
+ enableAutoCapture: true, // Auto-captura de formulários
162
+ enableMicroEvents: true, // Micro-events (scroll, time, video)
163
+ enableEngagementScoring: true, // Engagement scoring
164
+ enableBehaviorEngine: true, // Rage click, idle, A/B testing
165
+ enableAntiBlocking: true, // Anti-blocking (retry, beacon)
166
+
167
+ // Configurações de checkout pass-through
168
+ enableCheckoutPassThrough: true,
169
+ checkoutPlatforms: ['hotmart', 'kiwify', 'eduzz', 'monetizze', 'cartpanda'],
170
+
171
+ // Ambiente
172
+ environment: 'production', // 'development' | 'production'
173
+ debugMode: false // Mostra logs detalhados
174
+ };
175
+ ```
176
+
177
+ ---
178
+
179
+ ## 🌩 Configuração do Worker
180
+
181
+ ### schema.sql (Atualizado com Premium Tracking)
182
+
183
+ ```sql
184
+ -- TABELA DE EVENTOS
185
+ CREATE TABLE IF NOT EXISTS events_log (
186
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
187
+ event_id TEXT UNIQUE NOT NULL,
188
+ event_name TEXT NOT NULL,
189
+ platform TEXT,
190
+ session_id TEXT,
191
+ heat_score INTEGER DEFAULT 0,
192
+ user_data TEXT,
193
+ page_url TEXT,
194
+ utm_source TEXT,
195
+ utm_medium TEXT,
196
+ utm_campaign TEXT,
197
+ status TEXT DEFAULT 'pending',
198
+ error_msg TEXT,
199
+ created_at TEXT DEFAULT (datetime('now'))
200
+ );
201
+
202
+ -- IDENTITY GRAPH
203
+ CREATE TABLE IF NOT EXISTS identity_graph (
204
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
205
+ fingerprint TEXT UNIQUE,
206
+ fbp TEXT,
207
+ fbc TEXT,
208
+ ga_client_id TEXT,
209
+ external_id TEXT,
210
+ ttclid TEXT,
211
+ first_utm TEXT,
212
+ heat_score_avg INTEGER DEFAULT 0,
213
+ visit_count INTEGER DEFAULT 1,
214
+ last_seen TEXT DEFAULT (datetime('now')),
215
+ created_at TEXT DEFAULT (datetime('now'))
216
+ );
217
+
218
+ -- BEHAVIORAL EVENTS (Engagement Scoring)
219
+ CREATE TABLE IF NOT EXISTS behavioral_events (
220
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
221
+ event_id TEXT NOT NULL UNIQUE,
222
+ user_id TEXT,
223
+ session_id TEXT,
224
+
225
+ -- Browser-side score (0-5.0)
226
+ engagement_score REAL DEFAULT 0.0,
227
+ time_level TEXT,
228
+ scroll_score REAL DEFAULT 0.0,
229
+ click_score REAL DEFAULT 0.0,
230
+ video_score REAL DEFAULT 0.0,
231
+ hover_score REAL DEFAULT 0.0,
232
+ intention_level TEXT,
233
+
234
+ -- Server-side final score
235
+ server_engagement_score REAL DEFAULT 0.0,
236
+ final_intention_level TEXT,
237
+
238
+ -- Advanced Matching (hashes)
239
+ email_hash TEXT,
240
+ phone_hash TEXT,
241
+ first_name_hash TEXT,
242
+ last_name_hash TEXT,
243
+
244
+ -- Advanced Matching (não hashados - Meta AM)
245
+ city TEXT,
246
+ state TEXT,
247
+ zip TEXT,
248
+ country TEXT,
249
+ dob TEXT,
250
+
251
+ page_url TEXT,
252
+ utm_source TEXT,
253
+ utm_medium TEXT,
254
+ utm_campaign TEXT,
255
+ click_ids TEXT,
256
+
257
+ created_at TEXT DEFAULT (datetime('now'))
258
+ );
259
+
260
+ -- ÍNDICES
261
+ CREATE INDEX IF NOT EXISTS idx_events_id ON events_log(event_id);
262
+ CREATE INDEX IF NOT EXISTS idx_behavioral_session ON behavioral_events(session_id);
263
+ CREATE INDEX IF NOT EXISTS idx_behavioral_user ON behavioral_events(user_id);
264
+ CREATE INDEX IF NOT EXISTS idx_behavioral_engagement ON behavioral_events(server_engagement_score);
265
+ ```
266
+
267
+ ---
268
+
269
+ ## 🔄 Fluxo End-to-End
270
+
271
+ ### 1. Page View (Carregamento)
272
+
273
+ ```
274
+ Usuário acessa site
275
+
276
+ cdpTrack.init() é chamado
277
+
278
+ Anti-Blocking inicializado (detecção de ad-blocker)
279
+
280
+ Micro-Events inicializados (scroll, time, video, click, hover)
281
+
282
+ Engagement Scoring inicializado (score 0-5.0)
283
+
284
+ Behavior Engine inicializado (A/B testing, rage click, idle)
285
+
286
+ PageView event enviado para Worker
287
+
288
+ Worker recebe payload
289
+
290
+ Sync Identity Graph (D1)
291
+
292
+ Calculate Server-Side Engagement Score (0-5.0 com histórico)
293
+
294
+ Dispatch para Meta CAPI v22.0 (com engagement score + advanced matching)
295
+
296
+ Dispatch para Google GA4 MP (com engagement score)
297
+
298
+ Dispatch para TikTok Events API v1.3 (com engagement score)
299
+
300
+ Log no D1 (behavioral_events + events_log)
301
+ ```
302
+
303
+ ### 2. Lead Capture (Formulário)
304
+
305
+ ```
306
+ Usuário preenche formulário
307
+
308
+ setupAutoFormCapture() intercepta submit
309
+
310
+ extractFormPII() captura dados crus (email, phone, name, city, state, zip, dob)
311
+
312
+ Normaliza dados (lowercase, remove acentos, DDI 55 no telefone)
313
+
314
+ cdpTrack.trackLead(piiData) enviado para Worker
315
+
316
+ Worker recebe dados PII CRUS
317
+
318
+ Normaliza PII no servidor
319
+
320
+ SHA256 de email, phone, first_name, last_name
321
+
322
+ Cidade, estado, zip, dob NÃO são hashados (Meta AM)
323
+
324
+ Calculate Engagement Score (com PII + histórico)
325
+
326
+ Dispatch para Meta CAPI v22.0:
327
+ user_data: {
328
+ em: [sha256_email],
329
+ ph: [sha256_phone_ddi55],
330
+ fn: [sha256_first_name],
331
+ ln: [sha256_last_name],
332
+ ct: 'sao paulo', // Não hashado
333
+ st: 'sp', // Não hashado
334
+ zp: '01310100', // Não hashado
335
+ db: '19900101' // Não hashado
336
+ },
337
+ custom_data: {
338
+ engagement_score: 3.5,
339
+ intention_level: 'comprador',
340
+ value: 100,
341
+ currency: 'BRL'
342
+ }
343
+ ```
344
+
345
+ ---
346
+
347
+ ## 📝 Exemplos de Uso
348
+
349
+ ### Exemplo 1: Auto-Captura de Leads (Sem Código Manual)
350
+
351
+ ```html
352
+ <script type="module" src="/pb/cdpTrack.js"></script>
353
+
354
+ <form id="lead-form">
355
+ <input type="email" name="email" placeholder="Seu e-mail" required>
356
+ <input type="tel" name="phone" placeholder="Seu telefone" required>
357
+ <input type="text" name="name" placeholder="Seu nome" required>
358
+ <input type="text" name="city" placeholder="Sua cidade">
359
+ <input type="text" name="state" placeholder="Seu estado">
360
+ <input type="text" name="zip" placeholder="Seu CEP">
361
+ <button type="submit">Enviar</button>
362
+ </form>
363
+
364
+ <script type="module">
365
+ import { setupAutoFormCapture } from '/pb/cdpTrack.js';
366
+ setupAutoFormCapture();
367
+ </script>
368
+ ```
369
+
370
+ ### Exemplo 2: Manual - Track Lead com PII
371
+
372
+ ```javascript
373
+ document.querySelector('#lead-form')?.addEventListener('submit', async (e) => {
374
+ e.preventDefault();
375
+
376
+ const userData = {
377
+ email: e.target.email.value,
378
+ phone: e.target.phone.value,
379
+ first_name: e.target.name.value,
380
+ last_name: e.target.lastname.value,
381
+ city: e.target.city.value,
382
+ state: e.target.state.value,
383
+ zip: e.target.zip.value,
384
+ dob: e.target.dob.value
385
+ };
386
+
387
+ // Captura lead com Advanced Matching Maximum
388
+ await cdpTrack.trackLead(userData, e.target);
389
+
390
+ e.target.submit();
391
+ });
392
+ ```
393
+
394
+ ### Exemplo 3: Track Purchase
395
+
396
+ ```javascript
397
+ document.querySelector('#checkout-form')?.addEventListener('submit', async (e) => {
398
+ e.preventDefault();
399
+
400
+ const orderData = {
401
+ order_id: 'ORDER_12345',
402
+ value: 297.00,
403
+ currency: 'BRL',
404
+ items: [
405
+ { item_id: 'PROD_001', quantity: 1, price: 297.00 }
406
+ ]
407
+ };
408
+
409
+ // Captura compra com PII do usuário
410
+ await cdpTrack.trackPurchase(orderData, e.target);
411
+
412
+ e.target.submit();
413
+ });
414
+ ```
415
+
416
+ ### Exemplo 4: Track Event Customizado
417
+
418
+ ```javascript
419
+ // Track clique em botão CTA
420
+ document.querySelector('.cta-button')?.addEventListener('click', async () => {
421
+ await cdpTrack.track('CTA_Click', {
422
+ button_text: 'Comprar Agora',
423
+ button_location: 'hero_section'
424
+ });
425
+ });
426
+
427
+ // Track vídeo assistido
428
+ document.querySelector('video')?.addEventListener('ended', async () => {
429
+ await cdpTrack.track('Video_Complete', {
430
+ video_id: 'intro-vsl',
431
+ video_platform: 'youtube',
432
+ video_duration: 180,
433
+ watch_time: 180
434
+ });
435
+ });
436
+ ```
437
+
438
+ ### Exemplo 5: Passar Parâmetros para Checkout Externo
439
+
440
+ ```javascript
441
+ import { passCheckoutParams } from '/pb/cdpTrack.js';
442
+
443
+ // Hotmart
444
+ passCheckoutParams({ platforms: ['hotmart'] });
445
+
446
+ // Todos os checkouts
447
+ passCheckoutParams({
448
+ platforms: ['hotmart', 'kiwify', 'eduzz', 'monetizze'],
449
+ domains: ['meusite.com/checkout']
450
+ });
451
+
452
+ // Links serão automaticamente atualizados:
453
+ // hotmart.com/?xcod=user123&sck=source|medium|campaign|content|term
454
+ // kiwify.com.br/?src=source&utm_medium=medium&utm_campaign=campaign
455
+ ```
456
+
457
+ ---
458
+
459
+ ## ✅ Validação e Testes
460
+
461
+ ### Teste 1: Health Check Rápido
462
+
463
+ ```javascript
464
+ import { runQuickTest } from '/pb/integration-test.js';
465
+
466
+ const quickResult = await runQuickTest();
467
+ console.log('Status:', quickResult.status);
468
+
469
+ // Esperado: { status: 'ready', worker_online: true, all_modules_loaded: true }
470
+ ```
471
+
472
+ ### Teste 2: Suite Completa de Integração
473
+
474
+ Adicione `?cdp_test=true` à URL do site:
475
+
476
+ ```
477
+ https://meusite.com/?cdp_test=true
478
+ ```
479
+
480
+ Isso exibirá um painel de testes com:
481
+ - ✅ Status dos módulos
482
+ - ✅ Health check do Worker
483
+ - ✅ Teste de envio de eventos
484
+ - ✅ Validação de payload
485
+ - ✅ Validação de normalização de PII
486
+ - ✅ Validação de micro-events
487
+
488
+ ### Teste 3: Verificar Worker Logs
489
+
490
+ ```bash
491
+ wrangler tail
492
+ ```
493
+
494
+ Procure por:
495
+ - ✅ Worker Online
496
+ - ✅ Evento {nome} enviado com sucesso
497
+ - ✅ Engagement Score calculado
498
+ - ✅ Meta CAPI enviado
499
+ - ✅ GA4 enviado
500
+ - ✅ TikTok enviado
501
+
502
+ ---
503
+
504
+ ## 🚀 Deployment
505
+
506
+ ### Checklist de Deployment
507
+
508
+ - [ ] 1. Criar conta Cloudflare
509
+ - [ ] 2. Criar Worker
510
+ - [ ] 3. Criar banco D1
511
+ - [ ] 4. Executar migrations (schema.sql)
512
+ - [ ] 5. Configurar secrets (META_ACCESS_TOKEN, GA4_API_SECRET, TIKTOK_ACCESS_TOKEN)
513
+ - [ ] 6. Deploy do Worker (`wrangler deploy`)
514
+ - [ ] 7. Configurar custom domain
515
+ - [ ] 8. Configurar DNS (CNAME para Worker)
516
+ - [ ] 9. Adicionar scripts ao site
517
+ - [ ] 10. Testar integração end-to-end
518
+ - [ ] 11. Validar eventos no Meta Events Manager
519
+ - [ ] 12. Validar eventos no GA4 DebugView
520
+ - [ ] 13. Validar eventos no TikTok Events Manager
521
+
522
+ ---
523
+
524
+ ## 🔧 Troubleshooting
525
+
526
+ ### Problema 1: Eventos não chegam ao Meta
527
+
528
+ **Solução:**
529
+ 1. Verificar se `META_ACCESS_TOKEN` está configurado no Worker
530
+ 2. Verificar se Pixel ID está correto
531
+ 3. Verificar logs do Worker (`wrangler tail`)
532
+ 4. Validar payload no Meta Events Manager
533
+
534
+ ### Problema 2: Advanced Matching não funciona
535
+
536
+ **Solução:**
537
+ 1. Verificar se dados PII estão sendo capturados
538
+ 2. Verificar se `extractFormPII()` está funcionando
539
+ 3. Verificar se Worker está fazendo SHA256 corretamente
540
+ 4. Validar normalização (minusculas, sem acentos, DDI 55)
541
+
542
+ ### Problema 3: Engagement Score sempre baixo
543
+
544
+ **Solução:**
545
+ 1. Verificar se micro-events estão capturando dados
546
+ 2. Verificar se engagement-scoring.js está calculando
547
+ 3. Verificar se Worker está calculando score server-side
548
+ 4. Verificar histórico de sessões no D1 (visit_count)
549
+
550
+ ### Problema 4: Ad-blocker bloqueia tracking
551
+
552
+ **Solução:**
553
+ 1. Verificar se endpoint está no mesmo domínio (`/api/tracking`)
554
+ 2. Verificar se está usando first-party cookies
555
+ 3. Verificar se `sendWithRetry()` está funcionando
556
+ 4. Verificar logs de ad-blocker detection
557
+
558
+ ---
559
+
560
+ ## 📊 Performance Esperada
561
+
562
+ ### Impacto no CPL
563
+
564
+ Com Premium Tracking Intelligence implementado:
565
+
566
+ - **Redução esperada no CPL:** 30-50%
567
+ - **Aumento na taxa de conversão:** 15-25%
568
+ - **Melhoria na qualidade dos leads:** 40-60%
569
+ - **Redução em fraudes:** 25-35%
570
+
571
+ ### Fórmula de Sucesso
572
+
573
+ ```
574
+ Score = 1 / (Event Match Quality × Signal Strength × Behavioral Intelligence)
575
+ ```
576
+
577
+ Onde:
578
+ - **Event Match Quality**: Advanced Matching (0-8 campos PII)
579
+ - **Signal Strength**: Engagement Score (0-5.0)
580
+ - **Behavioral Intelligence**: Micro-Events + Histórico de Sessões
581
+
582
+ ---
583
+
584
+ ## 📞 Suporte
585
+
586
+ Para suporte, consulte:
587
+ - Documentação completa: `SKILL.md`
588
+ - Agentes especialistas: `agents/*.md`
589
+ - Casos de uso: `models/scenarios/*.md`
590
+
591
+ ---
592
+
593
+ *CDP Edge Premium Tracking Intelligence - Integração Completa (Quantum Tier)*
594
+ *Versão 1.0.0 - Atualizado em 2026-03-27*