Conheça o Firebase Analytics e seus principais recursos

Luiz Veloso
Apple Developer Academy PUCPR
8 min readApr 13, 2022

O Firebase é uma plataforma desenvolvida pela Google para facilitar a criação e o acompanhamento de aplicações Mobile e Web. Ela oferece uma grande quantidade de produtos com uma cota de uso gratuita bastante gentil, ajudando muito alguns aplicativos a darem seus primeiros passos.

É importante levar alguns pontos sobre o Firebase em consideração: como toda ferramenta terceira — e especialmente uma tão grande — coisas podem ser feitas fora de nosso conhecimento. Um exemplo disso é bastante relacionado a questões de tracking. Normalmente, isso é um problema apenas para se preocupar quando realizamos anúncios, mas tem ganhado novos nuances agora, com as leis gerais de proteção a dados, como o LGPD e a regulação Europeia equivalente, a GDPR. Como o Firebase coleta dados de Analytics e referencia contra outras bases de anunciantes, é um ponto que deve ser levado em consideração em todo o processo de privacidade do aplicativo — seja na App Store ou no próprio App, com o App Tracking Transparency.

Um produto muito interessante do Firebase — e que vamos nos aprofundar aqui — é o Firebase Analytics.

Alternativas de Analytics

Outras ferramentas de Analytics também existem, podendo oferecer um produto tão bom quanto até melhor que o próprio Firebase. Entretanto, nem todas possuem uma quota gratuita ou integram tão facilmente com outros produtos (como realizar testes A/B)

Heap — Illuminate the Full User Journey — Heap

Mixpanel: Product Analytics for Mobile, Web, & More

O Firebase Analytics

O Firebase Analytics é o produto do Firebase voltado para Analytics dentro do app. A ferramenta acaba tendo dois pontos muito fortes a seu favor: baixo custo e integração com o Google Analytics, uma das ferramentas de Analytics mais poderosas que existem. Todo projeto dentro do Firebase Analytics pode ser conectado com o Google Analytics, permitindo até integrações com campanhas de marketing e tracking de resultados.

A Google oferece um projeto demo bem interessante, chamado Flood It! Para acessar, é só abrir o console do Firebase.

O projeto demo possui vários produtos ativos — incluindo o Analytics — e é um excelente lugar para se começar a explorar e ter ideias.

Estatísticas Automáticas

Apesar de ser uma ferramenta que oferece bastante customização, um ponto muito legal do Firebase é a quantidade de informações e estatísticas automáticas que a ferramenta já possui. Alguns eventos são coletados automaticamente (como ver uma página, iniciar uma sessão, fazer um in-app-purchase) e a partir disso o Firebase já é capaz de gerar uma série de relatórios poderosíssimos.

A página Dashboard do Analytics já oferece uma grande quantidade de métricas, como pode ser visto abaixo:

Dashboard do game Neon Game of Life, do Enzo

Estatísticas Demográficas

Através do cruzamento de informações como o IDFA, o Firebase é capaz de descobrir dados a respeito da demografia do usuário (como faixa de idade, localização, gênero). Essas estatísticas também podem ser usadas em todos os relatórios do Firebase para a realização de filtros e análises mais avançados.

⚠️ Para realizar análises demográficas, o Firebase usa um framework adicional: o AdSupport. Com mudanças nas questões de privacidade, o desenvolvedor não tem a garantia de que o IDFA está sendo capturado ou não — e consequentemente estas propriedades.

Alguns exemplos de análise que podem ser feitas:

  • De que país tenho mais usuários?
  • Qual a principal faixa etária que meu app atinge?
  • Minha retenção é alterada de acordo com a idade?
  • Qual o perfil dos meus usuários pagantes?

Propriedades de Usuário

As propriedades de usuário são funcionam de maneira bastante similar as Estatísticas Demográficas, sendo a principal diferença de que elas cobrem outros aspectos do usuário — além do desenvolvedor poder customiza-las.

🚨 Existe um limite de 25 propriedades de usuário customizadas!

Alguns exemplos de propriedades de usuário que podem ser configuradas — e análises subsequentes:

  • Esse usuário completou o Onboarding inteiro?
  • Quantos níveis esse usuário já completou do meu jogo?
  • Como a retenção é alterada para usuários que completaram mais de 30 níveis?
  • Usuários com a característica X tem uma tendência maior a comprar in-app-purchases?

💡 Pensando em Marketing…
Do ponto de vista do marketing, o ideal é identificar características que diferenciam o público-alvo o suficiente para monitorar o perfil de uso desses públicos específicos de interesse pro negócio. Como são apenas 25, priorize características de usuário relevantes pro negócio.

Eventos

Os eventos são a cereja do bolo de qualquer análise de aplicativo. Com os eventos bem definidos, tornamos o processo de análise e coleta de dados extremamente poderoso. Um evento é, como o nome diz, uma ação realizada. Existem alguns eventos que o Firebase coleta automaticamente (como a abertura do app) assim como o desenvolvedor pode criar novos eventos. O Firebase também oferece alguns eventos existentes que o desenvolvedor pode implementar, integrando automaticamente em vários relatórios.

🚨 Existe um limite de 500 eventos customizados!

Eventos Padrão

Os eventos padrão do Firebase são eventos que o Firebase “entende” e integra de maneira automática em vários relatórios. Devem sempre ser preferidos em comparação a eventos customizados (ou seja, ao invés de implementar seu próprio evento de sign_up, use o do Firebase!)

Alguns eventos padrão que já existem são:

  • tutorial_begin
  • tutorial_complete
  • earn_virtual_currency
  • sign_up
  • login
  • share
  • search
  • join_group
  • in_app_purchase

Existem vários outros eventos padrão existentes, e mais podem ser encontrados aqui!

Eventos Customizados

Caso o evento que você queira acompanhar não exista por padrão no Firebase, é possível criar um evento customizado. O evento tem um name definido por você e pode ter parâmetros também. Para monitorar os parâmetros, é necessário realizar a declaração dos mesmos no console do Firebase.

Eventos de Conversão

Qualquer evento pode ser marcado como um “Evento de Conversão” — ou seja, vai ser utilizado como uma ação de conversão para campanhas de anúncio.

O AdMob, FacebookAds e outras redes de anúncio podem obter esses eventos caso integradas com o Firebase. São bastante importantes para realizar uma boa análise da campanha para se obter resultados específicos.

💡 Pensando em Marketing…
É possível criar uma campanha que tente otimizar um evento como por exemplo in_app_purchase. Ou seja, a campanha tentará achar apenas usuários que realizem esse evento dentro do app. Para esse objetivo, o evento in_app_purchase deverá ser marcado como evento de conversão. Outras campanhas podem tentar otimizar outros eventos, como tempo in-app, número de fases jogadas, número de sessões, ads assistidos, entre outros.

Também tem a ver com os interesses e objetivos de campanha do negócio.

Parâmetros de Eventos (ou Propriedades de Eventos)

Eventos, padrões ou customizados, podem ter parâmetros. Por exemplo, o evento level_complete pode ter como parâmetros:

  • número da fase
  • tempo de duração
  • pontuação

entre outros.

Existe algumas limitações quanto a tipo de dado que o parâmetro pode ter: apenas Strings e números podem ser usados. Veja mais sobre na página de eventos para iOS.

💡 Pensando em Marketing… Entenda quais parâmetros podem ser usados para extrair informações úteis de decisão para o negócio. Por exemplo, pode ser interessante para um jogo monitorar se, ao completar um level, determinado video-reward foi usado. Depois, conseguimos visualizar se usar o video-reward contribui ou não para vitória no level, ou taxa de finalização da fase, ou replays ou até uma in-app-purchase.

Funis

Os funis são uma ferramenta de análise bastante interessante para entender a relação entre sequências de eventos e a jornada dos usuários dentro do app. Um funil muito utilizado em jogos, por exemplo, é o funil para a relação de level_started e level_ended. Esse funil, especificamente, nos auxilia bastante a entender possíveis frustrações de um usuário e realizar um balanceamento melhor do jogo.

No exemplo acima, pode-se perceber que o evento level_start aconteceu 7405 vezes, enquanto o level_end apenas 1606. Ou seja, apenas 22% das fases iniciadas são terminadas. Algumas hipóteses podem ser levantadas: a fase é muito difícil, ou muito longa, ou confusa ou outras N coisas. Assim, podemos pensar em estratégias para melhorar o app.

💡 Pensando em Marketing… Funis de vendas são extremamente comuns, e em um app comercial seria possível criar funis com progressão de uma esteira de compras: 1. assinou o trial 2. assinou efetivamente 3. renovou assinatura Diversos funis podem ser pensados, mas dependem das necessidades de análise do negócio.

Casos de Uso

O Firebase oferece muitas ferramentas e facilidades. Para mais informações e dicas, alguns links abaixo podem auxiliar:

Firebase Use Cases

FeaturedCustomers

How to use Google Analytics for Firebase — Market Finder by Google

Firebase Traffic Source Attribution Guide

Outras Ferramentas Úteis do Firebase

Crashlytics

O Crashlytics é uma ferramenta extremamente útil para se analisar crashes do aplicativo. Ele oferece informações como a versão que o usuário está, quantidade de ocorrências e, se configurado corretamente, até a linha de código onde o programa falhou. Mensagens customizadas também podem ser adicionadas para facilitar o debug.

Previsões

O Previsões do Firebase é uma ferramenta que aplica machine learning e ria segmentos dinâmicos de usuário, que podem posteriormente analisados nos relatórios ou utilizados como base para um teste A/B

A/B Testing

Bastante conectado ao Remote Config, o Firebase possui um conjunto de ferramentas para a realização de testes A/B. Com o bom uso disso, é possível analisar o impacto de certas adições no aplicativo na experiência geral de um grupo de usuários. Por exemplo:

  • Adicionar tal botão aumentou minha taxa de conversões?
  • Essa mudança no onboarding aumentou minha retenção?

Remote Config

O Firebase Remote Config é uma ferramenta muito útil para realizar o rollout de features gradualmente. Com ele, conseguimos customizar a experiência de usuários específicos com uma mudança no servidor (feature toggle).

Cloud Messaging

O Cloud Messaging é uma outra ferramenta do Firebase para auxiliar no envio de notificações. O FCM (como é abreviado) permite uma interface simples para que um servidor envie notificações para um usuário independente da plataforma (iOS, Android, Web) tornando múltiplos produtos bastante integrados.

Dynamic Links

O Firebase Dynamic Links tem um propósito bastante prático: permitir que o desenvolvedor crie deeplinks (aqueles links que redirecionam para dentro do App) de maneira bastante simples e dinâmica. Os dynamic links também podem redirecionar o usuário para a loja, por exemplo, caso o usuário não possua o app.

Integrações Externas

BigQuery

Por ser uma plataforma da Google, o Firebase possuí algumas integrações nativas com outras ferramentas de dados, como o BigQuery. O BigQuery é uma base de dados SQL (e mais algumas coisas) que atual como uma data warehouse, permitindo a realização de análises e integração com relatórios customizados.

O Firebase Analytics é capaz de exportar dados nativamente para o BigQuery sem a necessidade de escrever código algum. Por outro lado, o BigQuery é uma ferramenta paga que pode sair bastante cara no longo prazo.


Escrito por Luiz Veloso e Enzo Maruffa.

Este artigo foi apoiado pelo programa PPI Softex/, Convênio nº 0200–12/2021/SOFTEX/PPI/PUCPR/Res TIC5, financiado pelo Ministério da Ciência, Tecnologia e Inovações com recursos da Lei nº 8.248, de 23 de outubro de 1991.

--

--