Teste A/B de Notificação Push: um Guia Prático
Teste A/B de notificação push: o que testar, por que o opt-in muda quem entra no teste e como não declarar vencedor sem métrica de opt-out.

📚 Este artigo faz parte do guia Teste A/B de E-mail Marketing: o Guia Estatístico Completo.
Teste A/B de notificação push é comparar duas versões de um envio (texto, CTA, horário, formato ou segmento) para fatias aleatórias da sua base de usuários com permissão concedida, medindo qual gera mais clique sem drenar a base de quem ainda aceita receber notificações. O ponto que a maioria dos guias de teste A/B de e-mail marketing não cobre: push tem uma população elegível que já nasce filtrada pelo opt-in, uma janela de atenção medida em segundos, e uma armadilha estatística específica, uma variação pode vencer no clique e ainda assim aumentar a taxa de quem desliga as notificações ou desinstala o app. Este guia cobre o que diferencia push como canal de teste, o que vale a pena testar, por que a amostra precisa ser grande por causa do CTR tipicamente baixo, e como declarar um vencedor sem se enganar com uma métrica de guarda.
O que diferencia push de e-mail como canal de teste
Push e e-mail parecem o mesmo tipo de teste A/B (duas versões, uma audiência, uma métrica de clique), mas três diferenças estruturais mudam como o teste precisa ser desenhado.
A primeira é a permissão de opt-in. Em e-mail, qualquer endereço cadastrado pode receber a campanha (mesmo que caia em spam ou seja ignorado). Em push, o sistema operacional bloqueia o envio até o usuário conceder a permissão explicitamente, e essa concessão varia enormemente por plataforma: segundo a CleverTap, a taxa de opt-in fica perto de 91% no Android contra 44% no iOS. Isso quer dizer que a população que sequer pode entrar no seu teste já é uma fatia filtrada e desigual entre sistemas, bem diferente de uma lista de e-mail onde (dentro de limites de entregabilidade) todo mundo é alcançável.
A segunda é a janela de atenção. Um e-mail pode ser lido minutos ou dias depois de chegar, sem prejuízo grave. Uma notificação push compete por alguns segundos de atenção na tela de bloqueio antes de ser dispensada, substituída por outra notificação, ou simplesmente esquecida na central de notificações. Isso comprime o tempo útil de decisão do usuário e torna o texto, o horário e o formato mais determinantes do resultado do que em qualquer canal assíncrono.
A terceira é o custo de fadiga. Um e-mail malfeito custa, no pior caso, uma taxa de descadastro. Uma notificação push malfeita ou frequente demais custa a permissão inteira: o usuário pode desligar as notificações do app (opt-out) ou desinstalar o aplicativo, o que fecha a porta para qualquer comunicação futura por esse canal. É por isso que todo teste de push precisa de uma métrica de guarda desde o início, e não só de uma métrica primária de clique.
O funil de push: a permissão já decide quem entra no teste
Um envio de push tem um funil próprio, mais curto que o de e-mail, mas com uma etapa que não existe em nenhum outro canal: a concessão de permissão acontece antes de qualquer teste começar, e ela por si só já é uma variável de funil que muda a população disponível.
Essa etapa extra tem uma consequência prática direta: mudar o texto do pedido de permissão, ou o momento em que ele aparece (logo na abertura do app, ou só depois de uma primeira ação de valor), é por si só um teste A/B válido, e normalmente o de maior alavancagem, porque ele afeta o tamanho de toda a população dos testes seguintes. Testar o texto de uma notificação sobre uma base pequena porque o opt-in é baixo é otimizar a etapa errada.
Como em e-mail, nem toda métrica de push é igualmente confiável para decidir um vencedor:
| Métrica | Confiabilidade | Por que |
|---|---|---|
| Opt-in | Variável de funil, não de teste de conteúdo | Depende do pedido de permissão e da plataforma (91% Android x 44% iOS, CleverTap), não do texto da notificação em si |
| Entrega | Alta, mas pouco informativa | Confirma que o envio chegou ao dispositivo, não que alguém reparou nele |
| Clique / CTR | Confiável para decidir conteúdo | Métrica primária mais comum, mas geralmente baixa (cerca de 2,25% em média, CleverTap) |
| Conversão pós-clique | Confiável, e a que decide de verdade | Liga o teste ao resultado de negócio (compra, ativação, retorno ao app) |
| Opt-out / desinstalação | Guardrail, nunca a métrica primária | Não decide o teste, mas precisa ser monitorada: não pode piorar enquanto o clique melhora |
O que vale a pena testar numa notificação push
Cada elemento de uma notificação push move uma parte diferente da decisão de clicar, e alguns só existem nesse canal:
- Texto e CTA. O título e o corpo da notificação (poucas dezenas de caracteres) decidem sozinhos boa parte do clique, o equivalente ao assunto de um e-mail, mas com muito menos espaço para convencer.
- Horário de envio. O mesmo texto às 8h de um dia útil e às 22h de sábado chega para hábitos de atenção completamente diferentes, e o horário certo depende do fuso e da rotina do seu público, não de um horário universal.
- Frequência e cadência. Quantas notificações por semana o mesmo usuário recebe sem que o incômodo supere o valor percebido. É a variável mais arriscada de testar, porque o efeito colateral (fadiga, opt-out) pode demorar mais para aparecer do que o efeito principal (clique).
- Deep link de destino. Para onde o clique leva dentro do app faz tanta diferença quanto o texto: um deep link direto para a tela relevante converte diferente de um que só abre a home do aplicativo.
- Rich media contra texto puro. Imagem, GIF ou ícone incorporado à notificação contra uma notificação só de texto. A OneSignal cita notificações com mídia rica gerando cerca de 25% mais engajamento que notificações padrão, uma tendência de mercado, não uma garantia para qualquer app.
- Segmentação comportamental contra broadcast. Enviar o mesmo texto para toda a base opt-in, ou segmentar por comportamento recente (o que o usuário fez ou deixou de fazer no app). A CleverTap relata notificações contextuais (baseadas em comportamento) com taxa de abertura de 16,3%, contra 4,7% de campanhas genéricas de broadcast, uma diferença grande demais para ignorar, mas que também consome mais engenharia de segmentação.
Uma armadilha de origem, igual à de e-mail: mudar o texto, o horário e a segmentação no mesmo envio. Se a variação “vencer” assim, você não vai saber qual dos três moveu o resultado. Isole uma variável por teste, ou rode etapas sequenciais.
Quantos usuários você precisa: o CTR baixo exige amostra grande
Esta é a armadilha estatística mais específica de push. O CTR do canal costuma ser baixo, poucos por cento segundo a maioria dos levantamentos de mercado (a CleverTap cita uma média geral perto de 2,25%), e taxa baixa sempre exige amostra maior para o mesmo rigor. É a mesma matemática de qualquer teste de duas proporções, mas aplicada a um canal onde o número absoluto de cliques por envio tende a ser pequeno mesmo com uma base grande de usuários.
Veja como o tamanho de amostra por variação cresce conforme você exige detectar um efeito menor, partindo de uma base de CTR de 2,25%:
| Efeito mínimo buscado (relativo) | Amostra por variação |
|---|---|
| +30% | ≈ 8.683 |
| +20% | ≈ 18.711 |
| +15% | ≈ 32.527 |
Compare isso com a orientação que a própria OneSignal dá em conteúdo educativo sobre o tema: um “público-alvo razoavelmente grande, de pelo menos 1.000 contatos” para rodar um teste relevante. Esse piso genérico serve como ponto de partida, mas está muito abaixo do que o rigor estatístico exige para enxergar um efeito de 15% a 20% num CTR de poucos pontos percentuais: com 1.000 contatos por variação, boa parte dos testes de texto de push nunca teria poder suficiente para separar sinal de ruído, mesmo que a diferença real exista.
Calcule para o seu caso: informe o CTR de base do seu app, o efeito que você quer detectar e quantos usuários com opt-in ativo você alcança por semana, e veja quantos usuários e quantos dias o teste precisa.
Cálculo por aproximação normal de duas proporções, 2 variações (50/50). Mexa nos campos e veja o impacto ao vivo.
Para reproduzir o cenário deste guia na calculadora acima, ajuste a taxa base para 2,25, o efeito mínimo detectável para 20 (relativo) e os visitantes por semana para 20.000 (usuários opt-in alcançáveis). O resultado: 18.711 usuários por variação (37.422 no total), rodando por cerca de 14 dias com esse volume semanal, o suficiente para cobrir pelo menos um ciclo cheio de dias úteis e fim de semana.
Se a sua base de opt-in não bancar essa amostra na métrica de clique, duas saídas honestas: acumule o teste ao longo de vários envios recorrentes da mesma campanha, ou aceite testar um efeito maior (mudanças mais ousadas de texto ou formato, não um ajuste de uma palavra), documentando que efeitos pequenos vão continuar inconclusivos com o seu volume atual.
Duração: picos de horário e fuso podem distorcer o teste
Push tem uma variação de comportamento por horário ainda mais acentuada que e-mail, porque a decisão de reparar numa notificação depende de o aparelho estar na mão, desbloqueado ou com a tela ativa naquele segundo específico. Um envio às 8h captura um perfil de usuário (quem já está de olho no celular de manhã); um envio às 22h captura outro. Se as duas variações do seu teste não rodarem por ciclos completos, cobrindo os mesmos picos de horário e os mesmos fusos da sua base, uma parte da diferença observada vem do momento do envio, não do conteúdo testado.
A correção é a mesma de qualquer canal: rode as duas variações ao mesmo tempo, nunca uma variação numa semana e a outra na semana seguinte, e deixe o teste completar pelo menos um ciclo de sete dias, mesmo que a amostra calculada já tenha sido atingida antes. Encerrar assim que a primeira leva de cliques do dia chegar é a mesma armadilha do peeking (espiar o painel e parar na primeira significância) descrita no guia de significância estatística em teste A/B, com um agravante: como o volume de clique de push já é baixo por natureza, cada checagem antecipada pesa proporcionalmente mais no risco de um falso positivo.
A armadilha do guardrail: vencer no clique e perder na permissão
Aqui está o ponto que separa um teste de push honesto de um “vencedor” caro disfarçado de sucesso. Uma variação mais urgente, mais chamativa ou mais frequente tende a puxar mais clique no curto prazo, mas isso não significa que ela é boa para o negócio, se o preço for uma parte relevante da base desligando as notificações ou desinstalando o app. Por isso, todo teste de push precisa declarar uma métrica de guarda (guardrail) de opt-out antes de rodar, do mesmo jeito que se declara a métrica primária.
Cole os usuários (destinatários) e os cliques (ou qualquer evento que você escolher) de cada versão. A calculadora devolve as taxas, o lift, o valor-p, o intervalo de confiança da diferença e um veredito honesto:
Teste z bilateral de duas proporções. "Sem significância" quase sempre quer dizer que falta amostra, não que as versões são iguais.
Um exemplo trabalhado: o mesmo teste, duas métricas, dois veredictos opostos
Um app de e-commerce testa duas versões do texto de uma notificação de recuperação de carrinho para 20.000 usuários com opt-in ativo em cada braço. A variação A é neutra (“Você deixou itens no carrinho”); a variação B usa urgência (“Últimas horas: seu carrinho vai expirar”). Os resultados brutos:
- Clique (CTR): A teve 620 cliques (3,10%); B teve 760 cliques (3,80%).
- Opt-out em 7 dias (guardrail): A teve 140 usuários desligando notificações (0,70%); B teve 210 (1,05%).
Rodando o mesmo teste de duas proporções usado em qualquer teste A/B para cada métrica:
- Clique: lift relativo de +22,58% (0,70 ponto percentual), escore z ≈ 3,84, valor-p ≈ 0,000125. Significativo: B vence no clique, e por uma margem real, o intervalo de confiança da diferença vai de 0,34 a 1,06 ponto percentual, sem cruzar o zero.
- Opt-out: lift relativo de +50,00% (0,35 ponto percentual), escore z ≈ 3,76, valor-p ≈ 0,000171. Também significativo: B aumenta o opt-out pela metade, com intervalo de confiança de 0,17 a 0,53 ponto percentual, também sem cruzar o zero.
Repare que os dois resultados são estatisticamente sólidos ao mesmo tempo, não é um caso de “o guardrail não teve significância, então ignore”. A variação B de fato clica mais, e de fato desliga mais gente. Declarar B vencedora só porque o CTR subiu, sem checar o opt-out, teria sido uma decisão estatisticamente correta sobre a métrica errada, e cara: cada usuário que desliga notificações fecha um canal de comunicação inteiro, não só perde um clique.
O ensinamento não é “nunca use urgência”. É: declare a métrica de guarda antes de rodar o teste, meça as duas ao mesmo tempo, e trate um “vencedor” que piora o guardrail como um resultado que exige julgamento de negócio, não uma comemoração automática.
Frequência e fadiga: por que mais envio nem sempre é melhor
A cadência de envio é, ao mesmo tempo, uma das variáveis mais valiosas de testar e uma das mais arriscadas de testar mal. Plataformas do setor, como a Braze, alertam que notificações demais ou irrelevantes tendem a afastar o usuário, podendo levar ao desligamento das notificações ou à desinstalação do app. Na prática, esse incômodo tende a se acumular antes de virar uma ação concreta do usuário, o que significa que o efeito de fadiga pode não aparecer no mesmo dia em que você aumenta a frequência.
Testar cadência exige uma janela de medição mais longa do que testar texto: o efeito principal (clique de cada envio) aparece rápido, mas o efeito de guarda (opt-out acumulado) pode continuar subindo por semanas depois que o padrão de frequência mudou. Meça o opt-out numa janela fixa que cubra pelo menos algumas semanas de envio na nova cadência antes de declarar que ela é segura, não só no primeiro ciclo.
Segmentação comportamental contra broadcast
Enviar a mesma notificação para toda a base com opt-in ativo (broadcast) é mais simples de operar, mas ignora que usuários diferentes estão em momentos diferentes da jornada. Segmentar pelo comportamento recente (o que a pessoa fez, ou deixou de fazer, dentro do app) costuma render mais, ao custo de mais engenharia de dados: a CleverTap relata 16,3% de abertura em campanhas contextuais (baseadas em comportamento) contra 4,7% em campanhas genéricas, uma diferença grande o bastante para justificar o investimento na maioria dos casos, mas que só um teste desenhado especificamente para isolar “mesmo texto, públicos diferentes” contra “broadcast total” confirma no seu produto.
O horário de envio entra na mesma lógica: a Braze cita o recurso de temporização inteligente (que ajusta o horário por usuário, em vez de um horário fixo para todos) como cerca de 2,6 vezes mais eficaz em gerar aberturas do que um envio no mesmo horário para todo mundo, segundo pesquisa própria da empresa. Testar “horário fixo” contra “horário personalizado por usuário” é, na prática, um teste de segmentação disfarçado de teste de horário.
Os erros que mais aparecem em teste A/B de push
| Erro | Sinal de alerta | Correção |
|---|---|---|
| Ignorar o opt-in como variável | Testou só o texto e nunca revisou o pedido de permissão | Trate a etapa de opt-in como um teste próprio, ela decide o tamanho de toda a população seguinte |
| Declarar vencedor só pelo clique | “B teve mais clique, foi ele” | Declare uma métrica de guarda (opt-out) antes de rodar, e leia as duas juntas |
| Amostra pequena para o CTR do canal | Testou com algumas centenas de usuários por variação | Calcule a amostra antes; CTR baixo exige amostra grande, não pequena |
| Testar texto, horário e frequência juntos | Mudou tudo no mesmo envio | Isole uma variável por teste, ou rode etapas sequenciais |
| Encerrar no primeiro pico de clique | Parou de olhar depois de algumas horas | Rode ciclos completos de pelo menos uma semana, cobrindo os picos de horário reais da base |
| Medir fadiga só no primeiro envio | Aumentou a frequência e não viu opt-out subir no mesmo dia | Meça o opt-out numa janela de várias semanas, o efeito de fadiga costuma ser cumulativo |
Faça isso automático na Donnu
Você acabou de ver o trabalho que um teste A/B honesto de push dá: entender que o opt-in já filtra quem entra no teste, calcular uma amostra grande o bastante para um CTR tipicamente baixo, esperar ciclos completos de horário e, acima de tudo, nunca declarar um vencedor sem checar a métrica de guarda do opt-out. É exatamente aqui que a maioria dos times erra: comemora um clique maior enquanto uma fatia da base desliga as notificações para sempre, e só percebe o estrago semanas depois. A Donnu aplica o mesmo rigor estatístico deste guia à sua métrica primária e à sua métrica de guarda ao mesmo tempo: você define a hipótese e o que não pode piorar, a Donnu dimensiona a amostra certa para o seu CTR real e devolve um veredito honesto, sem deixar um clique de curto prazo mascarar uma base encolhendo.
Comece um teste grátis de 14 dias e leve o mesmo padrão estatístico do seu e-mail e do seu site para o próximo envio de push. Para aprofundar a base estatística usada neste guia, veja também o que é teste A/B, o guia completo e teste A/B de e-mail marketing: o guia estatístico completo.
Referências
- CleverTap. 10 Push Notification Metrics You Need to Track: CTR, Open Rate & More. clevertap.com/blog/push-notification-metrics-ctr-open-rate.
- OneSignal. How to Make Push Notifications More Effective With A/B Testing. onesignal.com/blog/how-to-a-b-test-push-notifications.
- OneSignal Documentation. A/B Testing. documentation.onesignal.com/docs/en/ab-testing.
- Braze. A Guide to Push Notification Best Practices. braze.com/resources/articles/push-notifications-best-practices.
Leia também
Perguntas frequentes
- Por que a taxa de opt-in de push já é uma variável do teste, e não só um pré-requisito?
- Porque diferente do e-mail, onde qualquer pessoa com o endereço pode ser alvo, o push só chega a quem concedeu permissão no aparelho. Essa permissão varia muito por plataforma (perto de 91% no Android contra 44% no iOS, segundo a CleverTap) e por como o app pede a permissão, então mudar o pedido de opt-in muda quem entra no seu teste A/B seguinte. Se a taxa de opt-in cair, a população elegível encolhe e fica mais enviesada para quem usa o app com mais frequência, o que pode inflar métricas de engajamento sem relação nenhuma com a qualidade do texto ou do horário testado.
- Quantos usuários eu preciso para testar o texto de uma notificação push?
- Depende da taxa de clique (CTR) de base, que costuma ser baixa: a média geral fica perto de 2,25% segundo a CleverTap. Para detectar uma melhora relativa de 20% sobre uma base de 2,25%, são necessários cerca de 18.711 usuários por variação, cerca de 37,4 mil no total. É uma amostra bem maior do que o mínimo de "pelo menos 1.000 contatos" que a própria OneSignal recomenda como piso genérico, porque esse piso não leva em conta o tamanho real do efeito que você quer enxergar.
- Uma variação pode vencer no clique e ainda ser pior de verdade?
- Pode, e é a armadilha mais cara de teste A/B de push. Uma notificação mais urgente ou mais chamativa tende a puxar mais clique no curto prazo, mas também pode irritar quem recebe e aumentar o desligamento das notificações (opt-out) ou até a desinstalação do app. Se você não declarou uma métrica de guarda (guardrail) desde o início, corre o risco de comemorar um "vencedor" que está drenando a sua base de usuários alcançáveis a longo prazo.
- Rich media (imagem ou GIF) sempre bate texto puro em notificação push?
- Não como regra fixa, mas o padrão relatado pelo mercado costuma favorecer rich media: a OneSignal cita notificações com mídia rica gerando cerca de 25% mais engajamento em relação a notificações padrão sem imagem. Ainda assim, isso é uma tendência de mercado, não uma garantia para o seu app específico, e mídia rica também pode carregar mais lentamente ou ser cortada em certos aparelhos, o que só um teste no seu próprio público confirma.
- Quanto tempo devo rodar um teste A/B de push antes de decidir o vencedor?
- Pelo menos um ciclo completo de comportamento, cobrindo dias úteis e fim de semana, e idealmente mais de uma janela de horário de pico, porque o comportamento de quem abre o celular às 8h da manhã não é igual ao de quem só olha as notificações à noite. Encerrar cedo, logo depois do primeiro pico de abertura, captura só um perfil de usuário e é a mesma armadilha do peeking (espiar e parar cedo) que existe em qualquer teste A/B, só que mais perigosa em push por causa do volume de clique geralmente baixo.