Skocz do linków, Skocz do treści

Nowy skrypt Google Analytics – ga.js

21 grudnia 2007 12:51. Autor: Robert Drózd. 6 komentarzy

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:

Błąd walidacji nowego Google Analytics o treści: Document type does not allow element "script" here.

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:

Zapisz się na kanał RSS bloga i dołącz do ponad 1500 czytelników RSS.

Zostań fanem WebAudit na Facebooku.

Komentarze czytelników

Śledź komentarze do tego artykułu: format RSS
  1. Mielno

    Pożyjemy zobaczymy – dopiero w ostrym „praniu” okaże się co to jest warte.

  2. Mariusz Gąsiewski

    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.

  3. nick

    > ?google-analytics.com/ga.js?
    > type=?text/javascript?%3E%3C/script%3E?));

    to ma tak wygladac, z tymi „krzczkami”, np. %3E?

  4. Robert Drózd

    Tak, te znaczki mają być. Najlepiej jednak upewnić się u źródła czyli w pomocy Google.

  5. nick

    Dzieki serdeczne:)

  6. Adam Rybicki

    Czy mogę ten kod wkleić bez większych problemów do dokumentu wysyłanego jako application/xhtml+xml z doctype xhtml1.1

Zostaw komentarz

W komentarzu można (choć nie trzeba) używać podstawowych znaczników XHTML. Komentarze zawierające w podpisie słowa kluczowe mogą zostać potraktowane jako spam i usunięte.