La matematica non è un opinione, la Web Analytics sì.

5 Replies

Analytics
web-analytics

Chiunque possieda un sito web, nel 90% dei casi, ha installato Google Analytics per monitorare ed analizzare il comportamento degli utenti sul proprio sito web. I restanti utilizzano altre soluzioni, da Adobe e IBM (soluzioni costose e molto complesse) fino a Piwik ed altri software completamente free di più semplice gestione e lettura.
Tutto dipende dalle vostre esigenze.

Google Analytics è un software free (anche se esiste la versione a pagamento “Premium” ora integrata nella suite di Google Analytics 360 suite) e sicuramente è tra i software di Web Analytics più completi e di semplice utilizzo. Esistono però dei limiti tecnici, che spesso causano errate letture da parte degli analisti, che è sempre bene considerare.

Oggi vi parlo di due importanti metriche utili a misurare il coinvolgimento degli utenti sul nostro sito web, sui nostri contenuti ed a seconda della loro provenienza: il tempo medio speso sulla pagina (time on site) e la durata media di una sessione (average session duration). Queste due metriche sono tra le più utilizzate, insieme al bounce rate, per “cercare” di comprendere se il nostro sito offre contenuti interessanti e quanto/come gli utenti interagiscono con questi.

Ho utilizzato volutamente il termine “cercare”, perché saper entrare su Google Analytics non significa saperlo leggere. I numeri sono numeri e tali restano, ma se questi non vengono correttamente interpretati e contestualizzati, si rischia di fare delle valutazioni completamente errate.

La matematica non è un opinione. La Web Analytics (forse) sì.

Veniamo al dunque. Google Analytics come misura il tempo speso in pagina e sul sito web? E come calcola il bounce rate? Ma, soprattutto, il tempo medio speso in pagina e la durata media di una sessione sono dei KPI (key performance indicator) validi?

Il software di Google Analytics lavora su base “hit“, ovvero, ogni segnale che riceve dal sito web viene definito “hit” ( e può essere un clic o una qualsiasi iterazione sul sito web). Per poter calcolare un “tempo” egli necessita di 2 hit. L’atterraggio sul sito web è definito “tempo 0” (prima hit) ed ogni interazione successiva (click o altro) va a cadenzare i tempi trascorsi sul sito web e sulle pagine visitate dall’utente.

Per fare un esempio pratico, vediamo come ragiona:

  • UTENTE ATTERRA SUL SITO (Home Page) –> tempo = 0
  • UTENTE RESTA A LEGGERE PER 3 MINUTI, MA NON FA NULLA –> tempo = 0
  • UTENTE CLICCA DOPO I 3 MINUTI SUL MENU PER VISITARE UN ALTRA PAGINA (Prodotti) –> tempo = 3 minuti
  • UTENTE RESTA ALTRI 5 MINUTI SULL’ULTIMA PAGINA (Prodotti) E POI ABBANDONA –> tempo = 3 minuti

Ma dove sono finiti quei 5 minuti? La matematica non è un opinione, quindi 3+5 fa 8 minuti in totale, corretto? Si, ma infatti la Web Analytics, causa di alcuni limiti tecnici, è un opinione. Come accennato precedentemente, per calcolare il tempo sul sito e su di una pagina web servono SEMPRE 2 hit, ed il tempo è calcolato sulla seconda. Ma quando l’utente abbandona un sito web non invia alcuna hit a Google Analytics, quindi quel tempo rimanente viene totalmente perso.

time-on-site

Questa problematica affligge sopratutto i siti web composti da molte Landing Page promozionali o ricche di contenuto, che forniscono tutte le informazioni necessarie agli utenti senza necessità che questi navighino su 5 o più pagine per trovare un numero di telefono o l’informazione che cercavano, quindi, siamo sicuri che queste metriche nel 2016 siano “universali”?

Dipende da chi siete, cosa fate e cosa volete. Ed comunque sia…  1 fiorino! (cit.)

Facciamo un semplice esempio pratico: siete un centro medico e volete aumentare la vostra visibilità sul web per determinate visite mediche. Fate una landing page per ogni tipo di visita, ed in ogni pagina fornite tutte le info utili comprese quelle per prenotare, compreso il numero di telefono. Un utente atterra, legge, prende il numero di telefono e chiama.

Se tutti gli utenti facessero cosi, la situazione sarebbe questa: il dottore sarà contentissimo perché le prenotazioni arriveranno (ottimo lavoro!) ed il Web Analyst incaricato dirà: attenzione! Abbiamo un Bounce Rate altissimo ed un engagement molto basso! (anche qui, si tratterebbe di opinioni). Se lavorassimo nel mondo dell’editoria, invece, ed il nostro obiettivo fosse realmente quello di coinvolgere gli utenti il più possibile sul sito web, ovviamente la situazione si ribalterebbe. Non esiste una metrica valida per tutti, esiste solo una corretta analisi ed interpretazione dei numeri per ogni contesto.

Siamo partiti però citando 2 differenti metriche: il tempo medio speso in pagina (average time on page) e la durata media di una sessione (average session duration). Quale delle 2 metriche è la più qualitativa? Faccio questo confronto perché queste due, sono calcolate da Google Analytics in modo diverso e c’è una grande differenza:

  • AVERAGE TIME ON PAGE: Time on Page / ( Pageviews – Exits)
  • AVERAGE SESSION DURATION: Session Duration / Session

Notate nessuna differenza? La prima, ovvero il tempo medio speso in pagina, è calcolata al netto degli “Exits”, ovvero le pagine che sono state “l’ultima pagina” e che quindi non possono fornire alcuna informazione del tempo trascorso su di esse. La seconda invece, la durata media di ogni sessione, è una semplicissima divisione del tempo totale speso sul sito diviso per il numero delle sessioni.

E’ importantissimo analizzare la percentuale di “Exits”. Una pagina con un alta percentuale di “Extis Rate” equivale ad avere una bassa confidenza sul calcolo del tempo medio speso in pagina. (Approfondisci qui)

Ci sono dei metodi per poter ovviare a queste “problematiche tecniche” ed avere dati più precisi?

Si. Senza andare troppo nel complicato, la soluzione seguente potrebbe ovviare ai problemi di molti siti, dove è difficile comprendere effettivamente il tempo speso sul sito o su di una pagina.

Come accennato prima, a Google Analytics servono delle “hit” per poter calcolare i tempi. Queste possono essere interazioni naturali degli utenti (click) o anche interazioni di monitoraggio, come gli eventi. Per chi non sa cosa siano gli eventi su Google Analytics consiglio prima la lettura di queste semplice guida.

La soluzione più semplice è quella di impostare direttamente sul sito web degli eventi automatici, che vengono generati, per esempio, ogni X secondi. Cosi facendo, anche se l’utente non fa nulla (o meglio legge/consulta senza interagire) ma ha la pagina attiva, il timer genererà ogni X secondi un evento e Google Analytics potrà cosi capire meglio il tempo reale speso in pagina, con un margine di errore molto limitato.

Ecco qui il semplice codice che potete prendere e copiare direttamente nella <head> del vostro sito (mettetelo sempre prima della chiusura </head> e non nel body. Se volete potete modificarlo ed adattarlo per le vostre esigenze).

<script type="text/javascript">
function timer11(){ga('send', 'event', 'TimeOnPage', '1', '11-30 seconds', { 'nonInteraction': 1 });}
function timer31(){ga('send', 'event', 'TimeOnPage', '2', '31-60 seconds', { 'nonInteraction': 1 });}
function timer61(){ga('send', 'event', 'TimeOnPage', '3', '61-180 seconds', { 'nonInteraction': 1 });}
function timer181(){ga('send', 'event', 'TimeOnPage', '4', '181-600 seconds', { 'nonInteraction': 1 });}
function timer601(){ga('send', 'event', 'TimeOnPage', '5', '601-1800 seconds', { 'nonInteraction': 1 });}
function timer1801(){ga('send', 'event', 'TimeOnPage', '6', '1801+ seconds', { 'nonInteraction': 1 });}
ga('send', 'event', 'TimeOnPage', '0', '0-10 seconds', { 'nonInteraction': 1 });
setTimeout(timer11,11000);
setTimeout(timer31,31000);
setTimeout(timer61,61000);
setTimeout(timer181,181000);
setTimeout(timer601,601000);
setTimeout(timer1801,1801000);
</script>
</head>

Cose importati da considerare:

  1. Questo è un codice generato per Universal Analytics (e non il codice tradizionale vecchio)
  2. Inserendo questo codice sul vostro sito, noterete fin da subito un forte calo del Bounce Rate
  3. Questi sono eventi che vengono attivati da un timer, ed i risultati saranno consultabili nella tab di Google Analytics COMPORTAMENTO -> EVENTI
  4. Ogni evento ha un nome, una categoria, ed un azione. Questi saranno tutti utili nel caso vorreste poi fare delle analisti statistiche più approfondite.

Questo metodo è molto semplice, non serve essere tecnici, basta saper inserire un codice nella head del vostro sito. Nel caso in cui vorreste evitare di toccare il codice del sito ed utilizzare per esempio Google Tag Manager, vi rimando a quest’altro interessante metodo.

Avete opinioni in merito?

Manuele Caddeo

5 comments

  1. DonClaudissimo

    Ciao CAD,
    in passato utilizzavo un JS, richiamato esternamente, con il seguente codice:

    (function (tos) {
    window.setInterval(function () {
    tos = (function (t) {
    return t[0] == 50 ? (parseInt(t[1]) + 1) + ‘:00’ : (t[1] || ‘0’) + ‘:’ + (parseInt(t[0]) + 10);
    })(tos.split(‘:’).reverse());
    window.pageTracker ? pageTracker._trackEvent(‘Time’, ‘Log’, tos) : _gaq.push([‘_trackEvent’, ‘Time’, ‘Log’, tos]);
    }, 10000);
    })(’00’);

    Forse torna utile a qualcuno 😉

    Un saluto dal DON

    1. Manuele Caddeo Post author

      Ciao DON!
      si, torna utile a chi usa il codice tradizionale di GA, non quello di Universal Analytics.

      La funzione “_gaq.push” corrisponde a quello tradizionale infatti 😉

      Haloa!

  2. Maurizio

    Grazie Manuele,
    veramente interessante.
    Userò sicuramente la soluzione da te proposta.

    Chi l’ha studiata, sa che la rilevazione statistica, in tutte le sue forme, è una scienza inesatta, cioè interpretativa.
    Anche gli algoritmi, nuovi meme di verità, sono interpretazioni personali del problema.

    Un saluto
    Maurizio

  3. Davide Bernasconi

    Letto con attenzione il post, che mi ha risolto alcuni dubbi “matematici”, pongo ora una domanda. Il codice va inserito in pagina principale oppure ed anche in pagina singola?

    Grazie per l’attenzione
    Davide

    1. Manuele Caddeo Post author

      Ciao Davide,
      il codice di monitoraggio di Google Analytics deve essere inserito in ogni singola pagina del sito web.
      Si consiglia di utilizzare un tag manager, anche gratuito come Google Tag Manager, che oltre ad aiutare la gestione e manutenzione si questo può anche evitare rallentamenti al caricamento del sito web essendo questo asincrono al restate codice del sito web.

      Cordialmente,
      Manuele

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *