CRO

Teste A/B na Shopify: o Guia Completo

Teste a/b shopify guia completo: onde instalar, o que dá para testar fora do checkout, como dimensionar com tráfego real e as armadilhas do tema.

Ilustração plana de uma vitrine de loja online com toldo listrado sobre uma grade de produtos dividida ao meio por uma linha vertical

Teste A/B numa loja Shopify funciona muito bem em tudo que vem antes do checkout, e praticamente não funciona dentro dele com ferramentas genéricas, porque a Shopify fechou o checkout para scripts de terceiros e o substituiu por extensões que ela mesma valida. Este artigo faz parte do playbook completo de otimização de checkout e cobre o processo ponta a ponta: onde instalar, o que testar em cada superfície da loja, como dimensionar com o tráfego que você realmente tem e as armadilhas específicas de tema e carrinho que estragam teste de Shopify.

Se a sua dúvida é qual ferramenta escolher, o artigo dedicado a ferramentas de teste A/B para Shopify compara as categorias com neutralidade. Aqui o foco é a execução.

O mapa da loja: onde o teste alcança e onde não alcança

Superfícies testáveis de uma loja ShopifyHome, coleção, página de produto e carrinho ficam no domínio do tema e aceitam um snippet client-side normalmente. As páginas de Informação, Envio, Pagamento e Status do pedido ficam no checkout da Shopify e só aceitam Checkout UI Extensions, não scripts de terceiros.Domínio do tema · snippet funcionahomecoleçãopágina deprodutocarrinhotheme.liquid, seções Online Store 2.0, app embedCheckout da Shopifyinformação · envio · pagamentostatus do pedido · obrigadosó Checkout UI ExtensionsO checkout.liquid foi descontinuado em fases: informação, envio e pagamento em 13 de agosto de 2024;status do pedido e obrigado, junto dos scripts adicionais, em 28 de agosto de 2025.Na prática: 100% do trabalho de teste A/B numa loja Shopify acontece à esquerda dessa linha.
A fronteira do checkout é o fato mais importante de teste A/B na Shopify. Tudo que o tema renderiza aceita um snippet normalmente; o checkout aceita apenas extensões desenvolvidas e homologadas para ele. As script tags nas páginas de status do pedido e obrigado saíram em 28 de agosto de 2025 nas lojas Plus e, segundo a Shopify, saem em 26 de agosto de 2026 nas demais.

Isso não é tão limitante quanto parece à primeira vista. As causas líderes de abandono, segundo o Baymard Institute, são de transparência de preço, e boa parte delas pode ser tratada antes do checkout: mostrar frete estimado no carrinho, deixar a faixa de frete grátis explícita, exibir o custo total antes de a pessoa entrar no fluxo de pagamento. O artigo sobre teste A/B de carrinho abandonado cobre essas alavancas em detalhe.

Passo 1: escolha a métrica no painel que você já tem

Antes de instalar qualquer coisa, defina o número que vai decidir o teste, e defina-o dentro da realidade de volume da sua loja. Essa escolha determina quanto tempo o teste vai levar mais do que qualquer outra decisão.

Métrica Taxa base típica Volume necessário Quando usar
Sessão para pedido 1% a 3% Muito alto Lojas com dezenas de milhares de sessões por semana
Sessão para adição ao carrinho 5% a 12% Alto O meio-termo mais usado; ainda liga ao pedido, mas fecha bem mais rápido
Carrinho para início de checkout 40% a 70% Médio Testes de página de carrinho
Carrinho para pedido 25% a 40% Médio Testes de transparência de custo no carrinho

A regra prática: quanto menor a taxa base, mais tráfego o teste exige. Uma loja com 10.000 sessões por semana não consegue fechar um teste decidido por sessão para pedido em prazo razoável, e consegue fechar um decidido por adição ao carrinho. Escolher a métrica é escolher o prazo.

Passo 2: instale o script no lugar certo do tema

O ponto de instalação decide se o teste vai funcionar ou vai produzir aquele piscar da versão original antes da variação aparecer, que além de feio contamina o resultado (parte dos visitantes vê as duas versões).

Passo 3: o que testar em cada superfície

Superfície Testes de maior alavancagem Cuidado específico da Shopify
Página de produto Bloco de compra acima da dobra, ordem das fotos, avaliações perto do preço, texto do botão Seletor de variante costuma ser o ponto que mais quebra; teste todas as combinações de cor e tamanho
Coleção Quantidade de itens por linha, filtros visíveis, ordenação padrão, badge de mais vendido Paginação e carregamento infinito mudam o denominador; fixe a regra antes de rodar
Home Hero principal, ordem dos blocos, destaque de categoria É a página mais editada pelo time de marketing; congele edições durante o teste
Carrinho (drawer ou página) Frete estimado, faixa de frete grátis com progresso, upsell complementar O drawer é atualizado por AJAX; a variação precisa ser reaplicada a cada mudança do DOM
Popup de captura Momento de exibição, oferta, número de campos Popup de app concorre com o seu teste; desative os outros durante o experimento
Checkout Fora de alcance de snippet Só via Checkout UI Extension

O item do carrinho merece destaque porque é a causa número um de teste quebrado em Shopify. Quando o cliente adiciona um produto, o drawer é redesenhado dinamicamente e a variação injetada por JavaScript some, a menos que o script observe mudanças no DOM e se reaplique. O sintoma é sempre o mesmo: o teste “funciona” na homologação (onde ninguém adiciona produto) e produz um efeito estranhamente pequeno em produção.

Passo 4: dimensione antes de ligar

Ajuste a taxa de conversão atual da métrica escolhida, o ganho mínimo que justifica implementar e o volume semanal real de sessões:

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.

Um exemplo trabalhado, do teste à receita

Uma loja Shopify converte 2,2% das sessões em pedido e quer detectar uma melhora relativa de 15% (de 2,2% para cerca de 2,53%). A 95% de confiança e 80% de poder, a matemática devolve 33.284 sessões por variação. Com 10.000 sessões por semana, isso dá 47 dias, quase sete semanas, tempo demais para a maioria das operações.

Duas saídas honestas existem, e nenhuma delas é “rodar assim mesmo e olhar cedo”:

  1. Mirar num efeito maior. A 20% relativo, o requisito cai para 19.147 sessões por variação, e o mesmo volume fecha em 27 dias. Efeito maior exige mudança maior: reestruturar o bloco de compra, não trocar um texto.
  2. Subir a métrica no funil. Decidir por adição ao carrinho, com taxa base perto de 8%, reduz drasticamente a amostra necessária. O custo é que você mede uma etapa, não a venda, e precisa confirmar o efeito no pedido depois.

Suponha que o teste rodou até 29.000 sessões por variação e terminou com 638 pedidos no controle (2,20%) contra 734 na variação (2,53%). No mesmo motor de significância do blog: z = 2,62, valor-p ≈ 0,0087, com intervalo de confiança da diferença entre +0,08 e +0,58 ponto percentual. Não cruza zero, então a variação converte mesmo melhor.

E a receita: com 40.000 sessões por mês e ticket médio de R$ 180, sair de 2,2% para 2,53% representa cerca de R$ 23.760 de receita adicional por mês. Usando o limite inferior do intervalo (2,28%), o ganho cai para cerca de R$ 6.000 mensais. Leve os dois números para a reunião: o otimista mostra o teto, o conservador é o que sustenta uma decisão de investimento.

Resultado do teste na loja Shopify e as duas projeções de receitaO controle converteu 638 de 29.000 sessões, 2,20 por cento; a variação converteu 734 de 29.000, 2,53 por cento. O intervalo de confiança da diferença vai de 0,08 a 0,58 ponto percentual. Projetando sobre 40.000 sessões mensais e ticket médio de 180 reais, o ponto central rende cerca de 23.760 reais por mês e o limite inferior cerca de 6.000 reais por mês.Sessão para pedidoControle2,20% · 638 / 29.000Variação2,53% · 734 / 29.000Duas leituras da mesma vitóriaponto central (+0,33 pt)≈ R$ 23.760 / mêso teto, para priorizarlimite inferior (+0,08 pt)≈ R$ 6.000 / mêso piso, para investir
A mesma vitória sustenta duas projeções bem diferentes. Prometer o número da esquerda como se fosse garantido é a causa mais comum de decepção com programas de CRO três meses depois.

Armadilhas específicas de Shopify

Apps concorrendo com o teste. Uma loja madura acumula apps de popup, de upsell, de frete e de avaliação, e vários deles injetam elementos na mesma página que você está testando. Se um app exibe um popup para 40% dos visitantes por regra própria, ele sobrepõe o seu experimento de forma desigual. Mapeie os apps ativos na superfície testada e desative os que interferem durante o teste.

Tema editado no meio do teste. O editor de tema da Shopify é convidativo, e o time de marketing costuma ajustar banners semanalmente. Qualquer edição publicada no meio do teste muda a página para as duas variações e invalida a comparação de antes e depois daquele momento. Congele edições ou registre a data exata de cada mudança.

Multi-moeda e Shopify Markets. Se a loja vende em mais de uma moeda ou mercado, o mesmo teste roda sobre públicos com comportamento e ticket bem diferentes. Leia o resultado segmentado por mercado antes de aplicar o vencedor a todos.

Tráfego de bot e de app. Parte do tráfego que chega ao seu script não é humana. A Shopify aplica os próprios filtros nas métricas do painel dela; a sua ferramenta de teste aplica os dela. Divergência é normal, mas se a divisão entre variações fugir do configurado, isso é SRM e trava a leitura até você achar a causa.

Descontos automáticos. Uma regra de desconto ativa durante o teste pode se aplicar de forma desigual entre as variações, se a variação muda o valor do carrinho e cruza a faixa da regra. É uma fonte silenciosa de diferença de ticket médio que não tem nada a ver com a mudança testada.

Quanto tempo deixar rodando, e quando parar

A amostra calculada diz quantas sessões você precisa. Ela não diz quando parar, e essas são perguntas diferentes numa loja.

A regra mínima é ciclos semanais inteiros. O comportamento de compra de segunda-feira não é o de sábado, e encerrar um teste numa quinta-feira depois de começar numa segunda captura uma fatia enviesada da semana. Rode em múltiplos de sete dias, mesmo que a amostra tenha fechado antes.

A segunda regra é não olhar para decidir. Abrir o painel todo dia e encerrar assim que o número fica bonito é o problema de peeking, que infla a taxa de falso positivo de forma previsível e mensurável: quanto mais vezes você olha com intenção de parar, maior a chance de declarar vencedora uma variação que não é melhor em nada. Olhar para conferir saúde (a divisão está batendo, nada quebrou, nenhum erro no console) é obrigatório e não tem esse efeito; olhar para decidir é o que estraga o teste. O artigo sobre o problema do peeking quantifica o estrago.

A terceira é evitar janela atípica. Black Friday, liquidação de estoque, campanha grande de tráfego pago e data comemorativa mudam a intenção de compra de toda a base ao mesmo tempo. Um resultado obtido só nessa janela vale para essa janela, não para o resto do ano. Se a data cair no meio de um teste em andamento, registre o período e leia o resultado com e sem ele.

Checklist antes de publicar o teste

Item Confirmar
Métrica primária definida E ela é compatível com o volume da loja (ver a tabela do passo 1)
Amostra e prazo calculados Com a calculadora acima, antes de ligar, não depois
Script no topo do head do theme.liquid Com anti-flicker e tempo limite curto
Homologado em tema duplicado Variação renderiza e evento de conversão dispara na URL de preview
Drawer de carrinho reaplicando a variação Testado adicionando produto, não só carregando a página
Apps concorrentes mapeados Popups e upsells que atuam na mesma superfície desativados ou documentados
Edições de tema congeladas Ou com registro de data para excluir do período de análise
Segmentos de leitura declarados Mobile e desktop, e mercado, se houver mais de um
Verificação de SRM configurada A divisão observada bate com a configurada antes de qualquer leitura

Faça isso automático na Donnu

A parte difícil de teste A/B numa loja Shopify não é a instalação, é a disciplina: escolher uma métrica compatível com o seu volume, dimensionar a amostra antes de ligar, não deixar o snippet atrasar a primeira pintura da tela e ler o intervalo de confiança em vez do vencedor do terceiro dia.

A Donnu A/B foi construída exatamente para isso: snippet leve que nunca trava a loja, dimensionamento automático da amostra e estatística bayesiana honesta, sem prometer certeza que os dados não sustentam. Comece um teste grátis de 14 dias e rode o primeiro teste na superfície onde a Shopify te deixa trabalhar de verdade: tudo que vem antes do checkout.


Leia também: Ferramentas de Teste A/B para Shopify · Teste A/B de Página de Produto · Otimização de Checkout: o Playbook de Teste A/B

Referências

Perguntas frequentes

Dá para rodar teste A/B dentro do checkout da Shopify?
Com uma ferramenta genérica de snippet, não. A Shopify descontinuou o checkout.liquid em fases: as páginas de Informação, Envio e Pagamento em 13 de agosto de 2024, e as páginas de Status do pedido e Thank you, junto dos scripts adicionais, em 28 de agosto de 2025. As script tags nessas duas páginas seguiram o mesmo prazo nas lojas Plus e, segundo a documentação da Shopify, saem em 26 de agosto de 2026 nas lojas fora do Plus. No lugar entraram as Checkout UI Extensions, componentes sandboxed que a própria Shopify valida e renderiza. Testar dentro do checkout hoje exige construir e homologar uma extensão, não instalar um script. Fora do checkout (home, coleção, página de produto, carrinho) o snippet continua funcionando normalmente.
Onde eu instalo o script de teste A/B numa loja Shopify?
Existem dois caminhos usuais. O primeiro é editar o tema e colocar o script no theme.liquid, o mais alto possível dentro do head, para que ele decida a variação antes da primeira pintura da tela. O segundo é usar um app embed da Shopify App Store, quando a ferramenta oferece um. O caminho pelo tema dá mais controle sobre a posição exata do script, que é o que evita o piscar da versão original antes da variação aparecer.
Quanto tráfego uma loja Shopify precisa para um teste dar significativo?
Depende da taxa de conversão atual e do ganho mínimo que você quer detectar. Uma referência calculada com a matemática deste blog: uma loja que converte 2,2% de sessão em pedido e quer detectar uma melhora relativa de 15% precisa de cerca de 33.284 sessões por variação. Mirando 20% relativo, o requisito cai para cerca de 19.147 por variação. Lojas com menos volume que isso deveriam testar mais acima no funil, onde a taxa base é maior, como adição ao carrinho ou início de checkout.
Por que o número de visitantes da minha ferramenta de teste não bate com o do painel da Shopify?
Porque contam coisas diferentes. O painel da Shopify conta sessões pelo próprio critério de janela e de filtragem de bot; a ferramenta de teste conta visitantes únicos expostos a uma variação, com a própria regra de identificação e a própria janela. Divergência de alguns pontos percentuais é normal e esperada. O que não é normal é a divisão entre as variações da sua ferramenta fugir do configurado, isso é sinal de SRM e precisa de investigação antes de qualquer leitura de resultado.
Posso testar preço na Shopify com uma ferramenta client-side?
Tecnicamente dá para trocar o preço exibido por JavaScript, e é uma péssima ideia: o preço exibido passaria a divergir do preço real cobrado no carrinho e no checkout, que vêm do backend da Shopify. Além do risco de conformidade com o consumidor, o teste mediria a reação a um preço que a loja não vai cobrar. Teste de preço na Shopify deve ser feito por um app que altera o preço de verdade no catálogo, ou via desconto automático aplicado por regra, nunca por sobrescrita visual.