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.
Zostały dwa miesiące. 1 lipca 2023 standardowe usługi Universal Analytics przestaną przetwarzać nowe dane — Google zapowiedział to w marcu 2022 i od tej pory nie zmienił terminu. Usługi UA 360 mają czas do lipca 2024, ale to dotyczy niewielkiej części rynku.
Na kontach, które przejmuję albo audytuję, sytuacja wygląda dziś zwykle tak samo: usługa GA4 istnieje, tag jest wpięty, dane o sesjach lecą. I na tym koniec. Konwersje albo nie są w GA4 skonfigurowane wcale, albo są, ale nikt nie sprawdził, czy zliczają to samo, co cele w starym Analyticsie. Za dwa miesiące to przestanie być zaniedbaniem, a stanie się dziurą w raportowaniu, której nie da się uzupełnić wstecz.
Ten tekst jest o jednej rzeczy: o ostatecznej weryfikacji celów. Nie o migracji jako całości, nie o eksploracjach, nie o BigQuery. O tym, żeby po 1 lipca liczby w GA4 nie były dla Ciebie zagadką.
Warto rozdzielić dwie rzeczy. Po pierwsze, zbieranie danych: od 1 lipca standardowa usługa UA przestanie przyjmować nowe odsłony i zdarzenia. Tag może dalej siedzieć w kodzie, ale nic z tego nie wyniknie. Każdy dzień po tej dacie istnieje wyłącznie w GA4 — jeśli konwersja nie jest tam skonfigurowana, ten dzień będzie w raportach pusty na zawsze.
Po drugie, dostęp do danych historycznych — a to nie ta sama data. Google przy ogłoszeniu wygaszenia napisał, że wcześniej przetworzone dane będą dostępne jeszcze przez co najmniej pół roku po zatrzymaniu zbierania. Konkretnej daty usunięcia nie znamy, więc traktuję ten termin jako minimum, nie obietnicę. Najpilniejsza jest konfiguracja, bo tylko ona działa w przód.
Dochodzi rzecz, o której część osób nie wie: od marca Google wdraża automatyczne tworzenie usług GA4 dla tych usług UA, których właściciele sami tego nie zrobili. Jeśli znajdziesz na koncie usługę, której nie pamiętasz z zakładania — możliwe, że powstała właśnie tak. Automat przenosi podstawowe ustawienia, ale nie cele.
Z tej różnicy wynikają wszystkie późniejsze rozjazdy w liczbach.
W Universal Analytics cel jest ustawieniem widoku. Definiujesz go po fakcie — z adresu URL, czasu na stronie, liczby odsłon albo istniejącego zdarzenia. I liczy się maksymalnie raz na sesję.
W GA4 nie ma widoków ani celów w tym sensie. Jest zdarzenie, a konwersja to zdarzenie oznaczone jako konwersja w ustawieniach. Zdarzenie musi więc najpierw zostać wysłane — nie zdefiniujesz konwersji z niczego, tak jak w UA definiowałeś cel z samego adresu strony podziękowania.
Druga różnica dotyczy zliczania. GA4 domyślnie liczy konwersję przy każdym wystąpieniu zdarzenia, nie raz na sesję. Od kwietnia da się to zmienić — w ustawieniach konwersji doszedł wybór metody zliczania, w tym „raz na sesję”. To świeża opcja, więc konta konfigurowane wcześniej stoją na zliczaniu każdego zdarzenia. Jeśli GA4 pokazuje więcej konwersji niż UA, zacznij szukać właśnie tutaj.
Trzecia rzecz to pomiar zaawansowany: przewinięcia, linki wychodzące, wyszukiwanie w witrynie i pobrania plików GA4 zbiera sam. Bywa to pułapką — widzisz zdarzenia w raporcie i uznajesz, że pomiar działa, a zdarzenie odpowiadające Twojemu celowi nie jest wysyłane wcale.
Zaczynam od kartki, nie od panelu GA4. Wchodzę do administracji każdego używanego widoku UA i przepisuję aktywne cele: nazwa, typ, dokładna definicja (adres z dopasowaniem albo kategoria, akcja i etykieta zdarzenia), wartość, ścieżka. Potem sprawdzam w raporcie konwersji, ile ten cel zebrał w ostatnich trzech miesiącach.
Ten ostatni krok jest najważniejszy, bo spora część celów okazuje się martwa. Cel na stronę, której już nie ma. Cel na czas w sesji, dodany kiedyś eksperymentalnie. Dwa cele mierzące to samo pod różnymi nazwami. Liczba zdarzeń oznaczonych jako konwersje w GA4 jest ograniczona, więc nie ma po co zajmować miejsca definicjami, na które nikt nie patrzy.
Przy tym, co zostaje, dopisuję, kto z tego korzysta: raport dla klienta, import konwersji do Google Ads, wewnętrzny arkusz. Cel zasilający optymalizację kampanii ma pierwszeństwo. W asystencie konfiguracji GA4 jest narzędzie proponujące odwzorowanie celów z UA — traktuję je jako podpowiedź, nie jako wykonaną pracę: z celami na zdarzeniach radzi sobie sensownie, z celami na adresach URL słabiej.
Dla każdego celu z listy odpowiadam na jedno pytanie: czy w GA4 istnieje już zdarzenie opisujące to samo działanie użytkownika?
Jeśli tak — na przykład masz wdrożone własne zdarzenie wysyłki formularza — wystarczy w administracji, na liście zdarzeń, przestawić przełącznik oznaczający je jako konwersję. Zliczanie zaczyna się od tego momentu, nie działa wstecz.
Jeśli nie, mam trzy drogi. Najlepsza: wysłać zdarzenie z warstwy danych przez Google Tag Managera, w momencie, w którym działanie faktycznie się wykonało — po odpowiedzi serwera, nie po kliknięciu przycisku. Druga: utworzyć zdarzenie w GA4 na podstawie innego, na przykład odsłony strony podziękowania z warunkiem na adres. To najbliższy odpowiednik celu URL z UA i tak przenoszę proste przypadki. Trzecia: zmodyfikować istniejące zdarzenie, jeśli problemem jest tylko nazwa albo parametr.
Przy okazji ustawiam metodę zliczania — jeśli cel w UA liczył się raz na sesję, a chcę zachować porównywalność, wybieram „raz na sesję”. I wartość: przy konwersji o zmiennej wartości zdarzenie musi wysyłać parametry wartości i waluty, bo puste wartości wyglądają w raportach tak samo jak brak konfiguracji.
Konfiguracja bez sprawdzenia nie jest skończona. Widzę to na większości kont, które przejmuję — ktoś kliknął przełącznik i uznał temat za zamknięty.
Sprawdzam w trzech miejscach, w tej kolejności. Najpierw tryb podglądu GTM i DebugView: wykonuję działanie na stronie i patrzę, czy zdarzenie dociera, z jaką nazwą i parametrami. Potem raport w czasie rzeczywistym, który potwierdza, że zdarzenie widzi usługa, a nie tylko narzędzie diagnostyczne. Na koniec, po dobie, raport zdarzeń i lista konwersji — dane zbiorcze przetwarzają się z opóźnieniem.
Osobno robię test negatywny: wchodzę na stronę podziękowania wprost z adresu, bez wypełniania formularza, i sprawdzam, czy zdarzenie się nie wysłało. Fałszywe konwersje z odświeżeń i wejść z historii przeglądarki to klasyk, który potem tłumaczy tajemnicze skoki w raportach.
Jeśli konwersje z GA4 mają zasilać Google Ads, sprawdzam import po tamtej stronie: czy akcja jest widoczna, czy ma poprawne zliczanie i czy nie dubluje konwersji mierzonej tagiem Google Ads. Domykam jeszcze przechowywanie danych o zdarzeniach — domyślne dwa miesiące to za mało na porównania rok do roku, a zmiana działa tylko w przód.
Zakładam z góry, że liczby się nie zgodzą, i mam kilka wyjaśnień, które sprawdzam po kolei.
Umawiam się z klientem na to samo, co sam sobie ustalam: porównujemy trendy, nie wartości bezwzględne. Stabilna różnica przy tym samym kierunku to znak, że migracja się udała.
Rozpisuję to na tygodnie, bo lista zadań bez terminu ma tendencję do przeżycia terminu.
Maj to inwentaryzacja i konfiguracja: spis celów z UA, decyzja, które przenosimy, wdrożenie brakujących zdarzeń w GTM, oznaczenie konwersji, metody zliczania i wartości. Do tego porządki do zrobienia raz — przechowywanie danych, wykluczenie ruchu wewnętrznego, powiązanie z Google Ads i Search Console.
Czerwiec to weryfikacja równoległa. Oba narzędzia zbierają jeszcze dane, więc to ostatni miesiąc, w którym da się cokolwiek porównać. Raz w tygodniu przeglądam konwersje w obu usługach i domykam rozjazdy, których nie umiem wytłumaczyć. Wtedy też ustawiam raporty i uprawnienia dla wszystkich, którzy dziś zaglądają do UA.
Eksport historii planuję na czerwiec i lipiec. Minimum: miesięczne zestawienia kluczowych metryk i konwersji za pełne lata wstecz do arkusza, plus zrzuty najważniejszych raportów.
I rzecz, którą powtarzam każdemu klientowi: nie wyłączaj tagu Universal Analytics wcześniej, niż musisz. Do 1 lipca kosztuje Cię jedno wywołanie na stronie, a daje punkt odniesienia, którego po tej dacie już nie kupisz.
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 |