Single Post Background

Prawdziwy czas na stronie w Google Analytics

CEO

22 grudnia 2010

Czas czytania: 4 min

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:)

Czas na stronie w Google Analytics

Powrót do podstaw

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.

Wykorzystanie funkcji onbeforeunload

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:

1. <script type=”text/javascript”>
2. var prawdziwybouncerate_timer=0;
3. setTimeout(’prawdziwybouncerate_timer=1′, 10000)
4. function prawdziwybouncerate_zamykane() {
5. if (prawdziwybouncerate_timer==1)
6. {
7. _gaq.push([’_trackEvent’, 'Zamykanie’, 'Strona’, location.pathname])
8. }
9. }
10. window.onbeforeunload = prawdziwybouncerate_zamykane;
11. </script>

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).

Co się dzieje w kolejnych linijkach kodu?

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.

Implementacja na naszym blogu

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.

Średni czas na stronie przed i po wprowadzeniu zdarzenia onbeforeunload

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.

Podsumowanie

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.

TAG picture

Tagi:

Historie sukcesów

Optymalizacja GTM, która odblokowała skalowalność badań HotJar
Zobacz case
Współpraca w modelu opieki analitycznej
Zobacz case
Lepsza jakość danych przy tym samym pokryciu transakcji
Zobacz case

Ostatnie wpisy na blogu

| 21 kwietnia 2026
Zlecenie analitykowi pytania o ilość ruchu z poszczególnych źródeł w marcu 2026 wydaje się proste z biznesowego punktu widzenia. Odpowiedź analityczna powinna być równie ...
Czytaj więcej
| 14 kwietnia 2026
To typowy wykres ruchu organicznego w 2025 roku. Szczególnym momentem jest marzec 2025, kiedy wprowadzono AI Overviews. Od tego czasu wyświetlenia w wynikach wyszukiwania Google ...
Czytaj więcej
| 12 kwietnia 2026
Limango rozwija analitykę w e-commerce, dzięki czemu osiąga 50% wzrost współczynnika konwersji. Branża: E-commerce Klient: Limango Polska (Wrocław, Polska) Strona: www.limango.pl ...
Czytaj więcej