KasyKasy

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.

  1. Rode:

    kasy add analytics

    A CLI pede o token do Mixpanel e salva no projeto.

  2. Para pegar o token:

    1. Crie conta no mixpanel.com (plano free serve)
    2. Create Project → defina o nome
    3. Settings → Project Settings → copie o Project Token
    4. Cole no kasy add analytics quando perguntar
  3. Para configurar depois, sem passar pela CLI:

    # .env
    MIXPANEL_TOKEN=seu_token_aqui

    Pelo 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

EventoQuando dispara
Screen ViewToda navegação entre telas
App OpenBoot do app
LoginLogin social ou e-mail
SignupCadastro novo
PurchaseCompra de assinatura (RevenueCat ou Stripe)
Subscription RenewedRenovaçã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 null no 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