W Google Analytics 4 (GA4) wartość „(not set)” pojawia się w raportach, gdy system nie może przypisać danych do konkretnego wymiaru, np. źródła ruchu, medium czy nazwy kampanii. To powszechny problem, który zniekształca analizy i decyzje biznesowe, najczęściej z powodu błędów implementacji, ustawień prywatności lub konfiguracji.
W tym poradniku omawiamy najczęstsze przyczyny, metody diagnozy oraz praktyczne sposoby naprawy. Korzystając z doświadczeń specjalistów i oficjalnych wytycznych Google, pomożemy Ci szybko przywrócić jakość danych w GA4, aby uniknąć kosztownych błędów w marketingu.
Dlaczego „(not set)” to problem dla twoich analiz?
Wartość „(not set)” uniemożliwia precyzyjne przypisanie zdarzeń, sesji czy konwersji do kategorii, co prowadzi do niepełnych raportów. Na przykład ruch z kampanii UTM może trafić do tej kategorii zamiast do „google / cpc / promo”. W efekcie:
- trudno ocenić skuteczność kampanii reklamowych,
- analizy konwersji są zafałszowane, co wpływa na decyzje o budżetach,
- historyczne dane stają się bezużyteczne bez korekty.
Problem nasila się w erze RODO (GDPR) i blokad plików cookie – do 20–30% sesji może być dotkniętych. Rozbieżności między GA4 a innymi narzędziami (np. Google Ads, CRM) są normą, ale „(not set)” zwykle wskazuje na błąd pomiarowy.
Najczęstsze przyczyny „(not set)” w GA4
1. Błędy w implementacji i tagowaniu
Do najczęstszych źródeł należą nieprawidłowy Google Tag Manager (GTM), parametry UTM oraz zdarzenia niestandardowe. Zwróć uwagę na typowe sytuacje:
- niepoprawne parametry UTM – brak lub błędy w
utm_source,utm_mediumczyutm_campaignpowodują, że GA4 nie rozpoznaje ruchu; - błędy w Measurement Protocol – dane wysyłane z serwerów (np. e‑commerce) bez pełnych parametrów trafiają do „(not set)”;
- cross‑domain tracking – bez poprawnej konfiguracji sesje między domenami nie łączą się i tracisz atrybucję;
- nadmiarowe lub błędne zdarzenia – tagi uruchamiają się wielokrotnie (np. przy formularzach), co przekracza limity i powoduje błędy w dataLayer.
Przykład – na listingach produktów z wieloma elementami zdarzenie view_item_list może przekroczyć limit payloadu, co skutkuje „(not set)” w przychodach.
2. Ustawienia prywatności i Consent Mode
Blokady plików cookie (np. AdBlock, ITP) oraz niepoprawny Consent Mode ograniczają lub uniemożliwiają zbieranie kluczowych danych. Użytkownicy z wyłączonymi cookie first‑party częściej wpadają do „(not set)” w źródłach ruchu, a błędna konfiguracja reguł zgód (np. analytics_storage) potrafi odciąć parametry kampanii.
3. Braki w konfiguracji i testowaniu
Sprawdź, czy nie występują poniższe problemy konfiguracyjne:
- brak kodu GA4 na wszystkich stronach – szczególnie w SPA (Single Page Applications);
- nieprawidłowo zdefiniowane cele i konwersje – zdarzenia bez wymaganych parametrów (np. wartości transakcji);
- Content Security Policy (CSP) – polityka bezpieczeństwa blokuje skrypty GA4;
- brak wykluczeń – ruch wewnętrzny lub odsyłający zniekształca dane.
4. Rozbieżności z innymi narzędziami
GA4 zwykle raportuje wyższą liczbę użytkowników niż UA (m.in. z powodu innego identyfikatora), a sprzedaż bywa niższa niż w platformach e‑commerce (różnice 5–20% to norma). „(not set)” dodatkowo pogarsza jakość atrybucji, szczególnie w e‑commerce.
Poniżej szybkie porównanie typowych przyczyn i dotkniętych wymiarów:
| Przyczyna | Wymiary dotknięte | Częstotliwość |
|---|---|---|
| Błędy UTM/GTM | Źródło, medium, kampania | Najczęstsza |
| Consent Mode | Użytkownicy, sesje | Wysoka (GDPR) |
| Cross-domain | Sesje cross‑site | Średnia |
| Limity payloadu | Przychody, produkty | E‑commerce |
Jak zdiagnozować „(not set)” krok po kroku?
Zanim zaczniesz naprawiać, potwierdź skalę i źródło problemu – nie zakładaj, że to wyłącznie błąd GA4.
Krok 1 – porównaj z innymi źródłami
Dla szybkiej walidacji wykorzystaj poniższe wskazówki:
- e‑commerce/CRM – porównaj zamówienia, przychody i leady z GA4;
- reklama – zestaw dane z Google Ads i Meta Ads; jeśli są spójne, przyczyny mogą leżeć po stronie serwisu (sezonowość, błędy strony);
- narzędzia diagnostyczne – użyj Google Analytics Debugger lub Tag Assistant do weryfikacji na żywo.
Krok 2 – audyt implementacji
Przejdź przez poniższą listę kontrolną i sprawdź newralgiczne miejsca:
- Czy kontener GTM został opublikowany (najświeższa wersja)?
- Czy kod GA4 jest na wszystkich stronach (w tym w SPA)? Zweryfikuj przez „Wyświetl źródło strony”.
- Czy reguły tagów są właściwie ograniczone (np. uruchomienie formularzy tylko raz na stronę)?
- Czy dataLayer nie zawiera błędów i nadmiarowych payloadów? Testuj w DevTools (Console).
Dodatkowo: skorzystaj z DebugView w GA4, filtrując ruch z „(not set)”, oraz przeanalizuj raporty po dacie, aby ustalić moment pojawienia się problemu (np. po aktualizacji Consent Mode).
Krok 3 – testuj specyficzne błędy
Zweryfikuj najczęstsze scenariusze rozjazdów i utraty atrybucji:
- UTM – generuj linki w Google Campaign URL Builder i testuj w „Czas rzeczywisty”;
- cross‑domain – sprawdź konfigurację linkera w GTM (przenoszenie parametrów między domenami);
- consent – zasymuluj blokady w DevTools > Application > Cookies i zweryfikuj zachowanie tagów.
Jak naprawić „(not set)” – praktyczne rozwiązania
Rozwiązanie 1 – popraw implementację GTM i UTM
Skup się na spójności parametrów, kompletności zdarzeń i redukcji błędów w dataLayer:
- UTM – zawsze używaj spójnych parametrów i waliduj je narzędziami Google;
- zdarzenia niestandardowe – dodaj wymagane parametry (np.
event_category,value); - dataLayer – kontroluj
push(), np. dla formularzy:if (form.valid) dataLayer.push(...); - limity – skracaj listy produktów w
view_item_listdo 50–100 elementów.
Rozwiązanie 2 – skonfiguruj Consent Mode
Upewnij się, że zgody są poprawnie wdrożone i odzwierciedlają status użytkownika:
- zmienne zgód w GTM – skonfiguruj
ad_storageianalytics_storage; - domyślny stan – ustaw
denied, a po wyrażeniu zgody przełącz nagranted; - integracja z CMP – połącz z platformą zarządzania zgodami (np. Cookiebot).
Rozwiązanie 3 – cross‑domain i wykluczenia
Cross‑domain – w GA4 przejdź do Admin > Data Streams > Configure tag settings > Configure your domains i dodaj wszystkie powiązane domeny/subdomeny.
Wykluczenia ruchu – w Admin > Data Settings > Define internal traffic dodaj IP/domeny, a także skonfiguruj wykluczenia niepożądanych referrerów (np. bramki płatności).
Rozwiązanie 4 – przychody i e‑commerce
Enhanced E‑commerce – wysyłaj kompletne parametry, w tym transaction_id i value, aby zachować spójność przychodów.
Server‑side tagging – rozważ Measurement Protocol i/lub GTM Server‑Side, aby ograniczyć wpływ blokad i ITP na atrybucję.
Skrypt przykładowy GTM (JavaScript dla zdarzenia):
function() {
return {
event: 'purchase',
value: {{DLV - ecommerce.purchase.actionField.value}},
currency: {{DLV - ecommerce.currencyCode}},
transaction_id: {{DLV - ecommerce.purchase.actionField.id}}
};
}
Dostosuj strukturę do własnego dataLayer.
Dla historycznych danych
Edycja w GA4 nie jest możliwa – wykorzystaj BigQuery do pracy na surowych danych i filtrowania „(not set)”.
Segmentacja raportów – wyklucz „(not set)” i analizuj na podstawie znanych, wiarygodnych źródeł ruchu.
Jak zapobiegać „(not set)” w przyszłości?
Aby ograniczyć ryzyko powrotu problemu, wdrażaj stałe procedury kontroli jakości danych:
- plan wdrożenia – wykonuj audyt przed publikacją i każdą większą zmianą;
- regularne testy – co tydzień przeglądaj DebugView i wysyłaj zdarzenia testowe;
- najlepsze praktyki – standaryzuj UTM i dokumentuj procesy w zespole.
Skorzystaj z poniższych wskazówek operacyjnych, aby utrzymać porządek w pomiarze:
- Korzystaj z konta demonstracyjnego GA4 do bezpiecznych symulacji.
- Utwórz i utrzymuj wspólną dokumentację UTM (nazwa kampanii, medium, źródło, content, term).
- Ustaw alerty (np. spadek ruchu o > 20%) i reaguj na anomalia.
- Zapewnij szkolenia i poprawne integracje z platformami (np. PrestaShop, Shopify).
Oto zestaw narzędzi, które ułatwiają monitoring i korektę danych:
| Narzędzie | Zastosowanie |
|---|---|
| Podgląd GTM | Test tagów na żywo |
| GA4 DebugView | Analiza zdarzeń |
| BigQuery | Korekta danych |
| Tag Assistant | Walidacja UTM |






