Captura do Funil Completo
Aqui tu não pega só a primeira página, pega o funil INTEIRO. Pré-sell → LP → VSL → Checkout → Order Bump → Upsell → Downsell → Thank You. Tudo salvo, gravado e indexado, papum.
A anatomia do funil que tu tá espionando
Funil DR padrão tem 6 a 9 steps, cara. Tu precisa capturar cada step com:
- HTML completo (pra leitura, copy chunk a chunk)
- Screenshot full-page (pra design, hierarquia, prova social)
- Lista de requests (pra ver pixels, redirecionamentos, VSL embed)
- Tempo entre steps (timing de elemento aparecer, vídeo liberar CTA, etc.)
Os 8 steps clássicos
- Ad creative (tu já capturou na Fase 2)
- Pré-sell / Bridge (article-style ou quiz)
- Landing Page (lead generator ou direct sell)
- VSL Page (vídeo de vendas, geralmente VTurb/Panda)
- Checkout (pode ter order bump)
- Upsell 1 (depois do checkout)
- Downsell / Upsell 2
- Thank You / Member Area
Capturar a sequência inteira (com Playwright trace)
Quero capturar o funil completo do player [PLAYER]. Já passei pela Fase 4 (cloacker bypass) e tenho a URL real da landing.
URL inicial: [URL_REAL_LP]
Use o Playwright MCP. Configuração de contexto = mesma da Fase 4 (mobile + pt-BR + SP geo + referer Facebook).
Habilita TRACE durante toda a sessão (vai gravar tudo):
context.tracing.start({ screenshots: true, snapshots: true, sources: false })
Sequência de captura:
STEP 1: Pre-sell/Landing inicial
- Navega pra URL inicial
- Espera 3 segundos
- Screenshot full-page
- Salva HTML
- Lista todos os links/CTAs visíveis
- Identifica o CTA principal (botão maior, mais centralizado, com texto de ação)
STEP 2: Clica no CTA principal
- Captura a URL de destino antes de clicar (page.url() depois do click)
- Se for redirect, segue até estabilizar
- Screenshot da próxima página
- Salva HTML
- Se aparecer VSL (vídeo embed), identifica o player (VTurb / Panda / Vimeo / YouTube) e a URL do .m3u8 ou .mp4
STEP 3: VSL Page (se houver)
- Espera o vídeo carregar
- Identifica se o CTA aparece imediato ou só depois de X minutos
- Screenshot inicial
- Aguarda 5 minutos (ou pula via JS pro fim do vídeo)
- Screenshot quando CTA aparecer
- Captura o link do botão de compra
STEP 4: Checkout
- Clica no CTA de compra
- Captura URL do checkout (geralmente domínio próprio ou Hotmart/Eduzz/Ticto/Kiwify/Pagar.me)
- Screenshot do checkout COMPLETO (não preencher dados pessoais reais!)
- Identifica:
* Plataforma (Hotmart, Kiwify, Eduzz, Ticto, etc.)
* Forma de pagamento aceitas
* Order bump (sim/não, qual produto, qual preço)
* Garantia (dias, tipo)
* Selo de segurança (Reclame Aqui, BNI, etc.)
STEP 5: Upsell (se possível identificar sem comprar)
- Procura por links "ja-comprou", "obrigado", "upsell" no HTML
- Tenta acessar diretamente domínio.com/upsell ou /obrigado
- Maioria dos checkouts modernos tem rota de "preview do upsell" via parâmetro ?preview=1
STEP 6: Para o trace
context.tracing.stop({ path: 'funil-trace.zip' })
Output:
funil-completo/
├── 01-presell/screenshot.png + html.html
├── 02-lp/screenshot.png + html.html
├── 03-vsl/screenshot-inicial.png + screenshot-cta.png + html.html + vsl-url.txt
├── 04-checkout/screenshot.png + html.html + checkout-meta.json
├── 05-upsell/(se acessível)
├── trace.zip # gravação completa do flow
└── funil-meta.json # consolidado: URLs, timings, plataformasReproducibilidade
Tudo isso é não-destrutivo, tu só tá NAVEGANDO. Não preenche formulário com dado real, não faz compra. Só lê e tira screenshot.
Se o player exigir e-mail/CPF pra mostrar a próxima página, usa placeholder claramente fake (e-mail tipo teste-modelagem@example.com), e nunca persista esse lead deles. Combinado?
Salvando como SingleFile (HTML auto-contido)
Por que SingleFile
Salva a página INTEIRA (HTML, CSS, imagens, fonts) num único .html que tu abre offline. Perfeito pra arquivar e revisitar a copy original sem depender do site ficar no ar.
Setup
npm install -g single-file-cli
# Captura uma página
single-file "URL" "saida.html" --browser-executable-path="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
# Com mobile UA
single-file "URL" "saida.html" --browser-mobile-emulation=trueDetectar plataforma de checkout
Olha o HTML do checkout em [arquivo]. Identifica a plataforma usando esses sinais:
| Plataforma | Sinal no HTML/URL |
|---|---|
| Hotmart | url contém "hotmart.com" ou "pay.hotmart" |
| Kiwify | url contém "kiwify.app" ou "pay.kiwify" |
| Eduzz | url contém "eduzz" ou "myeduzz" |
| Ticto | url contém "ticto.app" |
| Pagar.me | url contém "pagar.me" |
| Stripe | scripts.stripe.com no HTML |
| Vindi | "vindi" em scripts |
| Asaas | "asaas" em scripts |
| Iugu | "iugu" em scripts |
| GreenPages | "greenn" |
| Pepper | "ipeper" ou "peppr" |
Identifica e me devolve:
- Plataforma:
- Métodos de pagamento (cartão, PIX, boleto):
- Parcelamento máximo:
- Order bump? (sim/não, descrição, preço)
- 1-click upsell habilitado? (procura "upsell", "OneClick", "fast-pay" em scripts)Análise de pixels e tracking
Olha a lista de requests capturada (requests.json). Identifica TODOS os pixels e ferramentas de tracking:
Procura por:
- facebook.com/tr (Meta Pixel) → pega o pixel ID
- googletagmanager.com / google-analytics.com → GA4 + GTM ID
- analytics.tiktok.com → TikTok Pixel
- snap.com (Snapchat)
- linkedin.com/li.lms (LinkedIn Insight)
- bing.com/action (Microsoft Ads)
- pinterest.com/v3 (Pinterest)
- hotjar.com / clarity.ms (heatmap)
- mailchimp / activecampaign / convertkit (e-mail)
- segment.io / mixpanel / amplitude (product analytics)
Devolve:
- Lista de plataformas de tracking ativas
- Pixel IDs (vou usar pra cross-reference em outros sites do mesmo dono)
- Stack inferida (e-mail platform, analytics, heatmap, attribution tool)
Se algum pixel ID for o MESMO em vários domínios da minha lista de players → mesmo dono escondido (importante).Fase 5 fechada quando...
Tu tem o funil completo de pelo menos 3 players Tier 1: pré-sell, LP, VSL page e checkout em screenshots e HTML, com plataforma de checkout identificada e pixels mapeados. Fechou?