Você pode distribuir e rastrear cookies (mas o usuário pode simplesmente excluí-los, se perceberem).
Você também pode comparar strings de ID do navegador e assim por diante.
Você também pode tentar algo como o histórico de CSS para identificar se o navegador do usuário pensa que eles viram um determinado elemento de página / página antes, ou baixaram uma certa imagem da página antes (mas esse tipo de abordagem geralmente falharia se o usuário tivesse o JavaScript desativado, tivesse um navegador inteligente, usasse o NoScript, tivesse uma lista branca, etc).
Provavelmente, é mais fácil trabalhar com a suposição de que os usuários podem se repetir como "clientes" e deixar isso de lado.