Sep 21 2010

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

Baco in Chrome che coinvolge Analytics e i frame

autore: Marco Cilia categoria: javascript

[edit 25/09/2010: come confermato anche sul blog ufficiale, il baco in Chrome è risolto a partire dalla versione 6.0.472.63, già in distribuzione automatica presso gli utenti. Nel post trovate anche un segmento avanzato che dovrebbe evidenziarvi se e quanto siete stati affetti dal problema]

Oggi il buon Francesco Gori mi chiama in chat per sottopormi un quesito veramente incredibile, e dopo un po’ di ricerche approda anche a questo thread del supporto ufficiale: Google Analytics tracking broken on Chrome 6+.

In sostanza pare che Chrome 6 abbia un baco che influenza i conteggi di Google Analytics. Il problema è stato segnalato una prima volta il 13 settembre, e lo stesso giorno è apparsa anche questa segnalazione (issue 55372) sul bug tracking del progetto Chromium, da cui deriva il browser Chrome.
Gli screenshot sono piuttosto chiari, e numerose persone si accodano alla richiesta di spiegazioni e soluzioni. Ciononostante la mia risposta iniziale a Francesco è stata “no, non mi è mai capitato”, e anche dopo opportune verifiche sui miei profili, con segmenti avanzati e report personalizzati, confermo che nei siti che monitoro non succede. Eppure, come tutti voi, ho la mia buona percentuale di visitatori che usano Chrome in tutte le sue versioni, quindi teoricamente dovrei vedere anche io gli stessi effetti.

Proseguendo la lettura si scopre che un dipendente Google ha confermato l’esistenza di questo baco, che se devo essere sincero non riesco a comprendere sino in fondo. Mi basta sapere che il fenomeno si manifesta in presenza di frame e iframe, e che il baco consiste nell’errata scrittura di un “meno” in alcuni cookie che causano la perdita di memoria a Google Analytics, che identifica come nuovi visitatori anche visitatori di ritorno, con le ovvie conseguenze del caso sulle pagine viste e la media di pagine per visita. Letteralmente:

This bug manifests itself when you load ga.js in a parent frame and an iframe. The buggy instanceof check is causing cookies to be overwritten with dashes, which causes GA to think that the visitor is brand new.

Per verificare il problema potete visitare questa pagina creata da Google http://analytics.nfshost.com/chrome_six_bug/index.html e magari fare un paio di refresh: a un certo punto vedrete alcuni cookie, compreso __utma, svuotarsi o essere sostituiti con dei meno, cosa che non dovrebbe affatto accadere.

Secondo il dipendente Google, il team di Analytics è in cerca di una soluzione temporanea, ma la risoluzione definitiva spetta agli sviluppatori di Chrome. Anzi, secondo lui il baco dell’interprete javascript di Chrome, il famoso V8, è stato risolto il 17 settembre e bisogna solo attendere che la modifica venga inserita all’interno delle release stabili di Chrome distribuite in rete.