← Powrót do bloga
Udostępnij

(not set) w Google Analytics: co to jest i jak sobie z tym radzić w 2026 roku

| 29 cze 2026 | 13 min czytania 0 wyświetleń
(not set) w Google Analytics: co to jest i jak sobie z tym radzić w 2026 roku

(not set) w Google Analytics 4 to systemowe oznaczenie, które narzędzie nadaje, gdy nie otrzymało wartości dla wymiaru: nie ustaliło źródła ruchu, kampanii, strony docelowej, geografii czy wymiaru niestandardowego. To nie błąd ani „zepsuta analityka”, lecz sygnał, że dane dotarły do GA4 niekompletne. Całkowicie usunąć (not set) się nie da, ale realnie można sprowadzić go do 1–3% dzięki właściwemu tagowaniu, rejestracji parametrów i konfiguracji zgody. Poniżej — wszystkie przypadki pojawiania się i walka z nim krok po kroku.

Czym jest (not set) w Google Analytics 4

(not set) (po polsku — „nie ustawiono”) to wypełniacz, który GA4 wstawia do komórki raportu, gdy dla konkretnego wymiaru brakuje wartości. Wyobraź sobie tabelę: wiersze to sesje lub zdarzenia, kolumny to wymiary (źródło, kampania, miasto, przeglądarka). Jeśli GA4 zebrał zdarzenie, ale nie zdołał wypełnić jednej z kolumn, w tej komórce pojawi się (not set).

Od razu warto zrozumieć najważniejsze: (not set) to nie odrębne źródło ruchu ani typ użytkowników. To techniczny stan „brak wartości”. Dlatego walka z nim to zawsze praca z przyczyną, przez którą dane nie dotarły, a nie próba „odfiltrowania” samego wiersza.

Przyczyny pojawiania się (not set) dzielą się na trzy duże grupy:

  1. Techniczne — tag nie zdążył się załadować, utracono referrer, zdarzenie dotarło bez potrzebnego parametru.
  2. Konfiguracyjne — wymiar niestandardowy nie został zarejestrowany, nie włączono Google Signals, nie skonfigurowano auto-tagging w Google Ads.
  3. Prywatność i przetwarzanie — użytkownik nie wyraził zgody (Consent Mode), działa próg poufności, dane są jeszcze przetwarzane.

Pierwsza i druga grupa poddają się naprawie niemal całkowicie. Trzecia — tylko częściowo, bo to skutek przepisów o prywatności i samej architektury GA4. Właśnie dlatego całkowicie pozbyć się (not set) się nie uda — ale o tym szczegółowo poniżej.

Wszystkie przypadki, gdy GA4 pokazuje (not set)

Większość artykułów opisuje wyłącznie (not set) w źródle ruchu. W rzeczywistości to oznaczenie pojawia się w co najmniej kilkunastu różnych wymiarach — a przyczyna za każdym razem jest inna. Omówmy je wszystkie.

Jak (not set) wygląda w raporcie GA4

Raport GA4 «Pozyskiwanie ruchu»: wiersz (not set) #4 — 786 zdarzeń (7,35%) bez zidentyfikowanego źródła, z oficjalną podpowiedzią GA4

Oto jak (not set) wygląda w prawdziwym raporcie «Pozyskiwanie ruchu». Wiersz znajduje się na 4. miejscu: 32 aktywnych użytkowników (2,55%) i 786 zdarzeń (7,35%), dla których GA4 nie zdołał ustalić źródła. Obok wartości jest ikona ⚠: po najechaniu zobaczysz oficjalną informację Google, że dane nie dotarły, a zmiany po naprawie pojawią się w raportach w ciągu 24–48 godzin i wpłyną tylko na przyszłe dane.

Infografika: gdzie pojawia się (not set) w GA4 — źródło, kampania, strona docelowa, geografia, dane demograficzne, custom dimension — i dlaczego

1. Źródło i kanał ruchu (Source / Medium = not set)

Najczęstszy przypadek. GA4 nie zdołał ustalić, skąd przyszedł użytkownik. Typowe przyczyny: tag gtag.js (lub GTM) załadował się z opóźnieniem i nie zdążył zarejestrować źródła; przeglądarka nie przekazała referrera (przejście z HTTPS na HTTP, z aplikacji mobilnej, komunikatora); przekierowanie „zjadło” tagi UTM; przejście nastąpiło podczas obsługi zgody. W odróżnieniu od (direct)/(none), gdzie GA4 świadomie oznacza „brak źródła”, (not set) oznacza „źródło powinno być, ale nie dotarło”.

2. Kampania (Campaign = not set)

Użytkownik przyszedł ze źródła, dla którego nie przekazano utm_campaign. Klasyka: link reklamowy ma utm_source i utm_medium, ale zapomniano dodać utm_campaign. Wówczas źródło i kanał są rozpoznawane, a nazwa kampanii — nie, więc w raporcie „Kampanie” pojawia się (not set). To samo dzieje się z całym ruchem organicznym — on z definicji nie ma kampanii.

3. Strona docelowa (Landing page = not set)

Wymiar landing_page wypełnia się z pierwszego zdarzenia page_view w sesji. Jeśli sesja zaczęła się od innego zdarzenia (na przykład scroll lub zdarzenia niestandardowego), a page_view nie dotarł, GA4 nie wie, od której strony zaczęła się wizyta — i wstawia (not set). Najczęściej to skutek Consent Mode (przed zgodą wysyłane są jedynie pingi cookieless bez pełnych parametrów) lub niewłaściwej kolejności ładowania tagów.

4. Geografia (Country, City, Region = not set)

GA4 ustala lokalizację na podstawie adresu IP. Jeśli IP nie udało się dopasować do regionu (VPN, sieci firmowe, niektórzy operatorzy mobilni) lub użytkownik w ustawieniach zablokował dane geolokalizacyjne — miasto czy kraj stają się (not set). Niewielki odsetek jest tu całkowicie normalny.

5. Dane demograficzne (wiek, płeć, zainteresowania = not set)

Dane demograficzne działają tylko wtedy, gdy włączono Google Signals i użytkownik zalogował się na konto Google z personalizacją reklam. Jeśli Signals jest wyłączone, użytkownik nie wyraził zgody lub nie jest zalogowany — wiek i płeć będą (not set). Dla większości witryn to największy pod względem objętości (not set) i jest to normalne.

6. Wymiary niestandardowe (Custom dimensions = not set)

Jeden z najbardziej podstępnych przypadków. Jeśli utworzyłeś custom dimension (na przykład author, logged_in, product_category), ale:

  • zarejestrowałeś go później, niż zacząłeś zbierać dane — wszystkie historyczne zdarzenia będą miały (not set) (GA4 nie wypełnia parametru wstecznie);
  • pomyliłeś się ze scope — parametr jest event-scoped, a wymiar utworzono jako user-scoped (lub odwrotnie);
  • tag nie przekazał parametru w części zdarzeń — tam, gdzie go nie ma, będzie (not set).

Dlatego zasada jest prosta: najpierw rejestrujemy custom dimension, potem uruchamiamy zbieranie danych — i zawsze sprawdzamy zgodność scope parametru ze scope wymiaru.

7. Kampania Google Ads (= not set)

Jeśli w raportach z ruchem reklamowym kampania Google Ads wyświetla się jako (not set) — niemal zawsze oznacza to, że wyłączono auto-tagging (parametr gclid w adresie URL) lub nie powiązano kont Google Ads ↔ GA4. Bez gclid GA4 nie może pobrać nazwy kampanii, grupy reklam i słowa kluczowego po stronie Google Ads.

8. Tytuł i grupa stron (Page title, Content group = not set)

Jeśli zdarzenie dotarło bez parametru page_title (na przykład SPA nie zaktualizowało document.title przed wysłaniem zdarzenia) lub nie skonfigurowałeś Content Groups — odpowiednie wymiary będą (not set).

9. Measurement Protocol i zdarzenia serwerowe

Zdarzenia wysłane przez Measurement Protocol lub serwerowy GTM bez pełnego zestawu parametrów otrzymają (not set) we wszystkich niewypełnionych wymiarach. Serwer „nie widzi” przeglądarki użytkownika, dlatego source, landing page i urządzenie trzeba przekazywać jawnie.

10. Opóźnienie przetwarzania danych

W raportach z ostatnich 24–48 godzin (not set) może być po prostu skutkiem tego, że GA4 jeszcze nie zakończył przetwarzania. Często takie wartości „rozchodzą się” same po dobie czy dwóch. Dlatego nie wyciągaj wniosków o (not set) na podstawie „dzisiejszych” danych.

(not set) ≠ (not provided) ≠ (data not available) ≠ (other)

Cztery systemowe wartości GA4 są stale mylone, choć oznaczają zupełnie co innego. Rozróżnianie ich jest krytycznie ważne, bo i walka z nimi jest inna.

Infografika: różnica między systemowymi wartościami GA4 — (not set), (not provided), (data not available) oraz (other)
  • (not set) — wartość nieotrzymana. GA4 nie zdołał ustalić wymiaru dla tej sesji lub zdarzenia. To nasz główny temat.
  • (not provided) — ukryte ze względu na prywatność. Klasyka: wyszukiwarka nie przekazuje słowa kluczowego zapytania organicznego (od czasu przejścia Google na HTTPS). Naprawić po stronie witryny jest niemal niemożliwe — to ograniczenie wyszukiwarki.
  • (data not available) — dane niedostępne z powodu Consent Mode, progu poufności (data thresholding) lub próbkowania. Pojawia się, gdy próbka jest zbyt mała, by GA4 pokazał ją bez ryzyka deanonimizacji.
  • (other) — wiersz „inne”. Gdy unikalnych wartości wymiaru jest więcej niż limit kardynalności (zazwyczaj ~500 dziennie), wszystkie „nadmiarowe” są sprowadzane do jednego wiersza (other). To nie brak danych, lecz ich zwinięcie.

Osobno wspomnijmy bot / bot — to nie wartość systemowa, lecz odfiltrowany ruch botów; jego również czasem bierze się za (not set).

Jak walczyć z (not set): rozwiązanie dla każdego przypadku

Uniwersalnego „wyłącznika” nie ma — walka jest zawsze adresowana, pod konkretną przyczynę. Oto co robić z każdym typem.

Dla źródła, kampanii i strony docelowej

  1. Ładuj tag jak najwcześniej. Umieść GA4/GTM w <head>, minimalizuj blokowanie renderowania, aby page_view zdążył zadziałać na starcie sesji.
  2. Oznaczaj wszystkie linki tagami UTM. Wysyłki e-mail, banery, kody QR, posty w mediach społecznościowych, komunikatory — wszędzie pełny zestaw utm_source, utm_medium, utm_campaign. Zbuduj jeden szablon za pomocą konstruktora tagów UTM.
  3. Sprawdź przekierowania. Upewnij się, że 301/302 i skracacze linków nie obcinają parametrów UTM ani referrera.
  4. Skonfiguruj referrer-policy. Metatag referrer z wartością no-referrer-when-downgrade lub origin-when-cross-origin pomaga zachować źródło przy przejściach.

Dla geografii i danych demograficznych

Włącz Google Signals (Admin → Data Settings → Data Collection) — to wypełni raporty demograficzne. Części (not set) w geografii i danych demograficznych usunąć się nie uda: to skutek prywatności i braku zgody. Tutaj celem nie jest zero, lecz adekwatny odsetek.

Dla custom dimensions

  1. Rejestruj parametr przed zbieraniem danych. Admin → Custom definitions → Create custom dimension — i dopiero potem uruchamiaj tag, który go przekazuje.
  2. Sprawdzaj scope. Parametr event-scoped → wymiar event-scoped; user-scoped → user-scoped. Niezgodność = ciągły (not set).
  3. Weryfikuj przekazywanie w DebugView. Upewnij się, że parametr faktycznie dociera w każdym potrzebnym zdarzeniu, a nie tylko w części.

Dla Google Ads

Włącz auto-tagging w Google Ads (Settings → Account settings → Auto-tagging) i powiąż konta Google Ads ↔ GA4 (Admin → Product links). Po tym GA4 poprawnie pobierze kampanie, grupy i słowa kluczowe, a (not set) w raportach reklamowych zniknie.

Dla kardynalności i (other)

Jeśli w raporcie jest dużo (other) — nie przekazuj do wymiarów wysoce unikalnych wartości (pełnych adresów URL z parametrami, timestampów, ID użytkownika). Do dogłębnej analizy danych o wysokiej kardynalności korzystaj z bezlimitowego eksportu do BigQuery — tam ograniczenie kardynalności nie obowiązuje.

Dla Consent Mode

Skonfiguruj Consent Mode v2 poprawnie: przed zgodą GA4 wysyła pingi cookieless, po zgodzie — pełne zdarzenia. Prawidłowa implementacja daje GA4 możliwość modelowania brakujących danych zamiast pozostawiania ciągłego (not set) czy (data not available).

Czy można usunąć (not set) całkowicie?

Szczera odpowiedź — nie. I to jest normalne. Część (not set) jest wbudowana w samą architekturę GA4 oraz w prawo o prywatności, więc sprowadzić go do absolutnego zera jest niemożliwe. Oto przyczyny, których nie da się usunąć:

  • Odmowa cookies / Consent Mode. Użytkownicy, którzy nie wyrazili zgody, fizycznie nie przekazują części parametrów.
  • Utrata referrera po stronie przeglądarki. Przejścia z aplikacji, komunikatorów, HTTPS→HTTP — to poza twoją kontrolą.
  • Próg poufności GA4. Małe próbki GA4 świadomie ukrywa, by nie deanonimizować użytkowników.
  • Opóźnienie przetwarzania. W świeżych danych (not set) zawsze będzie, dopóki GA4 nie dokończy przetwarzania sesji.

Dlatego właściwym celem nie jest „zero”, lecz minimalizacja do zdrowego poziomu. Dla źródła i kampanii to zazwyczaj 1–3% po prawidłowym tagowaniu; dla danych demograficznych odsetek będzie z reguły wyższy i to nie problem.

Lista kontrolna minimalizacji (not set)

  1. Tag w <head> i ładowanie na starcie — aby page_view zdążył zadziałać.
  2. Jeden szablon UTM z obowiązkowymi utm_source, utm_medium, utm_campaign na wszystkich linkach.
  3. Auto-tagging Google Ads + powiązanie kont — dla czystych raportów reklamowych.
  4. Custom dimensions rejestrujemy przed zbieraniem i sprawdzamy scope.
  5. Google Signals włączone — dla danych demograficznych.
  6. Consent Mode v2 skonfigurowany — aby GA4 modelował braki.
  7. Nie przekazujemy wysoce unikalnych wartości do wymiarów — mniej (other).
  8. Weryfikacja w DebugView i Realtime — aby upewnić się, że parametry faktycznie docierają.

Jeśli skonfigurowanie tego wszystkiego samodzielnie jest trudne — czyste tagowanie, rejestrację custom dimensions, Consent Mode i poprawną atrybucję bierzemy na siebie w ramach usługi konfiguracji Google Analytics 4. Tam też wyjaśniamy, jak prawidłowo odczytywać źródła i kanały ruchu w GA4.

FAQ: (not set) w Google Analytics

Co oznacza (not set) w Google Analytics?

(not set) to systemowe oznaczenie, że GA4 nie otrzymał wartości dla wymiaru (źródła, kampanii, geografii, custom dimension itd.). To nie odrębne źródło ruchu ani błąd, lecz sygnał, że dane dotarły niekompletne z przyczyn technicznych, konfiguracyjnych lub związanych z prywatnością.

Czym (not set) różni się od (direct)/(none)?

(direct)/(none) oznacza, że GA4 świadomie zaklasyfikował sesję jako bezpośrednią — źródła nie ma (wpisano adres ręcznie, zakładka, przejście bez referrera). (not set) oznacza, że źródło powinno być, ale nie dotarło do GA4 (tag zadziałał z opóźnieniem, utracono referrer itd.).

Czym (not set) różni się od (not provided)?

(not provided) to wartość ukryta ze względu na prywatność, najczęściej słowo kluczowe wyszukiwania organicznego, którego Google nie przekazuje witrynom od czasu przejścia na HTTPS. To ograniczenie wyszukiwarki i naprawić go po stronie witryny się nie da. (not set) natomiast często da się naprawić właściwym tagowaniem i konfiguracją.

Dlaczego custom dimension pokazuje (not set) dla starych danych?

GA4 nie wypełnia wymiarów niestandardowych wstecznie. Jeśli zarejestrowałeś custom dimension po tym, jak już zacząłeś zbierać dane, wszystkie zdarzenia sprzed momentu rejestracji będą miały (not set). Poprawne wartości pojawią się tylko w nowych zdarzeniach.

Czy można całkowicie usunąć (not set)?

Nie. Część (not set) jest nieunikniona z powodu Consent Mode, utraty referrera po stronie przeglądarki, progu poufności i opóźnienia przetwarzania danych. Realnym celem jest zminimalizowanie do 1–3% dla źródła i kampanii prawidłowym tagowaniem; dla danych demograficznych odsetek jest z reguły wyższy i to norma.

Wysoki (not set) w źródle ruchu — co robić?

Sprawdź szybkość ładowania tagu (powinien być w <head>), obecność tagów UTM na wszystkich linkach zewnętrznych, działanie przekierowań i skracaczy (czy nie obcinają parametrów) oraz konfigurację Consent Mode. W 90% przypadków przyczyną jest późne ładowanie tagu lub nieoznaczone linki.

(not set) w danych demograficznych — czy to problem?

Zazwyczaj nie. Dane demograficzne wypełniają się tylko dla części użytkowników — tych, którzy są zalogowani w Google z personalizacją reklam i wyrazili zgodę, przy włączonym Google Signals. Wysoki (not set) jest tu zjawiskiem normalnym, a nie błędem konfiguracji.

Валерій Красько
Валерій Красько Spilno Agency Wszystkie artykuły autora →
← Powrót do bloga