O efeito de cintilação, também chamado de flash do conteúdo original, é o breve momento em que um visitante vê a versão de controle de uma página antes que um script de teste do lado do cliente a substitua pela variante. Isso acontece porque o navegador renderiza a marcação original assim que a recebe, enquanto a biblioteca de testes ainda está carregando, inicializando, decidindo qual variante se aplica e aplicando as alterações. O resultado é um flash visível: o texto muda, os elementos se movem, as imagens trocam de lugar e a página se estabiliza em seu estado final depois que o visitante já começou a ler.
A cintilação não é uma irritação estética, mas sim uma fonte de erro de medição. Os visitantes do grupo que utiliza a variante experimentam um salto que os visitantes do grupo de controle nunca veem, portanto, os dois grupos têm experiências diferentes de uma forma que não tem relação com o design que está sendo testado. Uma parte dos visitantes do grupo da variante abandona a página durante ou imediatamente após o flash, e alguns ficam tão distraídos que seu comportamento subsequente é diferente. Isso enviesa os resultados contra a variante, o que significa que melhorias reais são subdetectadas e o programa de testes subestima sistematicamente o valor das mudanças que avalia.
A solução padrão é um trecho de código anti-oscilação, que oculta o corpo da página até que o script de teste termine de aplicar as alterações, revelando-o em seguida. Isso troca um flash visível por uma tela em branco, e a troca só é vantajosa se o script carregar rapidamente. Se a biblioteca de testes for lenta ou não carregar completamente, o tempo limite do trecho de código determina por quanto tempo os visitantes ficam olhando para o nada antes que o conteúdo original seja revelado. Os tempos limite são frequentemente definidos com valores padrão de dois a quatro segundos, o que, em uma conexão móvel lenta, significa que a correção anti-oscilação custa mais conversões do que a oscilação que ela evita.
A implementação correta, portanto, diz respeito à sequência e à velocidade, e não apenas ao trecho de código. O script de teste deve ser carregado de forma síncrona a partir do cabeçalho do documento, para que seja iniciado o mais cedo possível, idealmente a partir de um endpoint rápido e bem provisionado, em vez de um compartilhado. O tempo limite anti-flicker deve ser definido de forma agressiva, normalmente bem abaixo de um segundo, para que a falha se reduza a um breve flash em vez de uma tela em branco prolongada. As alterações de variantes devem ser aplicadas por meio de trocas de classes CSS sempre que possível, em vez de manipular muitos elementos individualmente. Testes que exigem grandes reescritas estruturais são melhor implementados no servidor do que forçados por meio de uma ferramenta do lado do cliente.
Diagnosticar oscilações na tela exige analisar as condições reais, e não apenas a máquina do desenvolvedor. Perfis de rede com largura de banda limitada, dispositivos móveis de gama média e dados reais de monitoramento de usuários revelam a experiência real do público. A discrepância na taxa de amostragem é o sinal indireto mais forte: se visitantes estiverem sendo perdidos durante a inicialização do script, a divisão do tráfego não corresponderá à alocação configurada, e essa verificação deve ser executada em todos os testes, independentemente da suspeita de oscilação.
Medir a cintilação em vez de presumir sua ausência é simples, mas raramente feito. Gravar o carregamento de uma página em uma conexão limitada e percorrer os frames mostra exatamente o que um visitante vê e por quanto tempo. Fazer isso em um dispositivo de gama média, em vez de uma máquina de desenvolvimento, geralmente produz um resultado insatisfatório. Uma segunda complicação, cada vez mais comum, é a interação entre scripts de teste e plataformas de gerenciamento de consentimento, já que ambos competem para serem executados primeiro e ambos podem bloquear a renderização. Quando a ferramenta de consentimento é carregada antes da ferramenta de teste, a aplicação da variante é atrasada até que o consentimento seja resolvido, o que pode adicionar um segundo ou mais e se aplica de forma desigual em regiões com diferentes requisitos de consentimento. Sequenciar essas duas dependências deliberadamente e medir o efeito combinado na renderização é necessário antes que qualquer conclusão sobre o desempenho de uma variante possa ser considerada confiável.
A questão fundamental é que uma ferramenta de teste representa uma dependência adicional inserida no caminho de renderização crítico de cada página. Gerenciar essa dependência faz parte de desempenho na web trabalho em vez de algo que a equipe de otimização possa resolver sozinha, e as duas disciplinas precisam ser coordenadas. Quando a cintilação não puder ser controlada de forma aceitável, a resposta apropriada dentro de um Serviço CRO O objetivo do programa é transferir os experimentos afetados para uma implementação no servidor, em vez de aceitar um viés permanente e invisível contra todas as variantes testadas pelo programa.