Nowy skrypt Google Analytics – ga.js
Google powoli wprowadza zmiany testowane wcześniej w różnych betach.
Kilka tygodni temu uruchomiona została funkcja „Wyszukiwanie w obrębie witryny” (Site search), o której wspominałem już w październiku. Polecam jej włączenie od razu – funkcja niesamowicie przydatna szczególnie w e-commerce – bo widzimy prawie idealnie, do czego nadaje się wyszukiwarka w serwisie (szczegóły w pomocy Google). Jedna rzecz, o której pomoc Google nie wspomina. Site search można włączyć wtedy, gdy formularz wyszukiwarki działa w trybie GET, tzn. parametry wyszukiwania są przekazywane w adresie. Jeśli mamy tryb POST – jest to nadal możliwe, ale trzeba zaprogramować przekazanie parametru do skryptu.
Inna efektowna nowość to możliwość porównania na wykresach dwóch różnych wartości – np. liczby wejść i konwersji z wyszukiwarek, co pokazywał na swoim blogu Tomasz Topa.
Najważniejsza zmiana ma jednak charakter techniczny i wymaga od nas podjęcia paru działań. Chodzi o nowy skrypt statystyk: ga.js, do którego odwołanie powinniśmy teraz umieścić na każdej stronie naszego serwisu.
Po co ta zmiana?
Dlaczego nowy skrypt? Czy nie wystarczyło podmienić jakiś funkcji w starym? Zadawałem sobie to pytanie – odpowiedź jest prosta: skrypt ga.js powstał od nowa i napisany jest w całości obiektowo, podczas gdy w starym wykorzystywano funkcje.
Zaletą tego jest elastyczność, a wadą – konieczność dostosowania bardziej skomplikowanych instalacji, o czym niżej.
Zresztą, prawdę mówiąc, dużego wyboru nie mamy. Przez najbliższy rok będzie można stosować stary kod, ale później trzeba będzie i tak przejść na nowy. Nowe funkcjonalności Analytics będą jednak już dodawane tylko w nowym skrypcie.
Instalacja
Jak widać, nowy kod jest nieco bardziej skomplikowany od starego.
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._initData();
pageTracker._trackPageview();
</script>
Zastępujemy nim stary kod, uzupełniając oczywiście numer serwisu. Co ciekawe, w serwisie mogą być strony i ze starym i z nowym kodem, ale na jednej stronie nie może być kodu starego i nowego, jeśli śledzenie dotyczy tego samego konta.
Nie popisali się inżynierowie Googla, po wklejeniu ga.js okaże się, że nasza strona przestała się walidować. Narzędzie W3C pokaże następujący błąd:
Nowy kod automatycznie obsługuje połączenia https, co wcześniej wymagało ręcznych zmian. No i za problem walidacji odpowiada fragment, który wyświetla odwołanie do skryptu w protokole https lub http – zależnie czy mamy akurat bezpieczne połączenie.
Nie wdając się w szczegóły techniczne – wystarczy sprytnym sposobem naszych babek umieścić cały pierwszy blok JavaScript w komentarzach HTML:
<script type="text/javascript">
<--
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-->
</script>
Ewentualnie, jeśli nie korzystamy z połączeń https, można ten kod uprościć.
<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
</script>
Warto zwrócić uwagę na jeszcze jedną rzecz: od paru miesięcy (w starym i nowym kodzie) Google Analytics uwzględnia wyszukiwarki z polskich portali: Onet, Interia, WP, Netsprint, Szukacz. Dlatego – jeśli ktoś to robił – nie trzeba już ich dodawać ręcznie.
Czy mogę po prostu wkleić kod?
Krótka odpowiedź: TAK, jeśli poprzednia instalacja Google Analytics ograniczała się wyłącznie do wklejenia na stronę podstawowego kodu.
Wtedy wystarczy tamten kod podmienić za pomocą nowego.
Kiedy więcej pracy przy instalacji?
Wtedy gdy:
- śledziłeś transakcje e-commerce,
- śledziłeś zdarzenia w serwisie (kliknięcia w linki zewnętrzne, ściągniecie pliku, zdarzenia Flash, Ajax),
- statystyki na jednej witrynie korzystały z wielu kont (jest to możliwe, choć rzadko wykorzystywane),
- statystyki obejmowały kilka subdomen,
- dodawałeś ręcznie wyszukiwarki (których nadal nie obsługuje GA),
- ustawiałeś inne zmienne (np. długość sesji dla pojedynczej wizyty lub długość czasu konwersji) lub stosowałeś tagowanie stron.
Generalnie – w prawie wszystkich przypadkach, gdy instalacja była bardziej skomplikowana niż wklejenie kodu, trzeba będzie nad tym posiedzieć.
Obowiązkowa wtedy jest lektura następującego dokumentu: Tracking Code Migration Guide, w którym omówione zostały różne przypadki.
Generalnie – poprawić trzeba będzie kod wszędzie, gdzie znajdowało się odwołanie do funkcji urchinTracker() – tej funkcji w nowym skrypcie już nie ma.
Również w przypadku transakcji e-commerce nie ma starej metody podawania danych przez kolejne linijki „UTM:T” w textarea. Funkcje wysyłające dane ze sklepu do Analytics trzeba przepisać na nowo: szczegóły w pomocy Google.
Miłego instalowania! :-) W przypadku pytań, zapraszam do komentarzy.
Podobne artykuły:
Być może zainteresują Cię następujące artykuły:
- Nowy skrypt Analytics wychodzi naprzeciw obciążonym serwisom
- Nowości z działki Google Analytics
- El Monito w panelu Google Analytics
- Kolejna wtyczka El Monito
- O tym jak zły kod Analytics może kosztować grube pieniądze
Zapisz się na kanał RSS bloga i dołącz do ponad 1500 czytelników RSS.
22 grudnia 2007 22:36
Pożyjemy zobaczymy – dopiero w ostrym „praniu” okaże się co to jest warte.
7 stycznia 2008 23:10
Nowy kod jest lżejszy i bardziej elastyczny (opiera się na obiektach). Oczywiście jak to w przypadku nowości zawsze bywa, nowa wersja kodu nie jest tak dobrze przetestowana jak wersja wcześniejsza. Sama migracja z starego kodu do nowego jest dość prosta i nie powinna nastręczać wielu trudności (zwłaszcza, że dokumentacja jest dokładna). Problemem może być ewentualne przerabianie modułu Ecommerce.
9 stycznia 2008 11:04
> ?google-analytics.com/ga.js?
> type=?text/javascript?%3E%3C/script%3E?));
to ma tak wygladac, z tymi „krzczkami”, np. %3E?
9 stycznia 2008 11:09
Tak, te znaczki mają być. Najlepiej jednak upewnić się u źródła czyli w pomocy Google.
16 stycznia 2008 13:32
Dzieki serdeczne:)
1 listopada 2009 15:12
Czy mogę ten kod wkleić bez większych problemów do dokumentu wysyłanego jako application/xhtml+xml z doctype xhtml1.1