Dlaczego widzisz „(not set)” w wymiarach GA4 i jak powstaje backlog danych?
W GA4 pojęcie „(not set)” bardzo często jest źle interpretowane. Nie jest to błąd raportu ani „problem z GA4”, tylko konsekwencja tego, jak działają wymiary niestandardowe (custom dimensions).
Czym dokładnie jest backlog „(not set)” w GA4?
Backlog „(not set)” to nagromadzenie zdarzeń, dla których GA4 nie posiada wartości przypisanej do wymiaru, ponieważ:
- wymiar został utworzony po czasie
- lub parametr, na którym opiera się wymiar, nie był zbierany w momencie przetwarzania zdarzeń
GA4 nie uzupełnia danych wstecz, więc brakujące wartości pozostają w raportach jako „(not set)”.
Kluczowa definicja (najważniejsze)
Custom dimension w GA4 nie zbiera danych.
Custom dimension:
- jest wyłącznie definicją raportową
- wskazuje GA4, z którego parametru zdarzenia lub użytkownika ma czytać wartość
- zaczyna działać dopiero od momentu, gdy parametr jest zbierany i rozpoznany
Jeśli parametr nie istnieje w danych, wymiar nie ma czego wyświetlić.
Przykład przesyłanych parametrów:

Jak dokładnie powstaje backlog „(not set)” – przykład
Załóżmy, że:
- tworzysz dziś custom dimension o nazwie „Typ użytkownika”
- wskazujesz parametr:
user_type
Scenariusze:
- Parametr
user_typenie był wysyłany wcześniej → wszystkie wcześniejsze zdarzenia = (not set) - Parametr zaczyna być wysyłany dzień później → jeden dzień danych bez wartości = backlog
- Duży ruch na stronie → backlog powstaje w minutach lub godzinach
GA4 nie może przypisać wartości do zdarzeń historycznych, bo:
- dane zostały już przetworzone
- nie istnieje mechanizm rekalkulacji przeszłych eventów
Dlaczego backlog nie „znika” sam?
Backlog nie jest kolejką do przeliczenia, tylko:
- trwałym stanem danych historycznych
- zapisem faktu, że w momencie zbierania zdarzenia parametr nie istniał
GA4 nie nadpisuje przeszłości, nawet jeśli:
- parametr zacznie być zbierany później
- poprawisz konfigurację
- zmienisz nazwę wymiaru
Najczęstsze przyczyny powstawania „(not set)” w wymiarach
- Utworzenie custom dimension przed wdrożeniem parametru
- Literówka w nazwie parametru (GA4 jest case-sensitive)
- Parametr wysyłany tylko w części zdarzeń
- Parametr wysyłany w GTM, ale:
- nieopublikowany
- uruchamiany w złym triggerze
- Parametr wysyłany jako user property, a wymiar ma zakres event (lub odwrotnie)
Jak zapobiegać backlogom „(not set)” – jedyna skuteczna metoda
Jedyna skuteczna strategia to właściwa kolejność działań:
- Najpierw:
- wdrażasz parametr (event parameter lub user property)
- weryfikujesz go w DebugView / Realtime / BigQuery
- Dopiero potem:
- tworzysz custom dimension w GA4
Dzięki temu:
- GA4 ma już dane wejściowe
- wymiar zaczyna się wypełniać od pierwszego zdarzenia
- backlog praktycznie nie powstaje
Co zrobić, jeśli backlog już istnieje?
Nie da się go „naprawić” w GA4 UI.
Możesz:
- zaakceptować backlog jako historyczny artefakt
- analizować dane od momentu poprawnej konfiguracji
- w BigQuery:
- filtrować zdarzenia bez wartości
- stosować własną logikę uzupełniania danych (jeśli parametr był dostępny w innej formie)