Il report "definito dall'utente" è un po' particolare, rispetto a tutti gli altri, perché ci mostra un valore che non è ricavato automaticamente dal codice di monitoraggio, o da un calcolo basato sui dati inviati, ma mostra un dato che, appunto, viene deciso dall'utente che utilizza Google Analytics per monitorare il suo sito.
Tra tutte le funzioni che è possibile utilizzare per modificare il codice di tracciamento, una in particolare è legata a questo report, ed è _setVar()
. Questa funzione provvede a scrivere un cookie aggiuntivo nel computer del visitatore che guarda la pagina dove viene invocata, tracciamento che contiene il valore che viene passato alla funzione e che resterà, nel computer dell'utente, per due anni dal momento della creazione, o del suo aggiornamento.
L'utilizzo di _setVar() è semplice, basta invocare la funzione prima di trackPageview()
in questo modo:
pageTracker._setVar("valore");
All'interno del report troveremo i valori passati come parametro e i dati relativi al comportamento degli utenti suddivisi in base a questi valori. Ad esempio si potrebbe "taggare" tutti gli utenti che effettuano una login in base al loro livello di accesso (utente, editor, amministratore) e segmentare l'utilizzo del sito per capire diversi comportamenti.
Questo aspetto di Google Analytics è sottovalutato da molti, ma è di fatto l'unico varco attraverso il quale possiamo immettere dati di nostra volontà e ottenere una nuova dimensione con la quale segmentare gli ulteriori dati disponibili.
"Definito dall'utente" è disponibile anche come campo filtro, in modo da permetterci di creare filtri in base ai valori che abbiamo specificato, oppure è disponibile come scatola vuota all'interno della quale memorizzare il risultato di un filtro avanzato che trasforma i dati esistenti. Un utilizzo tipico della _setVar()
, in combinazione con un filtro, è l'esclusione delle proprie visite in presenza di un IP dinamico.
Filtrare un IP fisso o un dominio (o proxy aziendale) è facile, basta un filtro predefinito, ma filtrare un IP che cambia spesso, o ad ogni connessione, è problematico perché non si può scrivere un filtro universalmente valido. Allora si procederà così: si crea una pagina nascosta nel sito che si monitora, una pagina pubblica non indicizzata dai motori, senza link entranti e il cui indirizzo è noto solo alle persone che vogliono essere filtrate. Questa pagina conterrà il codice di Analytics modificato tramite _setVar()
con un valore, diciamo _setVar("loggato");
.
Una volta visitata questa pagina il nostro browser viene "marchiato" con il cookie speciale contenente il valore "loggato" e questo valore verrà passato per i successivi due anni in ogni nuova chiamata del codice di Analytics da parte del browser. Si creerà quindi un filtro personalizzato di esclusione con campo filtro "definito dall'utente" e valore "loggato". Le visite di tutti coloro che hanno visitato la pagina creata ad hoc saranno d'ora in avanti escluse dai report.
Non c'è virtualmente limite ai valori e agli usi possibili di setVar, sebbene molti ritengano che avere una sola scatoletta a disposizione sia una forte limitazione di Analytics. È però bene ricordare che usare il campo "definito dall'utente" per memorizzare indirizzi IP, magari ricavati lato server e scritti con un linguaggio dinamico all'interno della funzione _setVar()
, costituisce una violazione della licenza d'uso di Analytics e può comportare la cessazione della fornitura del servizio da parte di Google.