Dlaczego Google Analytics nie mówi prawdy o źródłach odwiedzin i jak to naprawić

30.09.2019

Kiedy w czasie szkoleń z Google Analytics pada pytanie o najczęściej używane raporty, jednej odpowiedzi mogę być pewna: raport źródeł odwiedzin. Nie znam nikogo, dla kogo kluczową informacją nie byłoby to, skąd pochodzi ruch na jego stronie, zwłaszcza jeśli regularnie inwestuje w reklamę. Wydawałoby się więc, że raport o źródłach odwiedzin powinien być prosty i jasny. Tymczasem niemal wszystko, co w nim widzimy, nie jest tym, czym się wydaje.

Źródła w Google Analytics

Rzeczywiście raport wygląda niewinnie. Po lewej stronie źródło i medium, po prawej podstawowe metryki efektywności. Gdzie jest więc miejsce na komplikacje? Zacznijmy od przypomnienia, jak co do zasady rozumiemy poszczególne typy źródeł:

  • (direct) / (none) — wejścia bezpośrednie (odwiedziny w wyniku bezpośredniego wpisania adresu strony do przeglądarki internetowej), ale także wszystkie wejścia z nierozpoznanych źródeł (więcej o tym w dalszej części artykułu);
  • organic — ruch pochodzący z wyników naturalnych (niepłatnych) w wyszukiwarkach, np. google / organic oznacza ruch z wyników naturalnych w Google;
  • google / cpc — ruch pochodzący z kampanii Google AdWords lub DoubleClick, w przypadku autotagowania rozpoznawany na podstawie parametrów gclid, dclid, gclsrc. W przypadku Google Analytics 360 zintegrowanego z usługami DoubleClick, ruch z tych kampanii zostanie rozpoznany jako dfa / cpm (dla DCM) oraz  dbm / cpm (dla DBM);
  • referral — ruch pochodzący z linku do Twojej witryny, zamieszczonego na innej stronie internetowej;
  • w przypadku użycia parametrów UTM w kampaniach, Google Analytics wyświetla w raportach ich wartości, np. wejście za pośrednictwem linka otagowanego jako utm_source=email&utm_medium=newsletter będzie widoczne w raporcie jako: email / newsletter.

Google czerpie informacje o źródle przede wszystkim z tagów UTM i z referrera, czyli z adresu strony przekierowującej do nas ruch (tutaj więcej na ten temat). Pamiętaj, że w niektórych przypadkach kwestie techniczne (ale też niektóre skracarki adresów) mogą spowodować zagubienie tych informacji.

Wciąż wygląda prosto? Idźmy zatem dalej.

Czym tak naprawdę jest (direct) / (none)?

Jak już wspomniałam, (direct) / (none) wcale nie musi oznaczać bezpośredniego wejścia na stronę (wpisania jej adresu do przeglądarki lub skorzystania z zakładki). Tak naprawdę Google wrzuca do tego „worka” także wszystkie odwiedziny, dla których nie jest w stanie znaleźć ani tagów UTM, ani informacji o referrerze. Może to dotyczyć m.in.:

  • nieotagowanych linków w aplikacjach,
  • nieotagowanych linków w mailach, klikniętych w klientach pocztowych (w przypadku kliknięcia takiego linka w webowej aplikacji pocztowej, np. poczta.onet.pl, to domena tej aplikacji zostanie uznana za źródło),
  • nieotagowanych linków klikniętych w komunikatorach,
  • przejść ze stron z HTTPS na te z HTTP,
  • nieotagowanych linków w dokumentach PDF,
  • linków skróconych w niektórych skracarkach.

Taki ruch określa się czasem jako „dark traffic” lub „dark social”. Więcej na ten temat przeczytasz tutaj i tutaj.

Twój ruch bezpośredni jest zaniżony

Ale jak to: zaniżony? Przecież właśnie przytoczyłam sporo przykładów na „niesłuszne” przypisanie do niego wizyt, które wcale nie są bezpośrednie! Okazuje się jednak, że to nie koniec „zawirowań”.

Otóż Google stosuje bardzo kontrowersyjną metodologię określania źródła odwiedzin. Informacja o źródle wejścia na stronę ma standardowo aż 6-miesięczny okres ważności. Przy kolejnej wizycie tego samego użytkownika jest nadpisywana… chyba że trafił do nas bezpośrednio! W tym przypadku wizyta zostanie przypisana ostatniemu niebezpośredniemu źródłu odwiedzin (czyli kampanii, wyszukiwarce czy witrynie odsyłającej). Ale to nie koniec niespodzianek. Przy każdym takim „nadpisaniu” wspomniany 6-miesięczny okres ważności rozpoczyna się na nowo.

W rezultacie liczba sesji ze źródła (direct)/(none) jest zaniżona, z korzyścią dla odwiedzin z kampanii, wyszukiwarek i odnośników, a w raportach możesz widzieć wejścia z dawno już zakończonych kampanii.

Bardzo dobre artykuły na ten temat znajdziesz tutaj i tutaj.

Skąd taka metodologia? Google argumentuje, że jeśli wizytę bezpośrednią poprzedza wizyta z kampanii, można śmiało założyć, że użytkownik właśnie dzięki kampanii zyskał świadomość istnienia naszej strony (lub sobie o niej przypomniał). Stąd dodatkowa „nagroda” dla kampanii. W przypadku niewielkich, niezbyt rozpoznawalnych biznesów ma to nawet sens, ale jeśli Twoja marka i adres URL są szeroko znane i ludzie naprawdę często wchodzą na Twoją stronę „z palca”, metodologia Google przestaje być Twoim sprzymierzeńcem.

„Sesje bezpośrednie” nie zawsze są bezpośrednie

Jak zatem sprawdzić, które wejścia rzeczywiście pochodzą z raportowanych źródeł, a które w rzeczywistości są bezpośrednie? Kilka miesięcy temu Google Analytics dodało nowy wymiar dodatkowy „sesja bezpośrednia”, który miał udzielić odpowiedzi na to pytanie. Po dołączeniu go do raportu zobaczymy kolumnę z wartościami „Yes” i „No”. Wydawałoby się więc, że tam, gdzie widzimy „Yes” mamy do czynienia z sesją bezpośrednią, prawda? I prawie tak jest. Prawie, bo jak zwykle diabeł tkwi w szczegółach. Spójrzmy na definicję „sesji bezpośredniej” – trudno ją znaleźć w Pomocy Google Analytics, ale można się doszukać w dokumentacji BigQuery (pod hasłem: trafficSource.isTrueDirect):

TRUE, jeśli źródło sesji było bezpośrednie (to znaczy, że użytkownik wprowadził adres URL Twojej witryny w przeglądarce lub przeszedł na Twoją stronę przez zakładkę). W tym polu również znajdzie się wartość TRUE, jeśli dwie kolejne, ale różne sesje mają identyczne szczegóły kampanii. W przeciwnym razie zawiera wartość NULL.

I jeszcze w wersji angielskiej:

True if the source of the session was Direct (meaning the user typed the name of your website URL into the browser or came to your site via a bookmark), This field will also be true if 2 successive but distinct sessions have exactly the same campaign details. Otherwise NULL.

Czyli: jeśli dany użytkownik dwukrotnie wejdzie na naszą stronę np. z google / organic, po dostawieniu do raportu wymiaru „sesja bezpośrednia” dla jego pierwszej wizyty zobaczymy „No”, a dla drugiej „Yes”.

I znów: można się spierać o zasadność takiej metodologii, ale trzeba z nią żyć.

Jak „naprawić” problem nadpisywania (direct) / (none)?

No dobrze, czy jest zatem sposób, żeby poznać oryginalne źródła odwiedzin, bez całej tej skomplikowanej metodologii? Na szczęście tak, ale też ma swój mały haczyk.

Jeśli korzystamy z Google Analytics w wersji Universal, w panelu administracyjnym (na poziomie usługi) mamy możliwość skrócenia czasu trwania kampanii (czyli właśnie: czasu, w którym Google będzie nadpisywał wejścia bezpośrednie poprzednim niebezpośrednim źródłem) ze wspomnianych 6 miesięcy do nawet 0 minut. Szczegółowy artykuł na ten temat znajdziesz tutaj. Jak to się sprawdza i gdzie ten haczyk?

Przetestowałam 0-minutowy czas trwania kampanii na średniej wielkości stronie i rzeczywiście zaobserwowałam istotny wzrost wejść bezpośrednich i zbliżenie rozkładu źródeł do tego, który widać w innych narzędziach analitycznych. Ale wydarzyło się coś jeszcze: dość mocno zauważalne zwiększenie liczby sesji, połączony ze spadkiem średniego czasu w witrynie i średniej liczby stron na sesję.

Skąd ten efekt? Przypomnijmy sobie, fragment definicji sesji:

Istnieją dwa sposoby zakończenia sesji: wygaśnięcie zależne od czasu (po 30 minutach braku aktywności oraz o północy) i  zmiana kampanii (jeśli odwiedzający przybędzie w ramach jednej kampanii, a powróci w ramach innej).

Czyli: jeśli przed upływem 30 minut nieaktywności na stronie dany użytkownik powróci na nią z tego samego źródła, domyślnie Analytics włączy drugie odwiedziny do wcześniej rozpoczętej sesji. 2 wejścia, 1 sesja. Tymczasem, okazuje się, że po upływie czasu trwania kampanii Google Analytics „zapomina” o poprzednim źródle także w tym kontekście. A więc: jeśli ustawimy czas trwania kampanii na 0 minut, to we wspomnianym przykładzie zamiast 2 wejść i 1 sesji będziemy mieli: 2 wejścia i 2 sesje.

Czy to problem? W wielu przypadkach nie, ale jeśli mimo wszystko chcielibyśmy zapobiec takiemu „przecinaniu” sesji, która w standardowej konfiguracji byłaby policzona jako jedna, ustawmy czas trwania kampanii, który jest dłuższy niż większość sesji na naszej stronie. W przypadku testowanej przeze mnie strony najlepiej sprawdziła się 1 godzina, co naraziło na ewentualne „przecięcie” nie więcej niż niecałe 3% sesji.

Co jeszcze może się przydać?

Jeśli na razie nie chcesz (lub obawiasz się) grzebać w ustawieniach kampanii, do „prawdziwej” liczby sesji pochodzących z danego źródła możesz zbliżyć się jeszcze w inny sposób. Jeśli uruchamiasz skrypt Google Analytics za pomocą Google Tag Managera, możesz przesłać w postaci wymiarów dodatkowych informacje o pełnym adresie URL referrera (strony odsyłającej) – liczba sesji z danymi referrerem pokaże „faktyczną” liczbę wizyt z tego odnośnika.

Jak to zrobić? Zdefiniuj odpowiedni wymiar niestandardowy w Google Analytics z zakresem: Sesja. Zapamiętaj jego indeks (numer).

W Google Tag Managerze, w ustawieniach tagu Google Analytics kliknij „Więcej ustawień” > „Niestandardowe wymiary”.W lewym okienku wpisz numer indeksu (ten z poprzedniego kroku), a w prawym stwórz nową zmienną typu Niestandardowy kod JavaScript.

Twoja zmienna powinna wyglądać mniej więcej tak (w miejsce mojastrona.pl wpisz swoją domenę):

function() {
  var rf = {{Referrer}};
  if (rf.includes("mojastrona.pl")) {
  return undefined;
  } else {
    return rf;
  }
}

Co robi ta zmienna? Dla wejść z zewnątrz przesyła do Google Analytics pełnego referrera (adres strony odsyłającej), a w przypadku przejść pomiędzy stronami w Twojej witrynie – wysyła undefined, dzięki czemu sesja zachowuje ciągłość.

To samo można osiągnąć używając zmiennej RegEx Table:

Zmienna undefined value została stworzona z wykorzystaniem “gotowca”:

A co w przypadku otagowanych kampanii?

Wtedy możesz skorzystać z gotowej zmiennej GTM, która zawiera informację o pełnym adresie URL wyświetlonej strony (łącznie z parametrami UTM, domyślnie wycinanymi z raportów Google Analytics). Liczba sesji, w której pojawiły się strony docelowe z danymi tagami UTM pokaże „faktyczną” liczbę wizyt z danej kampanii.

W tym przypadku utwórz wymiar niestandardowy o zakresie Działanie. W Google Tag Managerze, w ustawieniach tagu Google Analytics, w lewym okienku wpisz numer indeksu, a w prawym: {{Page URL}}.


Mam nadzieję, że nie przeraziłam Cię zbytnio tymi wszystkimi zawiłościami metodologicznymi  i udało mi się podpowiedzieć trochę, jak je rozumieć i jak sobie z nimi poradzić.

Miłej analizy (wiarygodnych) źródeł!

Fajne? Przydatne? Udostępnij dalej! Możesz też postawić mi wirtualną kawę 🙂

Postaw mi kawę na buycoffee.to

No Comments
prev next
Leave a comment