Modelowane listy odbiorców nie zawierają konkretnych osób, tylko prawdopodobieństwa. Wyjaśniam, jak powstają, gdzie ich szukać w panelu i jak czytać ich raporty.
To pytanie dostaję od kilku miesięcy częściej niż jakiekolwiek inne, a od kilku tygodni już codziennie. Powód jest prozaiczny: od jutra Universal Analytics przestaje zbierać dane, więc każdy, kto zwlekał z porównaniem obu usług, robi to teraz — i zderza się z liczbami, które się nie zgadzają.
Skala rozbieżności bywa niepokojąca. Ten sam serwis, ten sam miesiąc, dwie usługi działające równolegle, a liczba sesji w GA4 wyraźnie niższa. Pierwsza reakcja jest zawsze taka sama: coś jest zepsute we wdrożeniu.
Zwykle nie jest. W większości przypadków, które sprawdzałem, obie liczby są policzone poprawnie — tylko liczą co innego. Chcę więc przejść po kolei przez powody tej różnicy, bo dopóki się ich nie rozumie, nie da się sensownie raportować, a od jutra nie będzie już do czego porównywać.
To najważniejszy powód i sam z siebie wyjaśnia dużą część rozbieżności.
W Universal Analytics sesja kończyła się nie tylko po okresie bezczynności, ale też w kilku innych sytuacjach — o północy oraz przy zmianie źródła ruchu w trakcie wizyty. Ta druga reguła jest kluczowa: jeśli użytkownik wszedł na stronę z wyszukiwarki, a potem w tej samej wizycie kliknął Twoją reklamę, Universal Analytics rozpoczynał nową sesję. Jedna wizyta, dwie sesje.
GA4 tego nie robi. Sesja jest zdarzeniem rozpoczynanym przy pierwszej aktywności i kończonym po okresie bezczynności — bez sztucznego cięcia o północy i bez rozpoczynania nowej sesji przy zmianie kampanii.
Wniosek jest prosty: Universal Analytics systematycznie zawyżał liczbę sesji względem tego, co potocznie rozumiemy przez wizytę. GA4 liczy bliżej intuicji, ale liczba wychodzi niższa. Żadna z nich nie jest błędna, są po prostu nieporównywalne.
Drobiazg, który potrafi zrobić kilka procent różnicy i o którym łatwo zapomnieć.
Obie usługi kończą sesję po okresie braku aktywności, ale wartość domyślna nie musi być taka sama, a w Universal Analytics była często zmieniana ręcznie — bywało, że kilka lat temu, przez osobę, która już w firmie nie pracuje. Warto sprawdzić to ustawienie w obu usługach, zanim uzna się różnicę za tajemniczą.
Przy okazji: skrócenie albo wydłużenie tego okna zmienia liczbę sesji, ale nie liczbę użytkowników. Jeśli chcesz porównywać usługi, użytkownicy są mniej wrażliwą miarą niż sesje — choć i tam czekają pułapki, o których niżej.
Universal Analytics w wersji bezpłatnej stosował próbkowanie przy większych zbiorach danych w raportach niestandardowych. GA4 podchodzi do tego inaczej i w części raportów korzysta z modelowania.
Praktyczna konsekwencja jest taka, że przy dużym ruchu obie usługi mogą podawać wartości, które nie są prostym zliczeniem wszystkich zdarzeń. Nie jest to powód do niepokoju, ale trzeba o tym wiedzieć, gdy ktoś w firmie porównuje raport z panelu z liczbą zamówień w systemie sklepowym i oczekuje zgodności co do sztuki.
Ten powód rośnie w znaczeniu i bywa niedoszacowany.
Jeśli serwis ma poprawnie wdrożony banner zgód, część użytkowników nie zostanie zmierzona wcale albo zostanie zmierzona w ograniczonym zakresie. Sposób, w jaki tryb uzyskiwania zgody współpracuje z każdą z usług, oraz to, kiedy dokładnie tag jest uruchamiany, potrafią się w obu wdrożeniach różnić — zwłaszcza jeśli GA4 dodawano później, przy innym stanie konfiguracji bannera.
Warto to sprawdzić w pierwszej kolejności, bo tu różnica bywa nie kilkuprocentowa, a bardzo duża, i jest to jedyny powód z tej listy, który realnie oznacza problem we wdrożeniu, a nie różnicę definicji.
Dwa niezależne mechanizmy, które warto sprawdzić razem.
Po pierwsze, blokowanie skryptów analitycznych przez wtyczki i przeglądarki dotyka obu usług, ale nie zawsze w tym samym stopniu — listy blokowania są aktualizowane niezależnie i traktują poszczególne domeny i identyfikatory różnie.
Po drugie, filtry i wykluczenia. W Universal Analytics prawie każdy serwis miał przez lata narosłe filtry: wykluczenia ruchu wewnętrznego po adresach IP, wykluczenia botów, filtry na subdomeny. GA4 to osobna usługa z osobną konfiguracją i te reguły nie przenoszą się automatycznie. Zdarza się więc odwrotność typowej sytuacji — GA4 pokazuje więcej, bo nie wyklucza ruchu z biura klienta.
Odpowiedź na pierwsze pytanie: obu, ale nigdy w jednym zdaniu.
Nie da się złożyć jednego szeregu czasowego z danych Universal Analytics do połowy roku i danych GA4 od połowy roku. Wykres wyjdzie z uskokiem, którego nikt nie będzie umiał wyjaśnić za pół roku. Lepiej trzymać dwa osobne zestawy i wyraźnie oznaczyć moment przejścia.
Co zrobić teraz, w ostatnim dniu, kiedy jedno i drugie jeszcze działa:
I rzecz najważniejsza, którą powtarzam przy każdej takiej rozmowie: nie porównuj GA4 z Universal Analytics dłużej, niż to konieczne. Od jutra jedna z tych liczb przestaje się aktualizować, a energia wydana na uzgadnianie przeszłości jest energią odjętą od nauczenia się nowego narzędzia. Sensowniejsze jest zbudowanie w GA4 raportów, które odpowiadają na Twoje pytania biznesowe, niż odtworzenie w nim widoków, do których przywykłeś przez dziesięć lat.
Używamy plików cookies, aby ułatwić Ci nawigację oraz wykonywanie określonych funkcji. Szczegółowe informacje o wszystkich plikach cookies znajdziesz w każdej kategorii zgody poniżej.
Pliki cookies oznaczone jako "Niezbędne" są przechowywane w Twojej przeglądarce, ponieważ są one kluczowe dla zapewnienia podstawowych funkcji strony.
Używamy również plików cookies firm trzecich, które pomagają nam analizować, w jaki sposób korzystasz z tej strony, zapamiętują Twoje preferencje oraz dostarczają treści i reklamy odpowiednie dla Ciebie. Te pliki cookies będą przechowywane w Twojej przeglądarce tylko za Twoją uprzednią zgodą.
Możesz zdecydować, czy chcesz włączyć lub wyłączyć niektóre bądź wszystkie te pliki cookies, jednak wyłączenie niektórych z nich może wpłynąć na Twoje doświadczenia podczas przeglądania strony.
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __cf_bm | 13 minutes | Cloudflare bot management — distinguishes humans from bots. |
| rc::* | Persistent | Google reCAPTCHA — localStorage holding anti-bot challenge state. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| wpEmojiSettingsSupports | Session | WordPress — sessionStorage flag caching whether the browser can render emoji (feature detection). |
| ytidb* | Persistent | YouTube — IndexedDB storing playback/search state for embedded videos. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| _ga_* | 400 days | Google Analytics 4 — persists session state per property. |
| _ga | 400 days | Google Analytics — distinguishes unique users via a client id. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| NID | 183 days | Google — stores preferences for personalized ads. |
| fr | 90 days | Meta — encrypted Facebook id and browser id for ads. |
| _gcl_au | 90 days | Google AdSense/Ads — experiments with advertising efficiency (conversion linker). |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __Secure-YNID | 180 days | |
| YSC | Session | |
| __Secure-ROLLOUT_TOKEN | 180 days | |
| VISITOR_INFO1_LIVE | 180 days | |
| VISITOR_PRIVACY_METADATA | 180 days | |
| datr | 400 days | |
| sb | 400 days | |
| wd | 7 days |