Google Analytics: nell'head o nel body?

Screenshot Google Analytics Il dibattito su dove inserire il codice di tracciamento di Google Analytics è sempre stato molto acceso, fin dal rilascio del software.

Inizialmente, quando Urchin era appena stato ribrandizzato in Google Analytics ed il prodotto era poco più che un cambio di nome, ricordo che la documentazione suggeriva di inserire il codice di tracciamento all’interno del tag <head> della pagina. Non ho mai verificato direttamente, ma la motivazione ufficiale era che alcune caratteristiche richiedevano di essere inserite all’interno delle intestazioni per funzionare correttamente.

Poi è arrivato il nuovo codice di tracciamento di Google Analytics, per intenderci quello definito dal file ga.js. La documentazione ufficiale di Google Analytics indica di inserire il codice di tracciamento immediatamente prima la chiusura del tag <body>, ovvero la chiusura della pagina HTML.

Prendendo a campione un centinaio di siti, soprattutto quelli che utilizzando Google Anaytics dai primi tempi, è facile notare come la posizione in cui è inserito il codice di tracciamento è assolutamente arbitraria. Alcuni la tengono a chiusura pagina, altri nell’header.

Le motivazioni sono essenzialmente due. Nel caso in cui il codice di tracciamento sia inserito ad inizio pagina, la probabilità di perdersi per strada dei dati è decisamente inferiore. Con il codice di tracciamento al fondo, infatti, l’utente potrebbe chiudere il browser prima che il tracciamento sia inizializzato.

Viceversa, l’inserimento di un javascript nell’head forza il browser ad attendere il suo caricamento prima di proseguire il rendering completo della pagina. Nel caso in cui Google ritardi a fornire il codice di tracciamento, la nostra pagina cadrà in uno stato di sospensione apparente ed il browser continuerà a mostrare l’avviso di caricamento in corso fino ad un eventuale timeout o ad una risposta del javascript esterno.

Lo screenshot seguente è emblematico: 357ms per restituire la pagina al browser, 35 secondi per eseguire il codice di tracciamento di Google Analytics.

Tempo di esecuzione di Google Analytics

Purtroppo il fenomeno non è così raro. Limitato, certo, ma spesso mi capita di imbattermi in comportamenti simili.

Il dilemma resta. Top della pagina per tutti i visitatori ma rischi al caricamento, fondo della pagina per dati potenzialmente incompleti ma utente felice?