Analytics

Onde colocar a sua energia: o que 10 mil testes A/B simulados mostram

Rodei 10 mil simulações de links divididos 50/50. O resultado mostra quando um split de URL ajuda a decidir para onde mandar o seu público, e quando ele só te engana.

Fernando NovelliFernando NovelliFundador do Curtly.pro·5 min de leitura
Ilustração de um link se dividindo em dois destinos

Todo mundo que vende pela internet tem a mesma dúvida, mesmo que não fale desse jeito: onde eu coloco a minha energia? Na loja A ou na B? Na página com vídeo ou na com depoimentos? No WhatsApp ou no formulário?

O split de URL é a ferramenta para responder isso com dados: um link só, que divide os cliques entre destinos. Eu implementei o split no Curtly e, no meio do caminho, fiz uma pergunta que quase nenhum tutorial faz: quanto eu posso confiar no resultado?

Para responder, em vez de opinião, rodei simulações. Os números abaixo saem de código, não de chute, e você pode reproduzir tudo no fim do post.

Primeiro, o que split responde (e o que não responde)

Pergunta Ferramenta certa
Para onde mando o meu público? (loja, página, oferta, atendente) Split de URL
De onde vêm os meus clientes? (Instagram, TikTok, YouTube) Um link diferente por canal

Muita gente mistura as duas. Split não compara canais: ele pega quem já clicou e decide para qual destino mandar. Juntas, as duas ferramentas respondem a pergunta da energia por completo: onde vale postar, e o que vale oferecer.

Teste 1: o sorteio divide o tráfego do jeito que você pediu?

A forma mais comum de implementar split é o sorteio: a cada clique, um número aleatório decide o destino. Num 50/50, é cara ou coroa. Parece justo. Simulei 10 mil vezes:

Cliques no link Desvio típico (mediana) Em 5% dos casos, o desvio passa de Vezes fora de 55/45
50 4 pontos 14 pontos 49%
100 3 pontos 10 pontos 36,4%
200 2,5 pontos 7 pontos 17,7%
500 1,6 ponto 4,4 pontos 2,9%
1.000 1,1 ponto 3,1 pontos 0,2%

Leitura: com 100 cliques, em mais de um terço das vezes o "50/50" sai pior que 55/45. Em 5% das vezes, sai 60/40 ou pior. Você pediu metade para cada lado e não recebeu.

É por isso que, no Curtly, o split não sorteia. Ele usa um ciclo: os destinos se alternam numa ordem fixa (A, B, A, B...) e um contador atômico garante que, a cada 100 cliques, cada destino recebe exatamente a porcentagem configurada. No meio do ciclo, a diferença nunca passa de um clique.

Teste 2: o problema que nenhuma ferramenta resolve

Aqui está a parte que eu acho mais importante, e que me fez repensar como explicar split para as pessoas.

Mesmo com a divisão perfeita, existe uma segunda fonte de erro: a conversão em si é aleatória. Duas páginas exatamente iguais, ambas convertendo 3%, vão ter números diferentes por puro acaso.

Simulei esse cenário: duas páginas idênticas, 3% de conversão cada, 10 mil vezes. Em quantas vezes uma delas pareceu ter pelo menos o dobro de vendas da outra?

Cliques por página Vezes em que uma página idêntica pareceu 2x melhor
100 52,5%
300 18,9%
1.000 1,1%
3.000 0%

Com 100 cliques para cada lado, mais da metade das vezes você declararia um vencedor que não existe. E com uma diferença que parece enorme: o dobro.

O ciclo do Curtly resolve o primeiro problema, a divisão do tráfego. O segundo, só volume resolve. Nenhuma ferramenta, nem a minha, tira o acaso da conversão. Desconfie de qualquer uma que prometa isso.

Então, na prática

  1. Defina uma pergunta só. "A loja B rende mais que a A para este produto?"
  2. Mude uma coisa só entre os destinos. Se tudo muda, você não sabe o que causou a diferença.
  3. Espere volume. Pela simulação, centenas de cliques por destino é o mínimo para diferenças grandes. Diferenças pequenas exigem milhares.
  4. Olhe conversão, não clique. Clique só mostra que a divisão funcionou.
  5. Diferença pequena é empate. Se A converte 3,1% e B 3,3% com 300 cliques cada, não há vencedor. Escolha a mais fácil de manter.
  6. Decida e siga em frente. Mande 100% para o vencedor e use a energia economizada na próxima pergunta.

Usos que valem o esforço

  • Comparar lojas no afiliado: mesmo produto, duas lojas, comissões diferentes. Confira se o programa permite redirecionar o link.
  • Testar páginas de venda: com vídeo x com depoimentos.
  • Distribuir atendimento: 50/50 entre dois vendedores no WhatsApp. Aqui não é teste: é divisão de trabalho, e a precisão do ciclo importa ainda mais.
  • Testar novidade com pouco risco: 90/10, com a página nova recebendo uma fatia pequena.

Os detalhes que distorcem o teste

  • Robôs de pré-visualização. WhatsApp, Facebook e Telegram acessam o link sozinhos para montar a prévia. Se isso contar como clique, a divisão e o relatório ficam errados. No Curtly esses acessos não contam e não andam o ciclo.
  • Cache do redirecionamento. Um redirect guardado pelo navegador manda a mesma pessoa sempre para o mesmo lugar e o clique nem é contado. O Curtly responde com 302 e Cache-Control: no-store.
  • Parâmetros de rastreamento. utm_source, fbclid e companhia precisam chegar ao destino, senão o analytics de cada página perde a origem. O Curtly repassa os parâmetros, sem sobrescrever os que o destino já tem.

Reproduza a simulação

O código é curto, roda no console do navegador ou no Node:

const RUNS = 10000

// Teste 1: quanto um sorteio 50/50 se afasta de 50% com N cliques
function desvioDoSorteio(N) {
  const desvios = []
  for (let r = 0; r < RUNS; r++) {
    let a = 0
    for (let i = 0; i < N; i++) if (Math.random() < 0.5) a++
    desvios.push(Math.abs((a / N) * 100 - 50))
  }
  desvios.sort((x, y) => x - y)
  return desvios[RUNS / 2] // mediana, em pontos percentuais
}

// Teste 2: páginas idênticas (3%), quantas vezes uma parece 2x melhor
function falsoVencedor(N, conv = 0.03) {
  let falsos = 0
  for (let r = 0; r < RUNS; r++) {
    let a = 0, b = 0
    for (let i = 0; i < N; i++) {
      if (Math.random() < conv) a++
      if (Math.random() < conv) b++
    }
    if ((a >= 2 * b && a > 0) || (b >= 2 * a && b > 0)) falsos++
  }
  return (falsos / RUNS) * 100 // em %
}

console.log(desvioDoSorteio(100), falsoVencedor(100))

Como é aleatório, cada execução dá números levemente diferentes, mas a ordem de grandeza não muda.

Resumindo

O split de URL é uma ótima ferramenta para decidir onde colocar a sua energia, desde que você saiba o que ele responde. Ele compara destinos, não canais. A divisão precisa ser exata, e o ciclo resolve isso. Mas a conversão tem acaso, e só volume resolve. Com 100 cliques por lado, a simulação declarou um vencedor falso em mais da metade das vezes. Com mil, quase nunca. Decida com volume, ou você vai gastar energia no lugar errado com a certeza de estar certo.

Perguntas frequentes

O que é split de URL?

É um link curto que divide os cliques entre dois ou mais destinos, na porcentagem que você escolher. Você divulga um link só e compara o resultado de cada destino.

Quantos cliques preciso para confiar no resultado?

Na simulação, com 100 cliques por página, duas páginas idênticas pareciam ter o dobro de diferença em 52,5% das vezes. Com 1.000 cliques por página, isso caiu para 1,1%. Pense em centenas de cliques por destino, no mínimo.

Dá para comparar canais (Instagram x TikTok) com split?

Não. Split divide os cliques entre destinos. Para comparar de onde vêm as pessoas, use um link diferente para cada canal.

Como reproduzir a simulação?

O código está no post: são poucas linhas de JavaScript que rodam em qualquer navegador ou no Node.

#split de url#teste a/b#analytics#dados

Gostou? Compartilhe:

Fernando Novelli

Escrito por

Fernando Novelli

Desenvolvedor full stack formado em Ciência da Computação, com experiência em cloud (GCP e AWS), IA e monetização no Google Ad Manager. Já gerenciou campanhas no Google Ads, Meta Ads e TikTok Ads e une código e visão de negócio para criar ferramentas orientadas a resultado.

Continue lendo

Ver todos →

Da teoria pra prática

Coloque tudo isso pra rodar hoje.

Links curtos, bio link e analytics em tempo real num lugar só. Leva menos de um minuto pra começar.

Criar conta grátis

Usamos cookies essenciais e, com sua permissão, cookies de analytics e de publicidade (Google). Saiba mais na Política de Privacidade.