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.
Rozmowa, którą prowadzę ostatnio najczęściej przy raportowaniu rocznym, wygląda tak: klient chce porównania do okresu z 2022 roku, a ja mam do dyspozycji tylko to, co zostało w GA4 i w cudzych plikach Excela.
Powód jest prosty i już nieodwracalny. Stare właściwości Universal Analytics przestały zbierać dane w lipcu 2023 roku, a rok później zniknęły razem z historią i dostępem przez API. Kto nie wyeksportował danych wcześniej, dziś ich nie odzyska — nie ma kopii zapasowej po stronie Google, do której da się napisać z prośbą.
Piszę o tym nie po to, żeby pokiwać głową nad przeszłością, ale dlatego, że ta sama pułapka czeka w GA4. Domyślne ustawienia usługi też mają swoje limity, tylko mniej osób o nich wie.
Warto rozdzielić dwie straty, bo mają różne skutki dla pracy.
Pierwsza to surowe dane: sesje, źródła ruchu, transakcje z lat sprzed migracji. Ich nie ma i już nie będzie. Praktycznie oznacza to, że dla większości kont, które przejmuję, historia zaczyna się w momencie poprawnego uruchomienia GA4 — czyli często dopiero w 2023 roku, a bywa, że później, jeśli wdrożenie było wadliwe.
Druga strata jest cichsza: konfiguracja. Definicje celów, filtry, listy wykluczonych adresów IP, ustawienia atrybucji, tabele powiązań z kampaniami. To wiedza o tym, jak liczono, a bez niej stare liczby i tak byłyby nieporównywalne z nowymi.
Wniosek na przyszłość jest jeden i brzmi banalnie: dane, których nie masz u siebie, nie są Twoje. Każde narzędzie w chmurze ma politykę retencji i któregoś dnia z niej skorzysta.
To ustawienie potrafi zaskoczyć zespół, który jest przekonany, że skoro dane są w GA4, to są na zawsze.
W standardowej wersji usługi dane zdarzeń przechowywane są przez ograniczony czas — domyślnie krócej, niż większość ludzi zakłada, a maksymalne dostępne okno jest wyraźnie krótsze niż w płatnej wersji. Po jego upływie ze szczegółów zostają tylko dane zbiorcze w raportach standardowych.
Konsekwencja jest przewrotna: raporty standardowe pokażą liczby z dawnego okresu, a eksploracja tego samego okresu może już nie zadziałać, bo eksploracje sięgają do danych szczegółowych. Widzę na kontach, które przejmuję, że dokładnie tego nikt nie sprawdza, dopóki nie potrzebuje przekroju rok do roku.
Pierwsza rzecz, którą robię na nowym koncie, jest więc dwuklikowa: wchodzę w ustawienia przechowywania danych i ustawiam najdłuższe dostępne okno. Zmiana nie działa wstecz, więc każdy tydzień zwłoki to bezpowrotna strata.
Drugą rzeczą jest sprawdzenie, czy w raportach nie pojawiają się komunikaty o zastosowaniu danych szacunkowych. Przy dużym ruchu i nietypowych przekrojach GA4 potrafi zwrócić wartości przybliżone — do archiwum trafiają wtedy liczby, które nie zgodzą się z niczym.
Jeśli miałbym wskazać jedną rzecz, która oddziela konta zabezpieczone od niezabezpieczonych, to jest to właśnie to połączenie.
Eksport z GA4 do BigQuery jest dostępny w wersji standardowej, konfiguruje się go w administracji usługi i po włączeniu zapisuje dane zdarzeń w formie surowej, poza polityką retencji samego GA4. Od tego momentu masz swoją kopię, na własnym projekcie, z własnym rozliczeniem.
Trzy rzeczy, o których warto wiedzieć przed uruchomieniem. Eksport nie działa wstecz — dostaniesz dane od dnia włączenia, nie z przeszłości. Dzienny limit eksportowanych zdarzeń w wersji bezpłatnej istnieje i przy dużym serwisie da się go przekroczyć, co kończy się wstrzymaniem eksportu. I trzecia: składowanie kosztuje, choć przy typowym sklepie czy stronie usługowej mówimy o kwotach, które w budżecie mediowym są niewidoczne.
Klientom, którzy nie mają zespołu technicznego, ustawiam to jako minimum: eksport włączony, dane leżą, nikt ich na razie nie analizuje. Sam zapis ma wartość, nawet jeśli przez rok nikt tam nie zajrzy.
Nie każdy klient zgodzi się na projekt w chmurze i nie na każdym koncie warto to forsować. Wtedy robię wersję ubogą, ale skuteczną.
Raz w miesiącu, po zamknięciu poprzedniego miesiąca, wyciągam ustalony zestaw przekrojów i zapisuję je w jednym arkuszu z zakładką na miesiąc. Zestaw ustalam raz i nie zmieniam, bo zmiana zestawu psuje porównywalność:
Do tego dokładam surowe wartości, nie tylko wskaźniki. Współczynnik konwersji policzę zawsze, jeśli mam licznik i mianownik — odwrotnie już nie.
Ten zrzut zajmuje mi kwadrans miesięcznie. Kiedy za dwa lata ktoś zapyta o dane z pierwszego kwartału tego roku, będzie to jedyna odpowiedź, jaką ktokolwiek będzie w stanie dać.
Liczba bez informacji, jak została policzona, jest bezużyteczna. Ta lekcja z wygaszenia starej analityki wraca do mnie za każdym razem, gdy próbuję zrozumieć czyjeś stare raporty.
Prowadzę więc dla każdego konta prosty dokument, który uzupełniam przy każdej zmianie w konfiguracji. Zapisuję w nim: listę zdarzeń oznaczonych jako kluczowe wraz z datą oznaczenia, definicje odbiorców i wymiarów własnych, ustawienia atrybucji i okna konwersji, powiązania z Google Ads i Search Console, listę filtrów danych oraz wykluczeń ruchu wewnętrznego.
Do tego zrzuty ekranu najważniejszych ustawień. Wygląda to nieelegancko, ale ratowało mnie już wielokrotnie przy pytaniu „dlaczego w kwietniu liczby wyglądają inaczej”.
Osobno zapisuję daty każdej większej ingerencji — wdrożenia nowego tagu, przebudowy sklepu, zmiany banera zgód. Bez tej listy każde wahanie w danych wygląda na zjawisko rynkowe, a bardzo często jest efektem naszej własnej zmiany dwa dni wcześniej.
Ostatni element, o którym przypominam sobie zwykle w najgorszym momencie: przy odejściu pracownika.
Sprawdzam, czy właścicielem usługi GA4 jest konto firmowe, a nie prywatne konto osoby, która wdrażała pomiar trzy lata temu. To samo dotyczy projektu w chmurze, kontenera menedżera tagów i plików z archiwum. Dostęp powinien mieć co najmniej dwie osoby po stronie klienta, w tym ktoś, kto w firmie zostanie.
Archiwum trzymam w miejscu, do którego klient ma dostęp niezależnie od współpracy z agencją. Kopia danych, którą po zakończeniu umowy zabiera ze sobą wykonawca, jest z punktu widzenia klienta warta tyle, co jej brak.
I rzecz najprostsza: sprawdzam raz na kwartał, czy zrzuty faktycznie się wykonują. Procedura, której nikt nie kontroluje, po pół roku istnieje wyłącznie w dokumentacji.
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 |