A desvantagem dessa solução não é apenas quando limpa os cookies, né... a pessoa pode acessar de outro dispositivo, com outro navegador, com aba anônima, etc...

Será que faria sentido uma melhoria futura no qual poderia ter a opção de receber uma chave na url? Por exemplo, assim: https://curr.to/3azh6?key=123

Nesse caso, a sua aplicação seria responsável por, dada uma determinada key, retornar sempre a mesma URL (uma operação de hash em cima da key poderia ajudar aqui).

Vantagem:

  • se o seu usuário tiver uma key que faça sentido (por exemplo, id do usuário, id da ordem de pagamento, etc), a funcionalidade irá funcionar independente do cookie.

Essa não é uma desvantagem exclusiva da solução que desenvolvi, mas do Teste A/B mesmo.

Quando falamos em usuários logados, isso se resolve com uma chave forte, igual você comentou, como um id de usuário.

Mas quando falamos em usuários anônimos, que normalmente serão o público alvo do teste (pessoas que não sabem da existência do Curto, que clicaram no link curto).

Por não terem nenhum vínculo com a plataforma, fica difícil ter essa chave forte, talvez a melhor opção seja o IP, que pode ser alterado também com o uso de VPNs.

É uma feature muito podeorsa, mas tem esse tradeoff que pode, significativamente, alterar os resultados.

Obrigado pela sugestão, isso me deu uma ótima idéia haha!

Se não tiver uma key que faça sentido, acho que não tem muito o que se fazer, mesmo! A ideia foi mais ter uma opção futura de quando o cliente tiver essa key. Ótimo que te deu ideia! Se possível, compartilha aqui :D