CRBRASIL
Analytics

Teste A/B client-side x server-side: flicker, SEO e qual usar em cada hipótese

Por CRO Brasil ·

Teste A/B client-side x server-side: flicker, SEO e qual usar em cada hipótese

O teste visual sobe em uma tarde, mas pisca na tela. O server-side não pisca, mas precisa de sprint. Veja a diferença real entre os dois modelos e como escolher por hipótese.

Índice do artigo

Os dois modelos em uma frase cada

  • Client-side: a página carrega no navegador e um script da ferramenta altera o que o usuário vê.
  • Server-side: o servidor decide a variante antes de montar a resposta, e a página já chega pronta.

Em uma frase: client-side muda a página depois que ela chega; server-side decide antes de ela sair.

Como funciona o client-side

Um script (como o do VWO Testing ou o script da Dynamic Yield) é carregado na página, decide a variante do usuário e aplica as alterações no navegador: troca textos, cores, ordem de blocos, esconde ou mostra elementos.

Vantagens: implementação rápida, pouca dependência de dev, editor visual para o time de CRO. Limitações: risco de flicker, peso adicional no front, dificuldade para testar lógica de negócio (preço calculado, regra de frete, algoritmo de busca) e exposição das variações no código do navegador.

Como funciona o server-side

A aplicação consulta a plataforma de experimentação no servidor (SDK ou API), recebe a variante e renderiza a página já na versão certa. Exemplos:

  • VWO FME e ABsmartly: SDKs no backend que retornam a flag ou o treatment para o usuário.
  • Dynamic Yield: o endpoint Choose da Experience API ativa campanhas pelo nome, resolve targeting e alocação de grupos e devolve a variação.
  • Croct: fetchContent no servidor do Next.js retorna o conteúdo do slot para aquele usuário.

Vantagens: sem flicker, acesso a regras de negócio, mesma experiência em web e app, estratégia de testes não exposta no navegador. A documentação da Dynamic Yield lista exatamente esses benefícios para a Experience API. Limitações: exige desenvolvimento, depende de a CDN conseguir entregar conteúdo dinâmico e aumenta a responsabilidade de engenharia sobre o experimento.

Flicker: o que é e por que importa

Flicker (ou “flash of original content”) é quando o usuário vê a versão original por uma fração de segundo antes de a variante aparecer. Além de ser ruim para a experiência, ele contamina o teste: o usuário da variante também viu o controle, e a diferença medida fica menor que a real.

Soluções de anti-flicker no client-side escondem a página até a variante ser aplicada, mas trocam flicker por página em branco, com impacto em performance percebida. O server-side elimina o problema na origem.

Teste A/B e SEO

Pontos de atenção que valem para os dois modelos:

  • Não mostre ao robô de busca um conteúdo diferente do que mostra ao usuário com intenção de manipular ranking.
  • Em testes com URLs diferentes, use canonical apontando para a URL original.
  • Prefira redirects temporários quando precisar redirecionar.
  • Encerre o teste e publique a versão vencedora; não mantenha testes rodando indefinidamente.

No server-side e em personalização renderizada no servidor (como a da Croct), o conteúdo chega no HTML, o que é bom para performance. Mantenha a versão padrão relevante para quem não recebe personalização.

Qual usar em cada tipo de hipótese

Hipótese

Modelo recomendado

Texto de headline, cor ou posição de CTA

Client-side

Ordem de blocos na home

Client-side ou server-side (se houver flicker perceptível)

Regra de frete grátis, preço exibido, parcelamento

Server-side

Algoritmo de busca ou recomendação

Server-side

Novo fluxo de checkout ou onboarding

Server-side (com feature flag)

Conteúdo personalizado por público

Server-side (CMS personalizável)

Experiência que precisa ser igual em web e app

Server-side

Modelo híbrido

A maioria dos programas maduros usa os dois. A Dynamic Yield, por exemplo, recomenda combinar script em algumas áreas e API em outras, e oferece templates client-side para campanhas server-side: o servidor decide a variação e o front busca o template para renderizar.

A regra é: comece o programa com client-side para ganhar velocidade e cultura de testes, e leve para server-side as hipóteses de maior impacto no negócio.

Os erros que mais aparecem

  1. Testar regra de negócio no client-side, mudando apenas o que é exibido e não o que é cobrado.
  2. Ignorar flicker e subestimar o efeito da variante.
  3. Usar redirect em teste client-side e gerar SRM (Sample Ratio Mismatch).
  4. Duas ferramentas testando a mesma página ao mesmo tempo.
  5. Esquecer o código do experimento server-side depois da decisão (Feature flags).

Perguntas frequentes

Qual a diferença entre teste A/B client-side e server-side?

No client-side, a variante é aplicada no navegador depois do carregamento; no server-side, o servidor decide a variante antes de enviar a página.

O que é flicker em teste A/B?

É quando o usuário vê rapidamente a versão original antes da variante, o que prejudica a experiência e contamina o resultado.

Teste A/B server-side precisa de desenvolvedor?

Sim, a integração com SDK ou API é feita no código da aplicação.

Teste A/B prejudica o SEO?

Não, se feito corretamente: sem cloaking, com canonical em testes de URL e com encerramento no prazo.

Posso usar client-side e server-side juntos?

Sim, e é comum. Só evite testes simultâneos na mesma página.

Quais ferramentas fazem teste server-side?

Entre outras, VWO FME, ABsmartly, a Experience API da Dynamic Yield e a Croct para conteúdo personalizado.