Alternativa a Google Analytics (cookie-free)

di toolsyep il
4 risposte

In questo vecchio topic una persona del forum cercava una alternativa a Google Analytics  ma essendo ormai chiuso/vecchio apro una discussione nuova.

Nel mio portale toolsyep.com ne ho sviluppata una. Perché?

  1. Era un sogno che avevo da anni.
  2. Avevo bisogno di un sito cookie-free, e sapevo che Google Analytics era un problema in tal senso.
  3. Trovavo Google Analytics fin troppo potente, al punto da risultare caotico, volevo tutto in un'unica schermata, senza dovermi perdere tra decine di report per rispondere a una domanda semplice.
  4. Volevo poter confrontare il traffico di più siti nella stessa schermata, senza aprire una dashboard diversa per ognuno.

    Ecco uno screenshot della dashboard:

4 Risposte

  • Ciao, progetto interessante.

    Come fai capire se una visita è di un nuovo utente o di un utente che aveva visitato il sito 3 ore prima? inoltre come differenzi il traffico tra due utenti con lo stesso indirizzo ip?

  • 06/09/2026 - Toki ha scritto:

    Ciao, progetto interessante.

    Come fai capire se una visita è di un nuovo utente o di un utente che aveva visitato il sito 3 ore prima? inoltre come differenzi il traffico tra due utenti con lo stesso indirizzo ip?

    Ciao, ottima domanda.

    Ogni visitatore viene identificato con un codice derivato dall'IP tramite un hash con un salt casuale, generato una volta al giorno. Quindi:

    • Se torni dopo 3 ore, nello stesso giorno, il codice è lo stesso di prima ? risulti lo stesso visitatore, non uno nuovo.
    • Il codice cambia ogni notte, quindi il giorno dopo lo stesso IP genera un codice diverso e sei di nuovo "un visitatore nuovo" per quel giorno, è il compromesso che permette di non salvare mai l'IP vero né un identificatore permanente.

    Sul secondo punto: due utenti con lo stesso IP (es. la stessa rete aziendale, o lo stesso IP condiviso da un operatore mobile) non vengono distinti tra loro, risultano lo stesso "visitatore" per il sistema, perché l'unico dato disponibile è l'IP, e l'hash è deterministico su quello. È un limite consapevole, non un bug: la scelta è stata non introdurre altri identificatori (cookie, fingerprinting del browser) proprio per restare cookie-free e non tracciabile, ma il prezzo è che IP condivisi vengono contati come una persona sola.

    Per lo stesso motivo, se un visitatore cambia rete durante il giorno (es. da wifi a dati mobili), viene contato due volte, perché cambia IP e quindi cambia il codice derivato.

  • Immaginavo una soluzione simile. Per quanto riguarda la rigenerazione del codice ogni notte, secondo me potresti migliorare rigenerandolo dopo tot ore dalla vista anziché ogni notte in modo da garantire una migliore continuità.

    Per la questione di due utenti con stesso ip, potresti recuperare dalla richiesta le informazioni del browser trasformandole in un hash con salt che cambia come per il punto precedente. In questo modo in diversi casi dovresti riuscire a differenziare la visita tramite un codice hash da accoppiare a quello che identifica l'utente tramite derivazione dell'indirizzo ip.

  • Ottime osservazioni, ma su entrambe ho scelto diversamente per un motivo preciso.

    Rigenerazione a mezzanotte vs finestra scorrevole: con una finestra che si rinnova ad ogni visita, un utente molto attivo non resetterebbe mai il codice, diventerebbe di fatto un identificatore permanente, l'opposto di quello che voglio. Il reset a mezzanotte perde un po' di continuità nella sessione, ma garantisce che nessuno sia seguibile nel tempo, nemmeno i visitatori più abituali.

    Hash del browser abbinato all'IP: qui il rischio è che user-agent + IP combinati sono il primo passo verso il fingerprinting del dispositivo, la tecnica che ho scelto di evitare fin dall'inizio (per questo salvo solo categorie larghe come "desktop/mobile/tablet", mai lo user-agent per intero). Più segnali combini, più quel codice diventa specifico per un dispositivo, e la differenza con un cookie di tracciamento si assottiglia.

    Quindi il limite che hai notato (IP condivisi contati come una persona) lo accetto consapevolmente: è il prezzo di non fare fingerprinting, non un difetto da correggere. 

    Mi fai venire un'idea, però: mostrare in dashboard quanto spesso capitano IP condivisi 
    (una stima indiretta, tipo troppe pagine viste in un'ora dallo stesso codice, o pattern di navigazione scorrelati tra loro, non una certezza, dato che l'IP reale non lo salvo mai), come dato informativo, senza cambiare come vengono contati. 
    Ci penso, grazie dello spunto.

Devi accedere o registrarti per scrivere nel forum
4 risposte