# Wymiary niestandardowe GA4: jak je skonfigurować i kiedy sobie odpuścić

**Author:** Piotr Litwa - GTM & Analytics Specialist  
**Published:** 2026-07-24  
**URL:** https://piotrlitwa.com/articles/pl/wymiary-niestandardowe-ga4.html  
**Language:** pl  
**Keywords:** wymiary niestandardowe ga4, definicje niestandardowe ga4, ga4 custom dimensions, wymiar na poziomie zdarzenia, wymiar na poziomie użytkownika

---

Wymiary niestandardowe GA4 to sposób, żeby Twoje własne parametry zdarzeń i właściwości użytkownika pojawiły się w raportach. Tworzysz je w Administracja > Wyświetlanie danych > Definicje niestandardowe > Utwórz wymiar niestandardowy (w angielskim interfejsie: Admin > Data display > Custom definitions), wybierasz zakres (zdarzenie, użytkownik albo produkt) i wpisujesz dokładną nazwę parametru, który już wysyłasz. GA4 zaczyna wypełniać wymiar od tej chwili. Nigdy wstecz.

Na tym ostatnim potyka się prawie każdy. Na limicie też. Standardowa usługa ma 50 wymiarów na poziomie zdarzenia, 25 na poziomie użytkownika i 10 na poziomie produktu, a widziałem usługi, które przepaliły połowę tej puli na parametry, których nikt nigdy nie otworzył w raporcie.

> **Najważniejsze wnioski**
> - Samo wysłanie parametru nie wystarcza: dopóki nie zarejestrujesz go jako wymiaru niestandardowego, żyje tylko w DebugView i BigQuery, nigdy w raportach.
> - Standardowa usługa ma 50 wymiarów na poziomie zdarzenia, 25 na poziomie użytkownika i 10 na poziomie produktu (GA4 360: 125, 100 i 25).
> - Wymiary niestandardowe nie działają wstecz, więc rejestruj je tego samego dnia, w którym parametr idzie na produkcję, albo stracisz historię.
> - Wartości o wysokiej kardynalności, czyli ID, znaczniki czasu i pełne URL-e, wpychają dane do wiersza "(other)" i marnują slot, a nazwa parametru musi zgadzać się z tagiem w GTM co do znaku, łącznie z wielkością liter.

## Czym właściwie jest wymiar niestandardowy

Oto model, którego używam z klientami. GA4 zbiera zdarzenia. Każde zdarzenie może nieść parametry, czyli małe pary klucz-wartość w stylu `form_name: "contact"` albo `plan_type: "pro"`.

GA4 przechowuje je wszystkie. Tylko nie pokaże ich w interfejsie, dopóki nie powiesz, które się liczą.

Wymiar niestandardowy to właśnie ta instrukcja. Mówi: weź parametr `plan_type`, nazwij go "Plan type" i udostępnij jako wymiar w raportach standardowych i eksploracjach.

Bez rejestracji nie ma wymiaru. Parametr nadal dociera. Zobaczysz go w [DebugView](https://piotrlitwa.com/articles/pl/ga4-tryb-debugowania.html), a jeśli masz włączony eksport do BigQuery, leży sobie w `event_params` przy każdym zdarzeniu. Ale w interfejsie raportów jest niewidoczny.

To najczęstsze zgłoszenie "GA4 nie działa", jakie dostaję od zespołów z porządnie zbudowaną warstwą danych. Warstwa danych jest OK. Tag w GTM jest OK. Nikt nie zarejestrował wymiaru.

Stronę warstwy danych opisałem w [poradniku o data layer, GA4 i GTM](https://piotrlitwa.com/articles/pl/data-layer-ga4-gtm-poradnik.html), więc tutaj zostaję po stronie GA4.

## Trzy zakresy obok siebie

Zakres decyduje, do czego wartość zostaje przypięta. Wybierz źle, a liczby będą wyglądały wiarygodnie, tylko że odpowiedzą na inne pytanie niż to, które zadałeś.

| Zakres | Przypięty do | Źródło w tagu | Limit standardowy | Typowy przykład | Uważaj na |
|---|---|---|---|---|---|
| Zdarzenie | Pojedynczego zdarzenia, które niosło parametr | Parametr zdarzenia | 50 | `form_name`, `cta_location`, `article_category` | Wartość istnieje tylko przy zdarzeniach, które ją wysłały; reszta pokazuje "(not set)" |
| Użytkownik | Użytkownika, stosowany do jego aktywności po ustawieniu | Właściwość użytkownika | 25 | `customer_tier`, `account_type`, `logged_in` | Wartości właściwości użytkownika mają limit 36 znaków |
| Produkt | Jednego produktu w tablicy `items` | Własny klucz w obiekcie produktu | 10 | `item_material`, `item_season`, `stock_status` | Ma sens tylko ze zdarzeniami e-commerce i metrykami produktowymi |

Nie ma zakresu sesji. Jeśli przychodzisz z Universal Analytics, to właśnie to boli. Typowe obejście to wymiar na poziomie zdarzenia wysyłany przy każdym zdarzeniu w sesji albo odtworzenie widoku sesji później w BigQuery.

Prosta zasada. Jeśli wartość opisuje, co się wydarzyło, to zakres zdarzenia. Jeśli opisuje, kim jest człowiek, to zakres użytkownika. Jeśli opisuje produkt, to zakres produktu.

## Jak utworzyć wymiar niestandardowy w GA4 krok po kroku

Zakładając, że parametr już jest wysyłany (o tym niżej), konfiguracja w GA4 zajmuje jakieś dwie minuty.

1. Otwórz **Administracja** i w kolumnie usługi przejdź do **Wyświetlanie danych > Definicje niestandardowe**.

2. Zostań na karcie **Wymiary niestandardowe** (pozostałe karty to dane niestandardowe i dane obliczane) i kliknij **Utwórz wymiar niestandardowy**.

3. **Nazwa wymiaru**: etykieta, którą ludzie zobaczą w raportach. Pisz ją dla ludzi: "Nazwa formularza", a nie `form_name_v2_final`.

4. **Zakres**: Zdarzenie, Użytkownik albo Produkt. Zakresu nie zmienisz później. Najpierw pomyśl.

5. **Opis**: pole opcjonalne, które wszyscy pomijają. Wpisz, skąd bierze się wartość ("ustawiane przez tag GTM GA4 - form_submit, z DLV form_name"). Następna osoba, która będzie audytować usługę, podziękuje.

6. **Parametr zdarzenia** (albo **Właściwość użytkownika**): wpisz nazwę parametru dokładnie tak, jak jest wysyłana. Jeśli GA4 już ją dostało, lista rozwijana ją podpowie. Jeśli nie, możesz wpisać ją ręcznie.

7. Kliknij **Zapisz**.

Potrzebujesz do tego roli Edytującego w usłudze. Osoby z rolą Wyświetlającego czy Analityka widzą listę, ale nic nie utworzą.

Potem czekasz. Nowe wymiary niestandardowe zwykle potrzebują 24 do 48 godzin, zanim pokażą dane w raportach standardowych. DebugView w ogóle nie obchodzi rejestracja i dlatego to właściwe miejsce, żeby sprawdzić, czy parametr w ogóle dociera.

## Dwóch klientów, dwa zupełnie różne błędy

Łukasz prowadzi zespół onboardingu w firmie SaaS z Gdańska. W marcu jego developerzy wypuścili czyste zdarzenie `sign_up` z parametrem `plan_type`: free, starter albo pro. Piękna robota. Nikt nie zarejestrował `plan_type` w GA4 aż do połowy maja, kiedy prezes poprosił o rozbicie rejestracji według planów do prezentacji dla zarządu.

Siedem tygodni rejestracji, 2140 sztuk, leżało w GA4 bez przypisanego planu w jakimkolwiek raporcie. Rejestracja wymiaru w maju wypełniła dane od maja. Marzec i kwiecień zostały puste.

Jedyna droga wstecz prowadziła przez BigQuery, a eksport włączono w kwietniu. No i marzec przepadł. Na dobre.

Dorota miała odwrotny problem. Jej zespół e-commerce rejestrował wszystko. Czterdzieści jeden wymiarów na poziomie zdarzenia, w tym `transaction_id`, `session_timestamp`, `click_text` i pełny `page_url` z parametrami zapytania. Kiedy marketing poprosił o nowy wymiar do testu kampanii, zostało dziewięć wolnych slotów, a usługa była zasypana wierszami "(other)".

Zarchiwizowałem 17 wymiarów w jedno popołudnie, po sprawdzeniu, czy któryś raport w ogóle z nich korzysta. Większość nie miała żadnego użycia w raportach przez ostatnie pół roku. Te z unikalnymi ID przeniosłem do BigQuery, gdzie ich miejsce.

Żadne z nich nie zrobiło nic egzotycznego. Jedno zarejestrowało za późno, drugie za dużo.

## Limity, opóźnienia i wiersz "(other)"

Tu liczby mają znaczenie, więc masz je w jednym miejscu dla standardowej (darmowej) usługi GA4.

- **50** wymiarów na poziomie zdarzenia, **25** na poziomie użytkownika i **10** na poziomie produktu, a z mojego doświadczenia pula zdarzeniowa zawsze kończy się pierwsza.
- **50** danych niestandardowych (custom metrics). Osobna pula.
- Nazwy parametrów zdarzeń: do **40** znaków. Wartości parametrów zdarzeń: do **100** znaków, a wszystko dłuższe jest obcinane bez ostrzeżenia w interfejsie.
- Nazwy właściwości użytkownika: do **24** znaków. Wartości: **36**.
- Do **25** parametrów na zdarzenie.

GA4 360 podnosi limity wymiarów do 125 na poziomie zdarzenia, 100 na poziomie użytkownika i 25 na poziomie produktu. Jeśli jesteś na darmowej wersji i brakuje Ci miejsca, to rzadko jest powód, żeby kupować 360. Zwykle to znak, że połowa Twoich wymiarów nie powinna istnieć.

**Archiwizacja zwalnia slot.** W Definicjach niestandardowych otwórz menu z trzema kropkami przy wierszu i wybierz Archiwizuj. Link **Informacje o limicie** (Quota information) w prawym górnym rogu pokazuje, ile slotów już zużyłeś.

Dwa haczyki. Historia zarchiwizowanego wymiaru przestaje być dostępna w raportach, więc archiwizuj bezużyteczne, a nie te, które ktoś czyta raz na kwartał. A jeśli byłeś już na limicie, centrum pomocy Google mówi o 48 godzinach oczekiwania, zanim dodasz nowe. Sprzątaj, zanim slot będzie potrzebny, a nie rano w dniu startu kampanii.

Teraz wiersz "(other)". Google nazywa wymiar wysokokardynalnym, kiedy ma ponad 500 unikalnych wartości w ciągu jednego dnia. Takie wymiary to częsty powód, dla którego raporty standardowe dobijają do limitów wierszy i zaczynają wrzucać ogon do "(other)".

Suma w raporcie nadal się zgadza. Rozbicie, którego chciałeś, znika.

Rzeczy, które prawie zawsze mają wysoką kardynalność:

- Wszystko, co jest identyfikatorem: `transaction_id`, `user_id`, `session_id`, `client_id`.
- Znaczniki czasu.
- Pełne URL-e z parametrami zapytania albo frazy wpisywane przez ludzi w wyszukiwarkę.
- Pola tekstowe z formularzy. (To też problem z prywatnością. Nie wysyłaj ich.)

## Kiedy NIE tworzyć wymiaru niestandardowego

Powiem wprost: większość usług, które audytuję, byłaby lepsza z mniejszą liczbą wymiarów niestandardowych, nie większą. Zanim wydasz slot, sprawdź te punkty.

**GA4 już to ma.** Sporo parametrów samo mapuje się na wymiary predefiniowane. Pomiar zaawansowany daje Ci już URL linku, Nazwę pliku i Tytuł filmu, a parametry e-commerce, takie jak `item_name`, `item_category` czy `coupon`, też mają własne wymiary.

Rejestrowanie ich ponownie tworzy duplikat. Te same dane, gorsza nazwa.

**To unikalny identyfikator.** ID transakcji, numery zamówień, ID użytkowników. Idealne do łączenia tabel w BigQuery i fatalne jako wymiar w raporcie. Jeśli potrzebujesz `user_id` do łączenia urządzeń, wysyłaj go jako pole User-ID w konfiguracji tagu Google, a nie jako wymiar niestandardowy.

**Nikt tego nie obejrzy.** Jeśli nie umiesz wskazać raportu ani pytania, któremu wymiar służy, nie rejestruj go. "Może kiedyś się przyda" to dokładnie ta droga, którą Dorota doszła do 41.

**To dane osobowe.** Adresy e-mail, numery telefonów, imiona i nazwiska. Regulamin Google zabrania wysyłania PII do GA4, a w świetle RODO to Twój problem, nie Google. Zdarza się częściej, niż myślisz. Zwykle to pole formularza złapane przez niedbały trigger.

**Potrzebujesz tego raz.** Przy jednorazowym dochodzeniu surowy parametr w BigQuery odpowie na pytanie bez zużywania slotu. Wolę spędzić 20 minut nad zapytaniem niż na stałe oddać jeden z 50.

## Wysyłanie parametru z GTM

Wymiar niestandardowy działa tylko wtedy, gdy parametr faktycznie dociera. W Google Tag Manager dzieje się to w tagu zdarzenia GA4 (typ tagu **Google Analytics: GA4 Event**).

Dla wymiaru na poziomie zdarzenia dodaj go w sekcji **Event Parameters**. Nazwa parametru po lewej, wartość po prawej, zwykle zmienna warstwy danych:

```js
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  event: 'form_submit_custom',
  form_name: 'contact',
  form_location: 'footer'
});
```

W tagu: parametr `form_name` z wartością `{{DLV - form_name}}`, parametr `form_location` z wartością `{{DLV - form_location}}`. W GA4: dwa wymiary na poziomie zdarzenia z polem parametru zdarzenia ustawionym na `form_name` i `form_location`.

Dla wymiaru na poziomie użytkownika użyj sekcji **User Properties** w tym samym tagu albo ustaw wartość raz w konfiguracji tagu Google, żeby niosło ją każde zdarzenie. Wartości w stylu `customer_tier: "gold"` pasują tu idealnie.

Dla wymiarów na poziomie produktu własny klucz trafia do każdego obiektu w tablicy `items` w Twoim pushu e-commerce, obok `item_id` i `item_name`. Coś w stylu `item_material: "merino"`, a potem rejestrujesz `item_material` jako wymiar na poziomie produktu w tym samym ekranie Definicji niestandardowych.

Jedna pułapka, którą warto powtórzyć. `Form_Name`, `form_name` i `formName` to trzy różne parametry. GA4 rozróżnia wielkość liter i nie ostrzeże Cię. Rejestracja po cichu czeka na parametr, który nigdy nie przychodzi, a wymiar pokazuje "(not set)" na zawsze.

## Nazewnictwo, które przetrwa następny audyt

Kilka konwencji, które stosuję w każdej usłudze, bo przyspieszają audyt dziesięciokrotnie.

- **snake_case dla parametrów**, zawsze: `form_name`, `cta_location`, `plan_type`. Zgadza się to z zalecanymi zdarzeniami samego Google.
- **Ludzkie etykiety dla nazw wymiarów**: "Nazwa formularza", "Miejsce CTA", "Typ planu".
- **Żadnych przyrostków z wersją.** Nigdy. Jeśli istnieje `form_name_v2`, ktoś w końcu wyśle `form_name_v3` i masz trzy wymiary wypełnione w połowie.
- **Używaj pola opisu**, żeby zapisać, który tag w GTM wysyła wartość. To darmowa dokumentacja i leży tam, gdzie ludzie faktycznie zaglądają.
- **Jeden parametr, jedno znaczenie.** Nie używaj `label` raz dla tekstu przycisku, a raz dla kategorii produktu. Wymiar w raporcie może znaczyć tylko jedną rzecz.

Kiedy wymiary już istnieją i mają dane, możesz wbudować je w [raporty niestandardowe GA4](https://piotrlitwa.com/articles/pl/ga4-raporty-niestandardowe-poradnik.html) albo rozbijać nimi dane w [eksploracjach](https://piotrlitwa.com/articles/pl/ga4-eksploracje-zaawansowana-analiza.html). Tam ta praca się zwraca.

## Najczęstsze pytania

**Czy wymiary niestandardowe GA4 działają wstecz?**
Nie. Wymiar niestandardowy wypełnia dane dopiero od chwili utworzenia. Zdarzenia zebrane wcześniej mają parametr w BigQuery (jeśli eksport był włączony), ale raporty i eksploracje nigdy nie pokażą go dla starszych dat.

**Ile wymiarów niestandardowych mogę mieć w GA4?**
Standardowa usługa pozwala na 50 wymiarów na poziomie zdarzenia, 25 na poziomie użytkownika i 10 na poziomie produktu, plus 50 danych niestandardowych. GA4 360 podnosi limity wymiarów do 125, 100 i 25. Archiwizacja wymiaru zwalnia jego slot.

**Dlaczego mój nowy wymiar niestandardowy nie pokazuje danych?**
Zwykle z jednego z trzech powodów: minęło mniej niż 24 do 48 godzin, nazwa parametru nie zgadza się dokładnie (wielkość liter ma znaczenie) albo parametr w ogóle nie jest wysyłany. Najpierw sprawdź DebugView. Jeśli parametru tam nie ma, problem jest w GTM, nie w GA4.

**Czym różni się wymiar na poziomie zdarzenia od wymiaru na poziomie użytkownika?**
Wartości na poziomie zdarzenia opisują pojedyncze zdarzenie, na przykład który formularz został wysłany. Wartości na poziomie użytkownika opisują człowieka i stosują się do jego późniejszej aktywności, na przykład poziom klienta. Zakres zdarzenia dla działań, zakres użytkownika dla cech użytkownika.

**Dlaczego widzę "(other)" w raportach z moim wymiarem niestandardowym?**
Raport dobił do limitów wierszy, a najczęstszą przyczyną są wymiary o wysokiej kardynalności. Google uznaje za taki wymiar ponad 500 unikalnych wartości dziennie. Usuń ID, znaczniki czasu i surowe URL-e z wymiarów niestandardowych albo przenieś tę analizę do BigQuery.

**Czy mogę zmienić zakres wymiaru niestandardowego po jego utworzeniu?**
Nie. Zakres jest zablokowany po zapisaniu. Musiałbyś zarchiwizować wymiar i utworzyć nowy z właściwym zakresem, a nowy zacznie zbierać dane od zera.

## Co dalej

Otwórz teraz Administracja > Wyświetlanie danych > Definicje niestandardowe i przeczytaj listę. Przy każdym wierszu zadaj jedno pytanie: który raport z tego korzysta? Jeśli nikt nie umie odpowiedzieć, to kandydat do archiwizacji.

Potem sprawdzenie w drugą stronę. Otwórz DebugView, wywołaj kluczowe zdarzenia i popatrz na przychodzące parametry. Wszystko, po czym naprawdę chciałbyś segmentować, a co nie jest jeszcze zarejestrowane, to dane, które tracisz każdego dnia. Zarejestruj to dziś, bo jutro będzie o dzień za późno.

Jeśli wolisz, żeby ktoś sprawdził stronę GTM, czyli tagi, parametry i to, czy zgadzają się z tym, czego oczekuje GA4, [darmowy audyt GTM](https://piotrlitwa.com/checkGTM/) robi dokładnie to. A jeśli chcesz, żeby taki dryf był wyłapywany co miesiąc, do tego służy [retainer z monitoringiem GA4](https://piotrlitwa.com/services.html#ga4).

---

**Źródła i dalsza lektura**
- [Custom dimensions and metrics](https://support.google.com/analytics/answer/14240153) (Google Analytics Help)
- [Configuration limits in GA4](https://support.google.com/analytics/answer/12229528) (Google Analytics Help)
- [Event collection limits](https://support.google.com/analytics/answer/9267744) (Google Analytics Help)
- [Set up events with Google Tag Manager](https://developers.google.com/analytics/devguides/collection/ga4/events?client_type=gtm) (Google for Developers)

---

*Written by [Piotr Litwa](https://piotrlitwa.com/about.html) - independent GTM & Analytics specialist.*
