Usprawnienia Google Analytics
21 maja 2006
Od dłuższego czasu korzystam z tych statystyk i sprawują się świetnie. Problemem było dla mnie ładowanie się zewnętrznego pliku .js, który potrafił zablokować stronę, jeśli serwer nie odpowiadał. Rozwiązaniem doraźnym było przemieścić kod z head na dół body. Nie uważałem tego za dobre wyjście.
Całe szczęście Rafał Lindemann wpadł na rozwiązanie, które chciałem zaprezentować większemu gronu - jest o wiele bardziej przemyślane. Całość dotyczy nie tylko sposobu wklejania kodu, ale też przechwytywania danych z dynamicznych URL-i. Wracając jednak - chodzi o to, że używamy funkcji, która doda odpowiedni element <script/> do bloku <head/> po załadowaniu się strony (czy innym zdarzeniu, zależy od Twojego kodu):
function addGoogleStats() {var GAID = 'UA-xxxxxx-x'; //twój identyfikator GAvar head = document.getElementsByTagName('head')[0];var scr = document.createElement('script');scr.type = 'text/javascript';scr.src = (location.protocol == 'http:' ? 'http://www.' : 'https://ssl.') + 'google-analytics.com/'+'urchin.js';var once = 0;function runMe() {if (scr.readyState == 'loading' || urchinTracker == undefined || once) { return; }clearInterval(timer);once++;_uacct = GAID;urchinTracker();}var timer = setInterval(runMe, 3000);scr['onload'] = runMe;scr['onreadystatechange'] = runMe;head.appendChild(scr);}
Taki kod może sobie leżeć spokojnie w zewnętrznym pliku JavaScript, funkcja addGoogleStats() wywołana na życzenie (window.onload albo addEventy). Dołączony w ten sposób kod może na początku nie sygnalizować serwerowi, że serwis został podłączony - ale dane i tak będą zbierane.
Można także dodać sobie nowe wyszukiwarki rozpoznawane przez system statystyk. Przed urchinTracker():
_uOsr[_uOsr.length]="onet.pl"; _uOkw[_uOkw.length]="qt";_uOsr[_uOsr.length++]="wp.pl"; _uOkw[_uOkw.length++]="szukaj";_uOsr[_uOsr.length++]="netsprint.pl"; _uOkw[_uOkw.length++]="q";
Michał Górny napisał nowszą wersję kodu zalecanego od niedawna przez Google Analytics.


