Inspiracją do napisania poniższego artykułu był post Magicznego SEO i SEM dotyczący prawdziwego bounce rate i time on site. Zaciekawieni jego treścią postanowiliśmy sami zagłębić się w temacie. Przyszedł czas na przedstawienie efektów poszukiwań i implementacji:)
W poprzednim tygodniu w artykule o bounce rate pisaliśmy o pewnej modyfikacji kodu śledzącego (GATC), która „poprawia” jego definicję, tak aby współczynnik odrzuceń był jeszcze lepszą miarą oceny jakości naszego serwisu. Słowem przypomnienia chodzi o to, aby odrzucenie liczone było nie jako jednoosłonowa wizyta (jak jest to standardowo), lecz jako wizyta użytkownika, który po wejściu na witrynę spędza na niej bardzo krótki czas (np. mniej niż 10 sekund) i w czasie wizyty nie podejmuje żadnych akcji (przechodzi na inną stronę w ramach serwisu, ściąga plik itp.).
Jeżeli pamiętasz na jakiej zasadzie działa Google Analytics pewnie zapytasz teraz, co z użytkownikami, którzy wyłączają przeglądarkę, po opuszczeniu Twojej strony? W końcu Google Analytics mierzy czas spędzony na stronie odczytując ciasteczka, a dokładniej mówiąc czasy załadowania kolejnych stron. Jeżeli użytkownik całkiem zamyka przeglądarkę lub przechodzi na inną witrynę, to nie jest obliczany czas pomiędzy kolejnym żądaniem i obliczenie czasu spędzonego na ostatniej (przed zamknięciem przeglądarki czy przejściem na inną witrynę) stronie staje się niemożliwe.
W związku z tym również statystyki średniego czasu spędzonego w witrynie zostają zaniżone, ponieważ system nie rejestruje czasu spędzonego na ostatniej przed zamknięciem przeglądarki stronie. Podobnie dzieje się z użytkownikami, którzy zostali odrzuceni (lub raczej odrzucili nasz serwis). Dla nich system automatycznie przypisuje wartość 0 czasu spędzonego na stronie. Z czym również wiąże się zaniżony średni czas spędzony w ramach danej witryny.
Bardzo dobrze powyższy problem opisany został przez Avinasha Kaushika w artykule zatytułowanym Standard metrics revisited: Time on page and time on site.
Na to również jest sposób, który polega na odpowiedniej modyfikacji kodu śledzącego. Pomysł pochodzi z Magiczne SEO i SEM.
W związku z tym, że Google Analytics zbiera dane na podstawie tagów JavaScript, odpowiednia modyfikacja kodu śledzącego z wykorzystaniem funkcji tego języka pozwala na zaawansowaną modyfikację śledzenia. Jedną z takich możliwości daje zdarzenie object.onbeforeunload. Na Conversion blog zastosowaliśmy ją w sposób następujący:
Powyższa sekcja kodu, podobnie jak samo setTimeout, które omawiałem w artykule o bounce rate powinna znaleźć się przed samym zamknięciem sekcji <body>. Podyktowane jest to faktem, że 10 sekund dla odrzucenia powinno zacząć odliczać się jak najpóźniej – po załadowaniu całej strony. Jeżeli kod zostałbym umieszczony na początku, to może dojść do sytuacji, że strona nie zdąży załadować się w całości, a użytkownik już będzie liczony jako nie-odrzucenie (bo w końcu minęło 10 sekund).
Powyższy skrypt wykonuje następującą akcję – dla wizyt trwających więcej niż 10 sekund wywołuje zdarzenie: _gaq.push([’_trackEvent’, 'Zamykanie’, 'Strona’, location.pathname]) . Dzięki temu tworzy on kolejny stempel czasu, dla którego może być mierzona długość odwiedzin pojedynczej strony jak również całej wizyty na stronie.
Podpatrując pomysł Magicznego SEO i SEM, sami postanowiliśmy zaimplementować to rozwiązanie u siebie – było to pod koniec lipca. Porównując następnie miesiące lipiec i sierpień można zauważyć znaczny wzrost średniego czasu spędzonego na stronie.
Jak widzisz, na naszym blogu średni czas na stronie zwiększył się ponad 3 krotnie po wprowadzeniu omawianego śledzenia zdarzeń. Taki wzrost z pewnością podyktowany jest tym, że blogi są specyficznymi serwisami tzn. charakteryzują się bardzo wysokim współczynnikiem odrzuceń, w jego standardowej definicji, stąd wprowadzenie omówionej modyfikacji kodu śledzącego spowodowało tak duży wzrost.
Mam nadzieję, że Wy również zaczerpniecie z tego pomysłu i zaimplementujecie powyższe rozwiązanie w swoim serwisie. Oczywiście nie jest one doskonałe – głównie z tego względu, o którym pisał Michał Małaj w komentarzu do naszego artykułu o bounce rate. Wygaśniecie sesji spowoduje, że ten sam użytkownik będzie oznaczony w dwóch sesjach, co więcej w każdej z czasem 0.
Dlaczego?
Google Analytics (standardowo) po 30 minutach nieaktywności kończy sesję (przeczytaj o tym, jak Google Analytics wylicza czas trwania sesji). Co więc, jeżeli użytkownik otworzy naszą stronę (powiedzmy A), nie wykona żadnej aktywności przez 2h (po pójdzie spać) i wróci po 2h do naszego artykułu, następnie spędzi tam 10 minut i zamknie stronę? Wtedy będziemy mieli 2 wizyty do strony A z których obie będą trwały 0 (bo nie ma pomiędzy czym zmierzyć czasu – omawiany kod nie został ponownie załadowany). Normalnie (bez tego kodu), mielibyśmy jedną wizytę trwającą 0.
Najważniejsze jest, abyś to Ty czuł się z zaimplementowana metodą dobrze i potrafił z jej pomocą podejmować trafne decyzje dotyczące swojej obecności w internecie. Z pewnością jest jeszcze kilka rozwiązań dotyczących omawianego problemu pomiaru czasu na stronie wyjścia i każda ma swoje plusy i minusy. Jeżeli masz swoje ulubione lub takie, które Twoim zdaniem jest najlepsze, to proszę podziel się z nami:)
Jeśli potrzebujesz audytu konfiguracji narzędzi analitycznych (Google Analytics, AT Internet, Adobe Analytics czy Webtrends) lub chcesz rozwijać analitykę internetową wewnątrz organizacji skontaktuj się z Conversion by poznać nasze podejście. Więcej o analityce internetowej dowiesz się pobierając przygotowane przez nas bezpłatne poradniki, raporty oraz case studies.
Historie sukcesów
Ostatnie wpisy na blogu