Funnel Doctor (Médico de Funil)
Diagnostique funis de conversão — encontre a etapa com mais vazamento, quantifique a perda e mostre as sessões que explicam por que os usuários desistem.
Quando Usar
- "Onde os usuários estão desistindo no nosso fluxo de checkout?"
- "Qual é a taxa de conversão do cadastro para a primeira compra?"
- "Compare o fluxo de integração antigo com o novo — melhoramos a conclusão?"
- "Mostre-me sessões onde os usuários abandonaram na etapa de pagamento"
- "Qual é o maior ponto de desistência no nosso app? Quantifique a receita perdida."
Modelo Mental
Um funil é uma sequência de etapas que os usuários precisam concluir. O objetivo é encontrar a etapa onde mais usuários desistem — não apenas pelo número absoluto, mas pela porcentagem de queda em relação à etapa anterior.
Exemplo: 10.000 aterrissam em /checkout → 8.000 entram no frete → 6.000 chegam ao pagamento → 2.000 concluem a compra. A maior queda absoluta é no pagamento (6.000 → 2.000 = 4.000 perdidos). A maior queda percentual também é no pagamento (67% de queda). Ambos importam — apresente os dois.
Fluxo de Trabalho
Etapa 1: Defina as etapas do funil
Esclareça quais etapas o usuário deseja analisar. Funis típicos:
- E-commerce: página do produto → adicionar ao carrinho → checkout → frete → pagamento → confirmação
- Cadastro SaaS: landing → formulário de cadastro → verificação de e-mail → integração → primeira ação
- Fluxo de app: início → busca → resultados → detalhes → reserva
Se o usuário não especificar as etapas, pergunte pelo ponto de início e fim. Você pode inferir as etapas intermediárias a partir dos dados de navegação por página.
Etapa 2: Construa uma métrica de funil
Chame fullstory:build_metric com:
querydescrevendo as etapas do funil em ordem (ex.: "usuários que visualizaram /checkout, depois chegaram ao frete, depois chegaram ao pagamento, depois concluíram a compra")output_type="funnel"— isso instrui o construtor a criar um funil sequencial, não uma contagem simples
Se já existir uma métrica de funil para este fluxo, pesquise primeiro: fullstory:get_metric(regex="funil de checkout"). Para funis criados com build_funnel, use fullstory:get_funnel(id) — ele retorna nome, descrição, definição renderizada e o num_steps correto (necessário para o fluxo get_funnel_sessions).
Etapa 3: Calcule e analise
Chame fullstory:compute_metric(metric_id) — ou fullstory:compute_funnel(funnel_id) para opções específicas de funil.
Comparação de períodos — adicione compare_to para ver deltas em relação ao período anterior:
fullstory:compute_funnel(funnel_id, compare_to="previous_period")
Cada etapa recebe um objeto previous com a contagem e taxa de conversão do período anterior. Use isso para perguntas como "o novo design ajudou?" em vez de construir dois funis separados.
Detalhamento por dimensão — adicione dimension para dividir por uma propriedade:
fullstory:compute_funnel(funnel_id, dimension="device_type")
Cada etapa recebe um array groups detalhado por essa dimensão (navegador, país, dispositivo, variável personalizada, etc.). Substitui fluxos manuais de segmento por grupo.
Apresente os resultados como uma quebra etapa por etapa:
Funil de Checkout (últimos 30 dias)
1. /checkout 10.000 usuários (100%)
2. Formulário de frete 8.000 usuários (80% — perdeu 2.000)
3. Página de pagamento 6.000 usuários (75% dos restantes — perdeu 2.000)
4. Confirmação 2.000 usuários (33% dos restantes — perdeu 4.000) ← MAIOR QUEDA
Conversão geral: 20%
Com compare_to, anexe os deltas:
4. Confirmação 2.000 usuários (33% dos restantes — perdeu 4.000)
Período anterior: 1.400 usuários (28% dos restantes)
Delta: +600 usuários (+5pp de conversão) ↑
Com dimension, mostre a conversão por grupo em cada etapa.
Destaque a etapa com a maior queda absoluta E a maior queda percentual — muitas vezes são as mesmas, mas nem sempre.
Etapa 4: Escopo com segmentos
Se o usuário perguntar sobre uma coorte específica (usuários mobile, enterprise, novos vs. recorrentes), crie um segmento e anexe-o:
fullstory:build_segment("usuários mobile") → segment_id
fullstory:update_metric(metric_id, segment_id)
fullstory:compute_metric(metric_id)
Para comparações A/B de funis (fluxo antigo vs. novo, mobile vs. desktop), use a skill comparisons para escolher o mecanismo adequado (dimensionalidade vs. segmentos).
Etapa 5: Investigue a pior etapa
Depois de identificar a etapa com mais vazamento, descubra o porquê:
- Chame
fullstory:get_sessions(metric_id=metric_id)filtrado para sessões que alcançaram mas não concluíram a etapa problemática - Carregue de 3 a 5 sessões através do agente
session-contextcom tarefas focadas:- "O que o usuário fez na página de pagamento antes de sair? Encontrou algum erro?"
- "A validação do formulário estava bloqueando? Quais campos estavam destacados?"
- "O usuário clicou repetidamente ou clicou em elementos não clicáveis antes de abandonar?"
Etapa 6: Relatório
Sintetize tudo:
- Os números do funil (em formato de tabela)
- Qual etapa é o maior problema (com perda absoluta e percentual)
- O que a evidência das sessões mostra sobre o porquê os usuários desistem nessa etapa
- Se aplicável, o impacto estimado na receita (número de usuários × valor médio do pedido)
Diretrizes
- Sempre mostre tanto a queda absoluta (contagem de usuários) quanto a queda percentual em cada etapa.
- Exiba o
metric_urlpara que o usuário possa verificar na interface do Fullstory. - Se uma etapa do funil tiver uma taxa de abandono muito alta, priorize a investigação dessa etapa — não gaste tempo igual em todas as etapas.
- Para impacto na receita, peça ao usuário o valor médio do pedido. Não adivinhe.
- Se o usuário perguntar "o novo design ajudou?", construa duas métricas de funil (antes/depois da data de implantação) e apresente lado a lado.