Google Analytics jest fajnym, użytecznym produktem,
udostępniającym wiele wartościowych raportów. Ma jednak dwie
wady.
Pierwsza jest ideowa - używając Analytics dajemy firmie Google
bardzo drobiazgowe informacje na temat naszego serwisu. W przypadku
hobbistycznego bloga nie jest to szczególny problem, w przypadku
realnego biznesu zaczyna ważyć, gdy dochodzi do tego uczestnictwo w
kampaniach reklamowych (tak Google, jak innych), powody do niepokoju
mogą być zupełnie realne. A już zupełnie ślisko się robi, gdy nasza
usługa jest w jakiejś mierze konkurencyjna dla którejś z usług Google.
Drugi problem jest praktyczny - coraz bardziej zauważalna grupa ludzi
blokuje skrypty Analytics (traktując to jako element troski o swoją
prywatność). Widać to szczególnie wśród czytelników tekstów
technicznych.
Ba - ale co zamiast Analytics?
Analizatory logów
Tradycyjne rozwiązanie to użycie analizatora logów. Do wyboru jest
chmara produktów, od słono płatnych i agresywnie reklamowanych,
po darmowe. Wymienianie długiej listy nazw sobie daruję, z kilku
darmowych narzędzi, którym się przyjrzałem, najsensowniejszym są
AWStats.
Analizatory logów są zwykle dość kłopotliwe w konfiguracji i
utrzymaniu (zwłaszcza gdy chodzi o zachowywanie danych historycznych i
koordynację uruchamiania analiz z rotowaniem logów). Co gorsza -
najczęściej oferują dość ubogie raporty ograniczone do podstawowych
statystyk.
Inny kłopot: uwzględnianie klientów nie używających JavaScriptu z
zalety (łapiemy użytkowników NoScriptu, przeglądarek tekstowych czy
osoby blokujące skrypty statystyczne) staje się wadą, bo wyniki są
zaburzone przez odwiedziny botów (o ile odwiedziny robaczków Google
czy Yahoo gros analizatorów poprawnie odcedzi, o tyle z mniej
popularnymi jest już dużo gorzej).
Wbrew częstej opinii, analizatory logów wcale nie raportują
wszystkich wyświetleń. Pomijane są strony cacheowane na komputerach
użytkowników i przez proxy WWW. Ma to znaczenie tylko, gdy
cacheowanie dopuszczamy - ale serwis o większym obciążeniu powinien
to robić. Rozwiązujemy to sztuczkami typu specjalny nie cacheowany
obrazek (i wykorzystanie pola referer), ale to jeszcze jeden
poziom komplikacji.
Konkurencyjne usługi
Analytics oczywiście nie jest samotną wyspą. Istnieje pokaźna grupa
podobnych usług (serwisy zbierające dane dzięki wklejonym skryptom i
udostępniające robione na ich bazie raporty) - z bardziej
interesujących: pMetrics, SiteMeter, StatCounter,
W3Counter czy 103bees.
Znowu - jest to delegowanie istotnych danych do zewnętrznej firmy. Są
to całkiem fajne narzędzia do używania prywatnego czy w małych
projektach ale wykorzystywanie w poważniejszej działalności może
budzić wątpliwości. Pojawiają się też obawy o trudności techniczne,
czy nawet o możliwość upadku takiej firmy.
No i - usługi te są płatne, przynajmniej przy poważniejszym
wykorzystaniu, mają też różne ograniczenia co do skali wykorzystania i
zakresu dostępnych danych (np. przycinanie historii).
Samodzielnie hostowany
Co zostaje? Samodzielnie hostowane narzędzie, uruchamiane z naszego
własnego serwisu i zapisujące dane w naszej własnej bazie danych.
Popularnymi komercyjnymi produktami są Mint czy Stuffed Tracker.
A do napisania tej notki zmotywowała mnie chęć wspomnienia o
Piwiku. Piwik jest darmowy, open-source i wyraźnie
próbuje zreprodukować podstawową funkcjonalność Analytics (z kilkoma
elementami wyglądu włącznie).
Wada samodzielnego hostingu: szybko rosnąca baza danych, o którą
trzeba się troszczyć (backup, ewentualne archiwizacje starszych
danych, strojenie wydajności).
Ciekawostki
Interesującą ciekawostką jest Vendor Discovery Tool, które
raportuje czy (i jakie) z popularnych narzędzi analitycznych wykorzystuje zadana
strona.
Hmm, hmm, www.pkobp.pl używa Google Analytics. Może ja mam
paranoję?
Możliwe jest także gromadzenie statyk w sposób "hybrydowy" czyli: 1) pierwszy stopień to wstawka JavaScript powodująca odwołanie do naszego hosta gromadzącego statystyki np: stats.moja.domena.pl, mapowanie URLi w skali 1:1 2) drugi stopień to analiza logów z hosta stats.
Co przez to zyskujemy ? - własna wstawka JS - zachowujemy statystyki dla siebie - mamy ochronę przed botami - nie blokują nas adblocki i inne noscript'y :)
Wady: - konieczność postawienia własnego vhosta obsługującego gromadzenie statystyk (zazwyczaj osobny "access log"). - każde załadowanie strony WWW to 2 requesty do fizycznej maszyny (jeżeli strony i statsy są na jednym serwerze)
Aha, zapomniałem napisać: proszę Webalizera dodać do listy :)
Webalizera (a także analoga, modlogana i parę innych) pominąłem celowo - uważam, że AWStats jest lepsze. Oczywiście de gustibus...
Logi z Awstatsów zajmują koszmarną ilość miejsca na serwerze :)
Webalizer nadal wymiata ;) i nie powoduje żadnych opóźnień w ładowaniu strony, co robi np google-analytics...