Il commento di @Joe M. fornisce un buon link su come Google riesce a raggiungere questo obiettivo.
Per quello che stai cercando di ottenere semplicemente catturando l'indirizzo IP del visitatore sembra che sarebbe efficace nel determinare gli utenti nuovi o di ritorno, anche se questo non è sufficiente, dal momento che più utenti unici possono accedere al tuo sito dall'interno stessa rete interna (al tuo server sembrerebbe che provenga dallo stesso IP esterno) e dovrebbe essere gestita individualmente. Se questa fosse la tua unica logica, potresti sempre avere un solo visitatore per IP, che probabilmente non è quello che stai cercando.
Per gestirlo è necessario assegnare un cookie univoco a ciascun visitatore unico. Questo funziona per Google perché associerà il tuo nome utente a questo cookie. A meno che tu non abbia qualcosa con cui associare il cookie (username, id, ecc.) Allora non sarà possibile perché le richieste potrebbero essere falsificate replicando le intestazioni delle richieste da un'altra macchina usando lo stesso IP esterno.
Suppongo che potrebbe associare un'impronta digitale WebGL, che sarebbe unica al computer specifico, e associarla insieme all'IP esterno per il valore del cookie.