GA4 nie zbiera danych? Diagnostyka i naprawa krok po kroku
Otwierasz GA4, a tam… nic. Zero zdarzeń. Zero użytkowników. Wykresy płaskie jak stół. Zanim wpadniesz w panikę — przejdź przez tę listę kontrolną. W 90% przypadków problem leży w jednym z tych 8 miejsc.
1. Czy Measurement ID jest prawidłowy?
Brzmi banalnie, ale to najczęstsza przyczyna. Sprawdź trzy rzeczy:
- Measurement ID (zaczyna się od
G-) w kodzie strony zgadza się z ID w panelu GA4 (Administracja → Strumienie danych). - Nie ma literówki — G-XXXXXXXXXX to 10 znaków po myślniku. Jedna pomylona cyfra i dane lecą do innego property (albo donikąd).
- GTM tag używa zmiennej, nie wpisanego na sztywno ID. Zmienna „Google Analytics: Measurement ID” w GTM ułatwia podmianę między kontenerami (dev/staging/prod).
Szybki test: otwórz stronę, uruchom F12 → Network → szukaj „collect”. Jeśli widzisz requesty do google-analytics.com/g/collect z parametrem tid=G-XXXXXXXXXX — measurement ID jest OK.
2. Czy strumień danych jest aktywny?
W panelu GA4 wejdź w Administracja → Strumienie danych → [Twój strumień]. U góry zobaczysz wykres ruchu z ostatnich 30 minut. Jeśli jest całkowicie pusty mimo że Ty (lub ktoś inny) jesteś na stronie — problem jest gdzie indziej. Jeśli wykres pokazuje ruch — dane lecą, problem leży w raportach (patrz punkt 6 i 7).
3. Czy Consent Mode nie blokuje wszystkiego?
Jeśli używasz Consent Mode v2, domyślny stan wszystkich zgód to denied. Dane nie polecą, dopóki użytkownik nie wyrazi zgody — chyba że skonfigurowałeś modelowanie behawioralne (patrz punkt 8).
W konsoli przeglądarki wpisz:
dataLayer.filter(e => e[0] === 'consent').forEach(e => console.log(e[1]));
Jeśli widzisz analytics_storage: 'denied' — dane nie są wysyłane przed zgodą. To normalne zachowanie, ale musisz o tym wiedzieć interpretując raporty.
4. Czy GTM ładuje się poprawnie?
Najczęstsze błędy GTM:
- Container ID jest nieprawidłowy lub kontener nie został opublikowany (wersja „Live” w GTM, nie podgląd).
- Kod GTM jest w złym miejscu — snippet
<script>powinien być jak najwyżej w<head>, a<noscript>zaraz po otwarciu<body>. - Adblocker lub przeglądarka blokuje GTM — przetestuj w trybie incognito bez rozszerzeń.
- Content Security Policy (CSP) blokuje domeny Google — sprawdź konsolę pod kątem błędów CSP.
Złoty standard: otwórz GTM Preview Mode, wejdź na stronę, sprawdź czy kontener się ładuje i czy tag GA4 odpala na właściwym trigerze.
5. Czy tag GA4 faktycznie się odpala?
W GTM Preview Mode:
- Kliknij zdarzenie page_view (lub inne, które Cię interesuje).
- Sprawdź zakładkę „Tags Fired” — czy tag GA4 Configuration + GA4 Event tam są?
- Jeśli tag jest w „Tags Not Fired” — kliknij go i sprawdź, który warunek triggera nie został spełniony.
Częsty błąd: tag GA4 Event ma trigger „All Pages” zamiast konkretnego zdarzenia (np. form_submit z dataLayer). Albo odwrotnie — trigger oczekuje zmiennej, która nie istnieje w dataLayer na tej podstronie.
6. Czy filtry wewnętrzne nie zjadają Twojego ruchu?
GA4 ma kilka mechanizmów, które mogą sprawić, że Twoje własne wizyty znikają z raportów:
- Filtrowanie ruchu wewnętrznego (Administracja → Strumienie danych → Filtrowanie ruchu wewnętrznego). Jeśli Twoje IP jest na liście, wszystkie Twoje wizyty są wykluczane z raportów. Świetnie dla czystości danych, fatalnie do debugowania. Wyłącz tymczasowo podczas testów.
- Filtrowanie niechcianych odesłań — sprawdź, czy nie wykluczasz domen, przez które testujesz.
- Filtry danych w Administracja → Ustawienia danych → Filtry danych. Jeśli masz filtr wykluczający zdarzenia z określonego kraju lub urządzenia, możesz nieświadomie odcinać ruch testowy.
7. Czy progi danych nie ukrywają liczb?
GA4 stosuje progowanie danych (data thresholds), aby zapobiec identyfikacji pojedynczych użytkowników. Jeśli raport ma mało danych (np. testujesz sam), GA4 może pokazać zero zamiast „1”.
Rozwiązania:
- Przełącz się na raport „Czas rzeczywisty” — nie podlega progowaniu.
- W Eksploracjach wybierz dłuższy zakres dat (ostatnie 28 dni zamiast dzisiaj).
- Zmień Reporting Identity na „Device-based” (Administracja → Reporting Identity). Tryb Blended stosuje modelowanie, które przy małej próbce może nie działać.
- Jeśli masz Google Signals włączone — progi są wyższe. Wyłącz Signals tymczasowo do diagnostyki.
8. Modelowanie behawioralne — gdzie podziały się dane?
Gdy Consent Mode v2 działa poprawnie, Google modeluje dane dla użytkowników, którzy odmówili zgody. Ale modelowanie:
- Wymaga minimalnej liczby zdarzeń — jeśli masz mniej niż ~1000 zdarzeń dziennie od użytkowników, którzy wyrazili zgodę, modelowanie nie zadziała.
- Nie działa w czasie rzeczywistym — zamodelowane dane pojawiają się w raportach z opóźnieniem (do 48h).
- Nie pokazuje się w Eksploracjach — dotyczy tylko standardowych raportów.
Szybka lista kontrolna (wydrukuj i powieś)
- Measurement ID w kodzie = Measurement ID w panelu
- Network tab: requesty do /g/collect lecą
- GTM Preview Mode: tag GA4 się odpala
- Consent Mode: analytics_storage = 'granted' (lub wiesz, że jest denied)
- Filtry wewnętrzne: Twoje IP nie jest blokowane
- Raport w Czasie Rzeczywistym: dane są widoczne
Nadal nic?
Jeśli przeszedłeś całą listę i dalej brak danych — problem może być głębszy: konflikt z innym skryptem analitycznym na stronie, uszkodzony dataLayer, przekierowania JavaScript gubiące parametry UTM, lub środowisko deweloperskie, które nie wysyła requestów na zewnątrz.
Potrzebujesz pomocy? Napisz do nas — ogarniemy to razem. Diagnostyka GA4 to nasz chleb powszedni.