Nov 05 2008

Google Analytics Social media metrics plugin

autore: Marco Cilia categoria: generale

Nel sempre più florido ambito delle estensioni Greasemonkey per Google Analytics va annoverata questa piccola chicca, di cui sono venuto a conoscenza da poco: il social media metrics plugin di VKI studios. Questo script permette di aggiungere alla pagina di dettaglio di un url del report “contenuti principali” alcune righe relative a:

  • numero di segnalazioni della pagina su Reddit (social news)
  • numero di segnalazioni della pagina su Sphinn (social news orientato al mondo SEO)
  • numero di segnalazioni della pagina su digg (social bookmarking)
  • numero di segnalazioni della pagina su mixx (social media)
  • numero di volte che la pagina è stata salvata su delicious.com (bookmark online e condivisi)
  • numero di segnalazioni su Stumbleupon (social news con algoritmo di autoapprendimento)
  • numero di link in ingresso della pagina secondo Yahoo site explorer (equivalente ai Google Webmasters Tools)

L’ho testato per un po’ sui miei profili, ma nessuna delle pagine che ho controllato è mai stata segnalata su digg o stumbleupon. In linea di massima, trattandosi di servizi rivolti in prevalenza a utenti di lingua inglese l’utilità può essere limitata, ma dipende molto dal target del vostro sito e dal vostro pubblico. Il numero di link secondo Yahoo o di salvataggi su delicious invece possono essere utili a tutti. Se in generale fate uso di questi servizi per promuovere i vostri siti, questo script potrebbe semplificarvi in qualche modo la vita. E poi non bisogna dimenticare che le versioni nazionalizzate dei siti di successo possono sempre sbarcare in Italia da un momento all’altro…

social media plugin per GA

(se hai trovato utile questo script, forse ti possono interessare anche questo per aggiungere note e questa altra lista)


Nov 03 2008

funzioni per usare le campagne senza i tag di google

autore: Marco Cilia categoria: funzioni

Esiste un modo alternativo di gestire le campagne in Google Analytics rispetto a quanto è stato illustrato nel post “la gestione delle campagne“: la gestione illustrata (e quella maggiormente utilizzata) inizia e finisce con la composizione e la diffusione di un link opportunamente taggato. Non è necessario fare altro, poiché il codice di tracciamento di Analytics sa già cosa deve fare, cosa deve raccogliere e cosa deve inviare ai server di Google senza bisogno di modificare nulla.

Il modo alternativo consiste nel tracciare come campagne anche URL che non sono stati pensati e progettati per GA; indirizzi magari precedenti all’installazione dello script, o indirizzi inviati per email per errore senza i parametri necessari, o altre cause. La condizione necessaria è che questi url presentino dei parametri riconoscibili, e la gestione si realizza tramite cinque funzioni (una per parametro possibile) in grado di convertire parametri che per Analytics non avrebbero senso in parametri di una campagna.

La prima funzione che affrontiamo è _setCampContentKey(stringa), e permette di convertire un parametro dell’url della landing page nel parametro utm_content inviato ai server. Supponendo che l’url inviato per email a migliaia di persone sia
http://www.miosito.it/xr100.php?fonte=newsletter&da=email&offerta=lancio-xr100&contenuto=sconto&chiave=casco

si può tramutare il parametro “contenuto” in “utm_content” aggiungendo la funzione
pageTracker._setCampContentKey("contenuto");
prima della chiamata a _trackPageview(); del GATC.

La funzione analoga _setCampMediumKey(stringa) effettua la medesima operazione ma consente di decidere da dove prendere il contenuto del parametro utm_medium. Nel caso succitato il parametro “da” viene catturato e trasformato aggiungendo la riga
pageTracker._setCampMediumKey("da");
prima della chiamata a _trackPageview();

Le altre tre funzioni da utilizzare in casi del genere, con le medesime modalità, sono:

  • _setCampNameKey(stringa), cattura l’equivalente del parametro utm_campaign (”offerta” nell’esempio)
  • _setCampSourceKey(stringa), cattura l’equivalente del parametro utm_source (”fonte” nell’esempio)
  • _setCampTermKey(stringa), cattura l’equivalente del parametri utm_term (”chiave” nell’esempio)

Ovviamente le aggiunte di queste funzioni prima di trackPageview vanno fatte solo ed esclusivamente nella landing page che è oggetto della campagna “sbagliata”.


Nov 01 2008

La scomparsa dei profili-copia?

autore: Marco Cilia categoria: generale

timbroCon l’introduzione della capacità di segmentare “al volo” le visite, anche in modo retroattivo, molte persone si stanno chiedendo che senso possano ancora avere i profili-copia, cioè i profili duplicati che non necessitano di un nuovo script, ma che vengono tracciati comunque in modo separato e ai quali si possono applicare filtri completamente diversi. La risposta ce la danno i ragazzi di Lunametrics.com

I profili-copia hanno il grande svantaggio di poter essere utilizzati solo dal momento in cui sono creati, infatti i dati pregressi non vengono copiati. Come detto, la segmentazione avanzata ha invece effetto su qualsiasi dato presente nel report, a prescindere dal periodo. Con la segmentazione avanzata poi è possibile mettere a confronto in forma grafica più di due segmenti e per la loro creazione esiste una interfaccia grafica molto usabile che non necessita la conoscenza delle regular expression. Tuttavia i profili-copia non scompariranno, per i seguenti motivi:

  • Il campo IP non è manipolabile nei segmenti avanzati, per cui non si può - ad esempio - fare un segmento che escluda le visite interne provenienti dal proxy aziendale.
  • Le segmentazioni avanzate sono legate all’account che le crea, e non al profilo di Analytics; se si vuole dare accesso a terzi a report che contengono solo una parte del traffico, non rimane altro che fare un profilo-copia con un filtro a monte.
  • Se si vogliono avere più di 4 obiettivi è ancora necessario ricorrere ai profili-copia.
  • Le segmentazioni avanzate non permettono in nessun modo di segmentare i funnel, i percorsi obiettivo.

Credo che ce ne sia abbastanza per non decretare la morte dei profili-copia. Una riduzione si, ma non la morte.
(image credits: compujeramey on Flickr)


Oct 29 2008

Aggiungere annotazioni a Google Analytics

autore: Marco Cilia categoria: report

Come si è già detto la API di prossima introduzione in GA 3.0 è una API di sola lettura, e questo significa che i dati avranno una sola direzione: dal server all’esterno. L’unico modo per introdurre dati nel sistema di Google è attraverso il javascript che inseriamo nelle nostre pagine, ma quei dati riguardano sempre e comunque visitatori, sessioni, browser, obiettivi.

Una delle richieste che ogni tanto viene fatta al team di Google in giro per la rete è la possibilità di inserire note all’interno del prodotto, cioè annotazione utili ad esempio a ricordare eventi (”26/10: inizio della campagna banner”) o ad “appuntare” messaggi importanti per gli altri utenti. Justin Cutroni ha sopperito a questa mancanza con una estensione per Firefox chiamata GA Notes. E’ basata su Google Apps, per cui le note sono conservate nei server della grande G e l’unico prerequisito affinché funzioni con più utenti è che tutti abbiano installato l’estensione.

Se lavorate con Google Analytics e siete un team, può sicuramente essere una buona idea usare questa estensione per avere sempre sotto mano la “storia” degli eventi di un profilo. Tra le altre cose, Justin promette che cercherà di migliorarla anche con la possibilità di visualizzare le note in forma grafica.

(se ti interessano altre estensioni utili per aggiungere funzionalità a GA, ti segnalo questo vecchio post)


Oct 27 2008

Un esempio di Custom Report

autore: Marco Cilia categoria: report

C’è stato un tempo - agli albori della mia esperienza con Google Analytics - in cui a chi mi chiedeva cosa si potesse fare con il prodotto io rispondevo “qualsiasi cosa! se vuoi sapere come ti hanno trovato sui motori di ricerca i soli navigatori norvegesi che sono arrivati tra le dieci e le undici di sera, puoi!”. Si trattava ovviamente di una informazione inesatta, dettata dal grande entusiasmo iniziale e da una scarsa conoscenza del mezzo, perché una segmentazione del genere non è mai stata possibile su GA.

Per dimostrare la potenza dei nuovi rapporti personalizzati ho creato al volo il report in questione, togliendomi una piccola soddisfazione personale: quella di poter dire, sebbene a distanza di tre anni, che tutto sommato non mi sbagliavo :)
Nel video che segue incrocio tre metriche (tempo medio sul sito, visite nuove e frequenza di rimbalzo) con tre dimensioni annidate (paese di provenienza, ora del giorno e parola chiave), in modo da ottenere l’informazione desiderata.


Ci sono da notare due cose: la prima è che esiste un quarto spazio per le dimensioni, ovvero è possibile scendere nel dettaglio ancora di un livello, e la seconda è che a un custom report così creato è poi possibile applicare una segmentazione avanzata precedentemente definita. Questo apre virtualmente qualsiasi porta, estendendo di molto le possibilità combinate delle due grandi novità!


Oct 23 2008

Novità in GA 3.0: analisi di livello enterprise per tutti

autore: Marco Cilia categoria: generale

Grosse novità in Google Analytics, giunte senza quasi nessun preavviso!
Avevo guardato il programma dell’eMetrics summit di Washington D.C. in cerca di possibili novità in GA, che è sponsor Gold dell’evento, e avevo trovato un intervento di 10 minuti di Brett Crosby il giorno 22. Leggo oggi invece che Avinash Kaushik ha presentato quella che viene considerata ufficiosamente la versione 3.0 del prodotto Google, con importanti novità di classe enterprise di cui però beneficeranno tutti gli utenti, e tutto il settore della web analytics.

Come dicevo qualche giorno fa, dopo l’uscita di Yahoo Web Analytics, Google si è trovata ad inseguire per via del numero di feature dell’ex IndexTools; ovviamente le caratteristiche presentate oggi non si sviluppano in pochi giorni, segno che si erano già preparati a questa major update ed aspettavano solo il momento giusto per presentarla. Riassumo le novità che sono state annunciate:

  • Motion Charts (un nuovo sistema di visualizzazione dei dati)
  • Segmentazione avanzata
  • Custom report
  • Integrazione con Adsense
  • nuova interfaccia amministrativa
  • API di esportazione dei dati

Il Motion Charts è un sistema sofisticato di visualizzazione dei dati e permette di selezionare due metriche per ascisse e ordinate, la dimensione e il colore delle “bolle” che rappresentano i dati e poi di vedere come questi si evolvono nel tempo. Permette quindi di avere una percezione dei dati che prima non era possibile, o era possibile in forma limitata e meno intuitiva
Motion Chart

La segmentazione avanzata è una nuova modalità di segmentazione che permetterà di ottenere al volo gli stessi dati che prima richiedevano profili separati e filtri avanzati. con una nuova interfaccia drag & drop ci sarà la possibilità di eseguire interrogazioni complesse sui dati del database. Se le implementazioni del GATC sono sempre state corrette, la segmentazione sarà retroattiva, cioè sarà possibile effettuare analisi avanzate anche sui dati dell’anno scorso, ad esempio. Questo perché evidentemente i dati nel database di Google sono sempre stati salvati in “raw”, cioè nudi e crudi e i report venivano calcolati al volo. E’ una cosa che ho sempre sospettato e che ho detto a voce qualche volta, ma non ho mai avuto la possibilità di verificarlo sperimentalmente e quindi non l’ho mai scritto. Il sospetto si è rafforzato dopo aver letto le features di Yahoo Web Analytics. Ecco un video che mostra in azione il processo di segmentazione avanzata:

e un post molto esaustivo del sempre ottimo Justin Cutroni. Nel suo post ad esempio dimostra come sia possibile creare un segmento che include solo le visite superiori ai 10 secondi ed applicarlo seduta stante ai dati pregressi.

I custom report permetteranno di creare e mantenere report che non esistono nell’interfaccia base di Analytics, potendo scegliere metriche e dimensioni in libertà tra tutte quelle disponibili nel sistema. Ad esempio si potrà creare un report che incrocia le metriche “visite” e “bounce rate” con la dimensione “città”, e poi eventualmente di aggiungere la “fonte di traffico” come sottodimensione di ogni città, in un report di tipo drill-down. Si veda questo breve video che mostra il processo appena descritto:

Il rischio dei custom report è sempre quello di aggiungere metriche su metriche e innumerevoli dimensioni, atomizzando i dati, ma la possibilità di avere li è stata chiesta a gran voce dagli utenti e Google li ha accontentati.

Dell’integrazione con Adsense si vociferava già da tempo, e mi sembra un passo naturale verso la creazione del Google Business Platform. Gli screenshot mostrati erano reali e le possibilità sono indubiamente più elevate rispetto alla reportistica del pannello Adsense in sè. Sul blog di Adsense c’è un post con le spiegazioni dettagliate delle nuove feature.

La nuova interfaccia di amministrazione permette di semplificare la navigazione tra i profili e di definire la visualizzazione di alcune Key Performance Indicator fuori dai report, in modo da avere subito “il polso della situazione” secondo il classico schema verde va bene, rosso va male.

Infine è arrivata anche la API di export dei dati, che esisteva già come ipotizzato nel post relativo ad AnalyticsView: permetterà di di creare applicazioni e software di terze parti in grado di estrarre e quindi rielaborare (graficamente e non solo) i dati da Google Analytics. La API funzionerà solo in lettura, chiaramente, e tra le altre cose credo che permetterà anche di creare un “contatore” da esporre nelle pagine, cosa che più volte mi è stato chiesto se fosse possibile e che dovrebbe esserlo (per quanto la mia opinione dei contatori sia estremamente negativa).

Se vi ricordate del post “20 consigli a Google per migliorare Analytics“, troverete che alcuni di quei desideri si avvereranno quando queste nuove funzionalità saranno gradualmente rilasciate agli utenti. Google Analytics si eleva di un livello e approccia in modo serio al mercato aziendale high-end, finora appanaggio dei grandi player come Webtrends e Omniture. Quando mi abiliteranno le nuove funzioni provvederò ad aggiornare la comparazione tra YWA e GA, che al momento ha di colpo perso senso.


Oct 21 2008

Tabelle di conversione delle sorgenti

autore: Marco Cilia categoria: codice di monitoraggio

Mi pregio di avere lettori molto attenti, che in pubblico o in privato mi fanno domande, chiedono spiegazioni, mi esortano ad essere più chiaro e mi correggono. Ed è una fortuna, ne sono molto contento. In seguito al mio errore sulla conversione dei referrer evidenziato da fradefra ho deciso di fare alcune prove approfondite per togliere i dubbi una volta per tutte. Ho quindi impostato una tabella a doppio ingresso, ho cercato un sito che fosse raggiungibile da tutte le fonti e ho iniziato a fare visite secondo lo schema. Solo dopo aver finito mi sono reso conto che qualcosa non quadrava, non era come me lo aspettavo, ma prima di pubblicare un altro post dubbio ho voluto avere il conforto di un test esterno. Ho quindi chiesto a Marco Ziero di fare delle prove “alla cieca”, cioè senza spiegargli nel dettaglio come e perché ma raccogliendo soltanto i risultati. Durante la telefonata però ho capito cosa non tornava nei miei risultati, e ho ricominciato l’esperimento dall’inizio. Ecco cosa ho scoperto: Continua a leggere “Tabelle di conversione delle sorgenti”


Oct 21 2008

Internet Magazine e IAB forum

autore: Marco Cilia categoria: generale

Dato che ormai la rivista cartacea non è più in edicola, ho avuto l’autorizzazione a mettere online il pdf con l’intervista che Internet Magazine ha pubblicato nel numero di Ottobre 2008. L’intervista, ve lo ricordo, consisteva in tre domande sulla web analytics a me, Enrico Pavan e Giusy Veneto.

Scarica il pdf e leggi l’intervista

Inoltre segnalo che sarò presente allo IAB forum il giorno 6 novembre, per seguire ovviamente le sessioni di web analytics. Se vi trovaste anche voi lì, mi farebbe sicuramente piacere incontrarvi e scambiare due chiacchere :)


Oct 17 2008

funzioni: _setCampaignTrack() e _setAllowAnchor()

autore: Marco Cilia categoria: funzioni

La gestione delle campagne è uno strumento molto potente in Google Analytics e alcuni si spingono addirittura a dire che sia la cosa meglio riuscita del prodotto. Quale che sia la vostra opinione, è indubbia una cosa: la gestione è talmente semplice che basta visitare un link con i parametri di una campagna per iniziare a vedere i relativi dati nei report. Non ho volutamente scritto “iniziare a diffondere link con i parametri” perché intendo proprio quel che ho detto: basta che qualcuno visiti un vostro indirizzo con i parametri di una campagna, una qualsiasi.
Per chiarire ancora meglio, se io visito il vostro sito tramite questo indirizzo
http://www.tuosito.it/index.php?utm_source=ilmiobrowser&utm_medium=miainiziativa&utm_campaign=melasonoinventata

voi inizierete a vedere le mie visite sotto la campagna “melasonoinventata”. C’è da dire che nei grossi numeri è improbabile che qualcuno riesca a far emergere una campagna inventata, e se ci riesce significa che porta abbastanza traffico da meritare una campagna vera, ma in siti con traffico relativamente basso è una possibilità che esiste. Se vogliamo è lo stesso discorso fatto a riguardo della copia dello script su domini diversi: la scelta progettuale è una, ed è degli ingegneri di Google, ma il sistema mette a tua disposizione gli strumenti per proteggerti. Nel caso in cui non si vogliano tracciare le campagne (nessuna campagna!) si può usare la funzione _setCampaignTrack(booleano), che disattiva il relativo tracciamento. E’ sufficiente aggiungere la riga
pageTracker._setCampaignTrack(false);
prima di trackPageView().

Essendo una funzione booleana, il tracciamento è spento o acceso; o escludete tutti i tracciamenti - e quindi non userete le campagne nemmeno volendolo - o li accettate tutti, compresi quelli “fasulli”. Alternativamente si può pensare a un filtro di inclusione solo per le proprie campagne, ma sarebbe un filtro da aggiornare molto spesso e comporterebbe qualche restrizione alla gestione stessa delle campagne.

La seconda funzione di cui parliamo oggi è _setAllowAnchor(booleano) e serve ad abilitare la gestione degli url delle campagne anche tramite il separatore # (cancelletto), oltre ai classici ? (punto di domanda) e & (e commerciale). Se devo essere sincero non ho mai visto utilizzare questa funzione da quando mi occupo di GA (anzi, ho visto URL taggati col cancelletto ma nelle pagine di destinazione non c’era la funzione _setAllowAnchor), ma poiché espande le possibilità di utilizzo è bene conoscerla. L’utilizzo è semplice, basta aggiungere la riga
pageTracker._setAllowAnchor(true);

prima della chiamata a trackPageView()


Oct 14 2008

Comprendere appieno il tempo sul sito

autore: Marco Cilia categoria: report

Uno dei possibili parametri per definire delle KPI (Key Performance Indicator) su un sito è il tempo trascorso dai visitatori sulle nostre pagine. Questo dato è presente in Google Analytics, ed è conforme agli standard della Web Analytics Association, ma spesso noto molta confusione nell’interpretazione dei report relativi. Cercherò di farvi capire come funziona con esempi pratici:

La domanda tipica che mi sento rivolgere è all’incirca questa: “perché nella bacheca GA mi segna un certo tempo medio sul sito e nel dettaglio contenuti un altro?” (vedi la figura sotto)

valori di tempo sul sito in GA

La risposta secca è: perché il primo valore è la media del tempo sul sito, il secondo è la media delle medie del tempo su ogni singola pagina.
Google Analytics calcola il tempo su ogni pagina tramite la differenza tra il timestamp (preciso al secondo, calcolato in UNIX time) di ogni pagina meno il timestamp della pagina precedente. E di conseguenza il tempo sul sito è il timestamp dell’ultima pagina visitata meno il timestamp della prima.
Chiariamo con una schema: Continua a leggere “Comprendere appieno il tempo sul sito”