Analytics (Mixpanel)
Eventos de uso (telas, cliques, conversões) para entender como as pessoas usam o app.
Sem analytics você lança o app no escuro: não sabe qual tela trava o usuário, qual botão é clicado, em qual etapa do funil a pessoa desiste. O Mixpanel resolve isso.
O kit vem com o Mixpanel ligado por padrão e um AnalyticsObserver que registra cada navegação automaticamente.
Implementação
Pelo MCP: peça ao assistente "adiciona analytics no meu projeto". Ele roda add_feature por você. Veja MCP do Kasy.
-
Rode:
kasy add analyticsA CLI pede o token do Mixpanel e salva no projeto.
-
Para pegar o token:
- Crie conta no mixpanel.com (plano free serve)
- Create Project → defina o nome
- Settings → Project Settings → copie o Project Token
- Cole no
kasy add analyticsquando perguntar
-
Para configurar depois, sem passar pela CLI:
# .env MIXPANEL_TOKEN=seu_token_aquiPelo MCP: cole o token no chat e peça "configura o Mixpanel". O assistente grava com
configure_project_keys. Veja MCP do Kasy.
Informações
O que vem registrado automaticamente
| Evento | Quando dispara |
|---|---|
Screen View | Toda navegação entre telas |
App Open | Boot do app |
Login | Login social ou e-mail |
Signup | Cadastro novo |
Purchase | Compra de assinatura (RevenueCat ou Stripe) |
Subscription Renewed | Renovação automática |
Você não precisa adicionar nenhuma linha de código para esses eventos.
Registrar evento customizado
import 'package:kasy_kit/core/data/api/analytics_api.dart';
ref.read(analyticsApiProvider).trackEvent(
'Workout Started',
properties: {
'workout_type': 'cardio',
'duration_min': 30,
},
);Boas convenções de nome:
- Verbo no passado:
Workout Started,Recipe Saved,Lesson Completed - Espaço entre palavras (mais legível no painel que
workout_started) - Properties em snake_case
Identificar o usuário
O kit chama identify automaticamente quando o usuário loga. Você vê quem fez o quê no painel, não fica anônimo.
Para adicionar atributos do perfil:
ref.read(analyticsApiProvider).setUserProperties({
'plan': 'premium',
'signup_date': DateTime.now().toIso8601String(),
});Onde ver os dados
mixpanel.com → seu projeto. Algumas telas úteis para começar:
- Events → lista cru de tudo que está chegando
- Funnels → tela A → tela B → assinatura (onde estão perdendo)
- Retention → quantos usuários voltam dia 1, dia 7, dia 30
- Insights → gráficos personalizados de qualquer evento
Privacidade (LGPD / GDPR)
- Em produção, o ID do usuário vai junto. Se você não quiser, pode passar
nullno identify e usar só o ID anônimo do device. - Mixpanel tem opt-out:
Mixpanel.optOutTracking()desliga o envio para aquele usuário (útil em telas de privacidade). - Os eventos vão para servidores do Mixpanel nos EUA. Avise no seu termo de uso.
Atualizado em 03/11/2026

