Event Tracking é a coleta e análise de eventos sobre as ações do usuário dentro de um aplicativo móvel, desde cliques em botões até a realização de compras. Um event tracking de qualidade é a base da análise de produto, testes A/B e personalização. De acordo com Amplitude, 2024, equipes com Event Tracking sistemático tomam decisões de produto 3 vezes mais rápido graças à abordagem data-driven. Sem eventos, a análise do aplicativo é cega.
Principais pontos
Event Tracking é o processo de coleta, armazenamento e análise de ações discretas do usuário no aplicativo. Cada evento consiste em um nome (event_name) e um conjunto de parâmetros (event_params). Por exemplo, o evento purchase tem os parâmetros price, currency, product_id, quantity.
Ao contrário do Screen View, que registra o fato de abrir uma tela, o Event Tracking descreve exatamente o que o usuário faz nessa tela: clicou no botão “Comprar”, abriu o carrinho, aplicou um código promocional. Sem eventos, é impossível entender a motivação e o contexto das ações do usuário.
Cada Analytics Event contém campos obrigatórios e opcionais. Obrigatórios: event_name, event_timestamp, user_id (ou device_id). Opcionais: parâmetros que descrevem o contexto.
| Campo | Obrigatório | Exemplo |
|---|---|---|
| event_name | Sim | “purchase_completed” |
| event_timestamp | Sim | 1719876543000 |
| user_id | Sim | “user_abc123” |
| session_id | Não | “session_456def” |
| revenue | Não | 9.99 |
| currency | Não | “USD” |
O parâmetro revenue é especialmente importante — ele é enviado para plataformas MMP para cálculo automático de ROAS e LTV.
Os eventos são classificados por origem e propósito. Essa divisão ajuda a organizar a estrutura de dados e atribuir direitos de acesso para diferentes equipes.
Os SDKs das plataformas de análise coletam automaticamente eventos básicos: app_install, app_remove, session_start, screen_view. O Firebase Analytics gera cerca de 20 eventos automáticos sem uma única linha de código. Esses eventos cobrem métricas básicas, mas não fornecem compreensão da lógica de negócios.
Os eventos personalizados são o que torna o Event Tracking valioso. Eles descrevem ações de negócio: add_to_cart, start_subscription, level_complete, share_content, search_performed. Eventos personalizados exigem envio explícito do código do aplicativo.
// Enviando um evento personalizado para o Firebase
val bundle = Bundle().apply {
putString(AnalyticsParam.ITEM_ID, "prod_789")
putString(AnalyticsParam.ITEM_NAME, "Premium Subscription")
putString(AnalyticsParam.CURRENCY, "USD")
putDouble(AnalyticsParam.PRICE, 29.99)
putString(AnalyticsParam.SOURCE, "onboarding_screen")
}
FirebaseAnalytics.getInstance(this)
.logEvent("subscribe_premium", bundle)
No exemplo, o evento subscribe_premium contém quatro parâmetros de contexto. O parâmetro source permite identificar de qual tela o usuário se inscreveu — integração, configurações ou paywall.
Além dos eventos, o Event Tracking inclui User Properties — atributos vinculados ao usuário: nível de assinatura, país, versão do aplicativo. Uma User Property é enviada uma vez e se aplica a todos os eventos subsequentes da sessão. Isso permite segmentar a análise sem adicionar parâmetros a cada evento.
Super Properties (Amplitude) ou Global Properties (Mixpanel) — atributos vinculados a uma sessão, não a um usuário. São usadas para testes A/B: variant_id como Super Property é adicionado a todos os eventos da sessão, e o analista pode ver a qual grupo o usuário pertence.
Os eventos de receita são uma classe separada para registrar transações. Eles contêm o valor, a moeda e o tipo de compra (assinatura, compra única, restauração). As plataformas MMP (AppsFlyer, Adjust) exigem eventos de receita para calcular o ROAS.
De acordo com a Branch (2024), aplicativos que transmitem corretamente eventos de receita para MMP obtêm dados de atribuição 25% mais precisos e podem otimizar campanhas para LTV em vez de CPI.
A configuração do Event Tracking envolve três etapas: planejamento do esquema de eventos, integração do SDK e validação de dados.
Crie uma Taxonomia de Eventos — um documento que descreve cada evento: nome, parâmetros, gatilho de envio, proprietário. Exemplo para e-commerce: order_completed → parâmetros: order_id, total_price, items_count, payment_method, shipping_city.
Integre o SDK de análise ao seu projeto. Firebase Analytics, Amplitude, Mixpanel — qualquer SDK requer inicialização em Application.onCreate(). Exemplo para Flutter:
import 'package:firebase_analytics/firebase_analytics.dart';
class AnalyticsService {
final _analytics = FirebaseAnalytics.instance();
Future<void> logPurchase({
required String productId,
required double price,
required String currency,
}) async {
await _analytics.logEvent(
name: 'purchase_completed',
parameters: {
'product_id': productId,
'price': price,
'currency': currency,
'timestamp': DateTime.now().millisecondsSinceEpoch,
},
);
}
}
A classe AnalyticsService centraliza o envio de todos os eventos. Cada método corresponde a uma ação de negócio. Isso simplifica a localização da origem — se um evento não chega, você procura pelo nome do método no código. À medida que o projeto escala, o número de métodos pode crescer para 50–100, mas a estrutura permanece legível devido ao agrupamento por funcionalidade.
O Firebase DebugView permite ver os eventos em tempo real em um dispositivo de desenvolvimento. Ative-o: adb shell setprop debug.firebase.analytics.app your.package. Todos os eventos aparecerão no console do Firebase com um atraso de menos de 5 segundos.
Após ativar o DebugView, abra o aplicativo e execute um cenário de teste — registro, compra, navegação pelo catálogo. No console, verifique: se todos os eventos foram enviados, se os parâmetros corretos foram transmitidos, se não há duplicação. A Amplitude oferece uma ferramenta semelhante — Amplitude Debugger para iOS e Android.
A validação automática via CI/CD é o próximo nível de qualidade. Adicione um script ao pipeline que verifica se cada evento do esquema foi enviado pelo menos uma vez durante a execução do teste. Isso evita implantar versões com eventos ausentes e economiza tempo dos engenheiros de QA.
A nomeação de eventos é o aspecto mais subestimado do Event Tracking. Um nome incorreto torna a análise inútil quando o projeto tem mais de 50 eventos.
Use o padrão object_action (minúsculas, snake_case): product_added, cart_opened, payment_failed, subscription_cancelled. O objeto é a entidade, a ação é o verbo no passado. Lê-se como uma frase: “produto adicionado,” “carrinho aberto.”
NÃO use espaços (“Add to Cart”), CamelCase (“AddToCart”), pontos (“add.to.cart”) nem hífens (“add-to-cart”). A maioria dos SDKs recomenda snake_case. NÃO use nomes de elementos de UI (“btn_submit_clicked”) — o evento deve ser de negócio, não técnico.
Para prefixos, adicione o nome da funcionalidade ou tela: onboarding_step_completed, checkout_payment_selected. Isso permite filtrar eventos por funcionalidade nos relatórios.
Os parâmetros são divididos em três tipos: string (valor), number (número para agregação), boolean (indicador). Os parâmetros string contêm dados categóricos: país, fonte de tráfego, nome do produto. Os parâmetros number servem para métricas: preço, quantidade, duração. Os parâmetros boolean indicam estado: is_trial, is_promo_applied.
Evite passar objetos ou arrays em um único parâmetro — as plataformas de análise não conseguem analisá-los. Em vez de uma string JSON em um campo, passe vários parâmetros simples. Por exemplo, em vez de items_count_total, passe items_count e total_price separadamente.
A escolha da plataforma de Event Tracking depende da escala do projeto e da equipe. Vamos considerar três opções de diferentes níveis.
Firebase é a escolha padrão para startups. Limite gratuito — 500 event_name diferentes, número ilimitado de parâmetros. Integração com BigQuery para análise personalizada. Desvantagens: segmentação limitada, sem vinculação automática de eventos em sessões.
Amplitude é uma plataforma de análise de produto. Suporta Coortes Comportamentais, Análise de Funil, Pathfinder. Permite criar eventos virtuais a partir de combinações de eventos reais. Integra-se com mais de 50 ferramentas através do Segment.
Segment é um middleware para gerenciamento de eventos. Você envia eventos para o Segment, e ele os distribui para mais de 300 ferramentas. Útil em ambientes empresariais onde Firebase, Amplitude, Mixpanel, Braze e Salesforce são usados simultaneamente.
PostHog é uma plataforma de análise de produto open-source com seu próprio Event Tracking. Suporta captura automática de eventos, gravação de sessões e feature flags. É implantado em seu próprio servidor, o que é crítico para projetos com GDPR ou dados confidenciais. Fornece uma API compatível com Python para pipelines ETL.
Para projetos Flutter, recomenda-se flutterfire_analytics + Amplitude através do plugin amplitude_flutter. Para React Native — react-native-firebase + mixpanel-react-native.
Perguntas frequentes
A faixa ideal é de 50 a 150 eventos por aplicativo. Menos de 50 — dados insuficientes para análise, mais de 150 — a qualidade cai (os analistas não conseguem acompanhar todos). Para um MVP, 20–30 eventos-chave são suficientes.
O SDK móvel médio armazena em buffer os eventos e os envia em lotes a cada 5–30 segundos. Um limite seguro é de 100 eventos por minuto por dispositivo. Mais do que isso — risco de perda de dados em conexões ruins. Picos (por exemplo, carregamento de nível) não são críticos.
Sim, os SDKs modernos salvam eventos no armazenamento local quando não há rede. Quando a conexão é restabelecida, eles são enviados com o carimbo de data/hora correto. O Firebase armazena até 7 dias de eventos offline, o Amplitude — até 30 dias.
Um novo evento é criado com um novo event_name, o antigo permanece para dados históricos. Crie um mapeamento na camada de BI (SQL CASE ou dashboard) para mesclar os dados. Nunca mude o nome de um evento existente — isso quebrará o histórico.
Sim, o Event Tracking é a base da personalização. Os eventos são filtrados em tempo real: se um usuário enviou product_viewed 3 vezes sem comprar, mostre um pop-up de desconto. Amplitude e Braze suportam gatilhos baseados em eventos.
Resumo
Vamos desenvolver um aplicativo móvel chave na mão
A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.
Leia também