Oi Filipe, tenho um protótipo pronto, mas que ainda não está disponível pra uso.
Mas funciona de forma muito parecida com o que você pensou, exceto pela porcentagem, que fica à gosto do usuário.
A idéia é o usuário dono do link curto definir uma % para cada variação de destino presente no link. Tendo essas porcentagens, uso uma técnica chamada Weighted Round Robin, normalmente usada no balanceio de carga, pra escolher qual dos destinos redirecionar o usuário, então, vinculo o cookie de sessão do usuário com o destino obtido.
A desvantagem dessa abordagem, é que quando o usuário limpa os cookies do navegador, pode acontecer dele cair em um novo destino.
Espero que eu tenha conseguido me explicar!
Conseguiu explicar perfeitamente e sensacional! Tanto por linkar a metodologia de distribuiçõa que usa, quanto por também grudar o usuário em um dos destinos e com isso ter resultados mais fidedignos. Parabéns pela implementação meu caro! 🤝
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.