Teste A/B em Mobile

Teste A/B de Onboarding Mobile: o que Melhora a Retenção

Teste a/b onboarding mobile: qual métrica de ativação usar, o efeito real das permissões do sistema e o erro estatístico que engana a maioria dos apps.

Ilustração abstrata em verde escuro e teal de uma tela de smartphone estilizada com degraus ascendentes representando etapas de onboarding, sem texto

Testar A/B o onboarding de um app mobile só produz uma resposta confiável quando a métrica que decide o teste é a ativação de verdade, a conclusão de uma ação-chave específica dentro de uma janela fixa de dias, e não uma métrica de vaidade como “telas do tutorial vistas”. Este artigo faz parte do guia completo de teste A/B em apps mobile (iOS + Android) e cobre o experimento mais comum e mais mal medido do mobile: o onboarding. Você vai ver qual métrica usar, o que a tela pequena e as permissões do sistema mudam na conversão, o viés que infla resultados sem ninguém perceber e a armadilha estatística exclusiva de apps com versões diferentes em campo.

A métrica real de ativação: D1/D7/D30 e a ação-chave, não telas do tutorial

A armadilha mais comum de quem testa onboarding mobile é otimizar o que é fácil de contar (telas vistas, botões tocados, porcentagem do tour concluída) em vez do que de fato prevê se aquele usuário vai voltar. A prática recomendada de growth mobile trabalha com uma curva de retenção em três marcos: D1 (o usuário abre o app de novo no dia seguinte), D7 (ele volta e repete a ação central dentro de uma semana) e D30 (o hábito se consolidou). Nenhum desses três marcos é “viu o tutorial inteiro”. Cada produto tem a sua própria ação-chave: para um app de finanças pode ser conectar uma conta; para um de fitness, registrar o primeiro treino; para um de mensagens, trocar a primeira conversa real. Defina a sua antes de testar qualquer coisa no fluxo de boas-vindas.

Benchmarks de mercado ajudam a calibrar expectativa, nunca a definir meta. O levantamento de retenção mobile da UXCam reporta estas faixas para os apps de melhor desempenho, o percentil 75 de cada categoria:

Categoria D1 D7 D30
Social 50% a 60% 25% a 30% 15% a 20%
Fintech 35% a 45% 18% a 25% 10% a 15%
Produtividade 40% a 50% 22% a 28% 12% a 18%
Jogos 40% a 50% 12% a 18% 5% a 8%
E-commerce 25% a 30% 8% a 12% 3% a 6%

Leia essas faixas como o quartil superior, não como a média. Segundo o mesmo levantamento da UXCam, a D30 abaixo de 5% é a norma na maioria das categorias, não a exceção, com a mediana em torno de 4%. Se o seu app converte acima disso, o problema não é a curva geral, é o quanto o seu onboarding empurra gente pra cima ou pra baixo dela, e isso só um teste A/B com a métrica certa consegue medir.

Tela pequena, decisões grandes: o que muda do onboarding web para o mobile

No onboarding web, o usuário tem uma tela grande, várias janelas abertas e a chance de voltar depois. No mobile, cada elemento da tela compete por uma atenção muito mais escassa: o espaço físico é menor, a sessão é mais curta e a distração (uma notificação de outro app, uma ligação) está a um toque de distância. Isso muda o que vale a pena testar:

O ponto que mais derruba a conclusão: quando pedir permissão do sistema

Pedir push, localização ou câmera logo na primeira tela do onboarding é o erro de UX mais repetido em apps mobile, e o custo dele é mensurável, não apenas uma sensação de “atrito”. A documentação oficial da Android sobre boas práticas de permissão recomenda pedir a permissão no contexto do uso, no momento em que o usuário está prestes a usar a funcionalidade que precisa dela, e não de forma genérica no início do app: o usuário aceita mais quando entende por que está sendo perguntado, e recusa mais quando o pedido chega sem contexto. O mesmo padrão aparece do lado do iOS: telas de priming (uma explicação do valor antes do prompt oficial do sistema) tendem a elevar a taxa de aceitação, enquanto empurrar o prompt logo no primeiro acesso tende a reduzir a aceitação.

O funil abaixo marca onde esse pedido costuma entrar num onboarding self-serve típico, e o tamanho da queda que aparece exatamente ali:

Funil de onboarding mobile com o ponto de solicitação de permissão marcadoDe 1.000 instalações, 860 abrem o app pela primeira vez, 640 completam o onboarding e 220 realizam a ação-chave dentro de 7 dias. A queda de 26% entre abrir o app e completar o onboarding coincide com o momento em que a permissão do sistema é pedida.Instalação · 1.000Abriu o app pela 1ª vez · 860−14%permissão do SO pedida aqui (push / local / câmera)Completou o onboarding · 640−26%Ativação (ação-chave) D7 · 220−66%
Exemplo ilustrativo. A queda entre “abriu o app” e “completou o onboarding” costuma concentrar o efeito do timing da permissão, e é exatamente essa fatia que um teste A/B de posicionamento consegue isolar.

Trate o momento do pedido de permissão como qualquer outra variável testável: variação A pede no primeiro acesso, variação B pede só quando o usuário toca numa funcionalidade que exige aquela permissão. Meça o efeito na conclusão do onboarding e na ativação real, porque a permissão em si não é o objetivo, é só um meio.

O viés de sobrevivência ataca o onboarding mobile do mesmo jeito

O mesmo erro estatístico que invalida testes de onboarding em SaaS web aparece aqui, e o artigo irmão sobre teste A/B de onboarding em SaaS já descreve a lógica geral: comparar a ativação só entre quem terminou o onboarding, ignorando quem abandonou no meio, é comparar dois grupos que já foram filtrados de formas diferentes. No mobile isso costuma ser mais severo, porque a tela de permissão e a tela pequena juntas produzem mais abandono precoce do que a maioria dos fluxos web.

Reaproveitando os números do funil anterior: 1.000 pessoas instalaram o app, 640 completaram o onboarding e 220 realizaram a ação-chave dentro de 7 dias. Se você medir a ativação só entre quem terminou o onboarding (o erro comum), o número parece ótimo. Se você medir contra todo mundo que entrou, o número honesto é bem menor:

Viés de sobrevivência: ativação medida entre quem terminou versus entre todo mundoUsando os 220 ativados em D7 do funil anterior: medida só entre os 640 que terminaram o onboarding, a ativação aparece como 34,4%. Medida contra os 1.000 que entraram no teste, a ativação real é 22,0%.0%10%20%30%40%34,4% · viés (só quem terminou o onboarding, base 640)22,0% · correto (todo mundo que entrou, base 1.000)
A diferença entre os dois números não vem de um efeito real, vem só de trocar o denominador. Sempre use o denominador cheio: todos que instalaram e entraram no teste.

Na prática, defina a janela de ativação (D7, por exemplo) contada a partir da instalação, e conte cada instalação que entrou no teste no denominador, mesmo a que nunca abriu o app de novo. É mais desconfortável de olhar, mas é o único número que representa o que de fato aconteceu.

A armadilha exclusiva do mobile: preso numa versão antiga, e o SRM que ninguém detecta

Existe um problema estatístico que praticamente não existe na web e que é comum no mobile: parte dos seus usuários fica presa numa versão antiga do app, porque a mudança de onboarding só existe a partir de uma versão nova publicada na loja, ou porque o dispositivo ainda não buscou a configuração atualizada de um remote config. Segundo a documentação do Firebase Remote Config, o intervalo mínimo padrão de busca em produção é de 12 horas: um app pode ficar rodando com a configuração antiga em cache por até meio dia depois de você publicar a mudança, e um usuário que não abre o app com frequência pode ficar preso na versão antiga por muito mais tempo que isso.

O efeito prático: se a divisão do teste depende de o dispositivo já ter recebido a variação nova, quem está preso na versão antiga nunca entra no experimento do jeito que deveria, e o tráfego que sobra para cada lado deixa de bater com o 50/50 que você configurou. Isso é exatamente o que o SRM (Sample Ratio Mismatch) detecta: um teste de aderência entre a divisão observada e a esperada. A pesquisa da Microsoft sobre diagnóstico de SRM em testes A/B trata esse problema como sério o bastante para travar a leitura de qualquer teste até ser descartado, e o usuário preso numa versão antiga do app é o caso mobile mais comum desse mesmo defeito: parte do público nunca teve chance real de cair no lado esperado.

Veja como isso aparece nos números. Um teste configurado para 50/50 (6.000 esperados de cada lado, de um total de 12.000) mas com uma fatia de usuários presa na versão antiga produz uma divisão bem diferente da esperada:

SRM causado por usuários presos numa versão antiga do appDe 12.000 usuários, o esperado era 6.000 de cada lado. A variação A recebeu 7.150 (59,6%) e a B recebeu 4.850 (40,4%), porque parte do público ficou presa na versão antiga. O teste qui-quadrado dá chi-quadrado aproximadamente 440,8, valor-p menor que 0,0001: SRM confirmado.qui-quadrado ≈ 440,8 · valor-p abaixo de 0,0001 → SRM6.0007.150Variação A6.0004.850Variação Besperado (50/50)observado (versão presa)
Mesmo que a diferença de conversão pareça favorável, nenhum resultado desse teste é confiável enquanto o SRM não for corrigido: parte do público nunca teve a mesma chance de cair em cada lado.

A correção prática: segmente o verificador de SRM por versão do app, não só pelo total agregado. Se o desequilíbrio desaparece ao excluir versões antigas do cálculo, o problema é confirmado e a solução é forçar atualização (ou excluir versões incompatíveis da divisão), nunca só “ignorar e olhar o resultado de ativação mesmo assim”.

Onboarding mobile e onboarding SaaS web: mesma disciplina, detalhes diferentes

A estatística por trás de um teste A/B de onboarding é a mesma em qualquer canal: amostra dimensionada antes de rodar, denominador cheio contra o viés de sobrevivência, e nenhuma leitura de significância sem checar a saúde da divisão. O teste A/B de onboarding em SaaS cobre exatamente essa disciplina para produtos web, e vale a leitura complementar. O que muda no mobile são os detalhes de execução: a variação depende de qual versão do app o usuário tem instalada (a web não tem esse conceito, toda visita já carrega o código mais recente), e a entrega de uma mudança via remote config tem uma latência real de propagação até o dispositivo buscar a configuração nova, em vez de acontecer instantaneamente como na próxima carga de uma página web. Ignorar essas duas diferenças é o jeito mais comum de importar um teste A/B “de livro” da web e ele falhar silenciosamente no mobile.

Tour guiado, sandbox livre ou progressive onboarding: sem vencedor universal

As três estruturas mais comuns de onboarding mobile resolvem problemas diferentes, e nenhuma delas vence sempre:

Três estruturas de onboarding mobile e quando cada uma tende a vencerA partir do primeiro acesso ao app, três caminhos possíveis: tour guiado (melhor com caminho único e óbvio até o valor), sandbox livre (melhor quando o valor depende do contexto do usuário) e progressive onboarding (melhor perguntando conforme o uso real avança).Primeiro acessoao appTour guiadoCaminho único eóbvio até o valorcentral do produtoSandbox livreValor depende docontexto próprio dousuário (dados, uso)Progressive onboardingPergunta o que faltasó quando o usoreal exige
Meça as três (ou compare duas por vez) pela ativação real na janela fixa de dias, nunca pela taxa de conclusão do próprio fluxo de onboarding.

A tabela resume o que testar em cada estágio do onboarding mobile e onde mora o risco de se enganar:

Estágio O que testar Hipótese comum Risco de se enganar
Permissão do sistema Momento de pedir push, localização ou câmera (logo no 1º acesso vs. depois de uma ação de valor) Pedir com contexto aumenta a aceitação Medir só a taxa de opt-in infla a permissão como sucesso; meça o efeito na ativação, não só no aceite
Estrutura do fluxo Tour guiado vs. sandbox livre vs. progressive onboarding Menos carga cognitiva na tela pequena aumenta a conclusão Concluir o tour não é ativar; meça a ação-chave, não telas vistas
Densidade da tela Quantos elementos por tela (um CTA vs. vários) Telas mais “vazias” reduzem o abandono Uma tela vazia demais pode esconder informação que faltava, e isso só aparece na retenção, não na conclusão da tela
Push de reengajamento Notificação pós-instalação (timing e gatilho) para quem não voltou sozinho Lembrete no momento certo recupera uso Só alcança quem aceitou push; comparar sem ajustar o denominador reintroduz o viés de sobrevivência
Entrega da variação Rollout via nova versão de loja vs. via remote config Remote config chega mais rápido a todo mundo Cache local e usuários presos em versão antiga distorcem a divisão 50/50 (checar SRM por versão)

Dimensionando o teste: quantos novos usuários você precisa

Suponha que o seu app ativa hoje 22% dos novos cadastros dentro de 7 dias (a ação-chave já validada, na janela de D7) e você quer detectar uma melhora relativa de 15% trazida por um novo posicionamento da tela de permissão, ou seja, levar a ativação para cerca de 25,3%. Com 95% de confiança e 80% de poder, os parâmetros padrão de mercado, ajuste a calculadora abaixo para o seu próprio cenário:

Calculadora de tamanho de amostra
-Visitantes por variação
-Total (2 variações)
-Duração estimada

Cálculo por aproximação normal de duas proporções, 2 variações (50/50). Mexa nos campos e veja o impacto ao vivo.

Rodando esses números na mesma matemática da calculadora (sampleSizePerVariant), o resultado é 2.602 cadastros por variação (5.204 no total). Com um volume de 2.500 novas instalações por semana, o teste leva cerca de 15 dias para reunir essa amostra, tempo suficiente para cobrir pelo menos duas semanas cheias de comportamento, incluindo fins de semana.

Veja por que ignorar essa conta é o jeito mais comum de descartar uma boa ideia de onboarding. Simulando o mesmo efeito real usado na conta acima (22% contra 25,3%, usando significance()) em dois volumes de amostra diferentes:

Cenário N por variação Ativados (A / B) Valor-p Veredito
Amostra dimensionada 2.602 572 / 658 ≈ 0,0050 Significativo, B vence
Amostra insuficiente 900 198 / 228 ≈ 0,0962 Inconclusivo, mesmo efeito real

A diferença entre “deu certo” e “não deu certo” não veio de o efeito real ter mudado, é o mesmo ganho de ativação nos dois casos. A única coisa que mudou foi o tamanho da amostra. Times de onboarding mobile early-stage, com poucas centenas de instalações por semana, são especialmente vulneráveis a essa armadilha: rodam o teste por 10 dias, leem “não deu significativo” e descartam uma ideia que na verdade funcionava, só faltou amostra.

Antes de rodar qualquer teste de onboarding, escreva a hipótese primeiro: o guia de como escrever uma hipótese de teste A/B tem o formato exato e evita que você saia “descobrindo” um vencedor entre dezenas de métricas secundárias só por acaso.

Faça isso automático na Donnu

Declarar um vencedor de onboarding mobile sem corrigir o viés de sobrevivência ou sem checar SRM por versão de app é a forma mais comum de comemorar um resultado que não existe. A Donnu A/B aplica o mesmo motor de significância deste artigo a cada variação, sempre contra o denominador cheio de quem entrou no teste, e o snippet leve nunca trava o fluxo de onboarding do seu produto. Antes de declarar qualquer vencedor, dimensione o teste com a calculadora acima e confirme a saúde da divisão segmentada por versão do app, não só no agregado.

Comece um teste grátis de 14 dias e dimensione o próximo teste de onboarding com o rigor certo, não com o volume que “parece suficiente”.


Leia também: Teste A/B em Apps Mobile: o Guia Completo (iOS + Android) · Teste A/B de Onboarding em SaaS: o Que Move a Ativação · Como escrever uma hipótese de teste A/B

Referências

Perguntas frequentes

Qual é a métrica real de ativação num onboarding mobile?
É a conclusão de uma ação-chave específica do seu produto (o core action) dentro de uma janela fixa de dias, como D7 ou D30, contada a partir da instalação, não a partir do fim do tutorial. "Telas do onboarding vistas" ou "tour concluído" são métricas de vaidade: descrevem se o usuário passou pela introdução, não se ele voltou a usar o app. Valide a ação-chave cruzando quem a fez com quem realmente segue ativo em D7/D30, antes de testar qualquer variação de onboarding.
Pedir permissão de push, localização ou câmera durante o onboarding derruba a conversão?
Sim, e o efeito é mensurável, não só uma impressão. A documentação da Android sobre boas práticas de permissão recomenda pedir a permissão no contexto do uso, não no início do app, porque o usuário aceita mais quando entende por que está sendo perguntado. O padrão relatado por fornecedores de mensuração de apps sobre opt-in de ATT no iOS aponta na mesma direção: uma tela de priming antes do prompt oficial do sistema, mostrando o valor primeiro, tende a aumentar a aceitação, enquanto empurrar o pedido logo no primeiro acesso tende a reduzi-la. O timing exato é testável: trate-o como mais uma variação do seu teste A/B de onboarding, não como um detalhe técnico fixo.
Por que meu teste de onboarding mobile pode "dar significativo" e ainda estar errado?
O motivo mais comum é o viés de sobrevivência: medir a ativação só entre quem terminou o onboarding, e não entre todo mundo que entrou no teste. Se uma variação afasta mais gente cedo (uma tela de permissão mal posicionada, por exemplo), quem sobra tende a ser um público mais engajado por natureza, e a taxa "entre quem terminou" fica artificialmente melhor mesmo que a ativação real, olhando todo mundo, seja pior ou igual. A comparação correta sempre usa o denominador cheio: todos que instalaram e entraram no teste.
O que quebra a divisão 50/50 quando eu testo onboarding num app mobile?
O caso mais específico do mobile é o usuário preso numa versão antiga do app que nunca recebe a nova variação, porque a mudança só existe a partir de uma versão nova publicada na loja (ou porque o cache local do remote config ainda não buscou a configuração atualizada). Isso empurra tráfego desproporcional para o lado antigo e quebra a divisão que você configurou como 50/50. Rode o verificador de SRM (Sample Ratio Mismatch) segmentado por versão do app antes de confiar em qualquer resultado de ativação.
Tour guiado, sandbox livre ou progressive onboarding: qual converte mais?
Não existe vencedor universal, e é por isso que esse é um teste, não uma escolha de design feita de ouvido. Produtos com um caminho único e óbvio até o valor central tendem a ganhar com um tour guiado. Produtos cujo valor depende do contexto específico do usuário (dados próprios, integrações, casos de uso variados) tendem a ganhar com um sandbox livre ou com um progressive onboarding, que só pergunta o que é preciso conforme o uso avança. Meça pela ativação real na janela fixa de dias, não pela taxa de conclusão do fluxo.