Jak pozbyć się ruchu „Unassigned” w GA4 przy server-side GTM 📉
(i dlaczego jeden parametr robi ogromną różnicę)
Jeśli pracujesz z server-side Google Tag Manager, prawdopodobnie znasz ten ból:
otwierasz raporty w GA4, a tam… ogromny blok „Unassigned”.
Dane wyglądają na niekompletne, a atrybucja źródeł zaczyna przypominać wróżenie z fusów.
Ostatnio zagłębiłem się w ten temat i okazało się, że często problem nie leży w samej konfiguracji tagów, ale w sygnałach, które trafiają do GA4.
Kluczowy parametr: allow_google_signals
W kontekście sGTM ogromne znaczenie ma parametr:
allow_google_signals
Ustawienie go na true w konfiguracji taga Google Analytics 4 pozwala Google:
- lepiej łączyć sesje między urządzeniami,
- skuteczniej dopasowywać użytkowników,
- poprawić logikę przypisywania Source / Medium.
Efekt?
Sesje, które wcześniej trafiały do „Unassigned”, zaczynają być prawidłowo przypisywane do realnych źródeł ruchu.
Mała zmiana → duża poprawa jakości danych.
Ważne doprecyzowanie (z komentarzy): domyślne ≠ skuteczne
Zgodnie z dokumentacją Google:
allow_google_signalsdomyślnie jest ustawione natrue
ALE 👇
W setupach server-side GTM bardzo często:
- parametr nie jest przekazywany dalej,
- jest blokowany przez logikę zgód,
- albo traci się w customowej konfiguracji klienta/tagów.
➡️ Dlatego jawne ustawienie tego parametru w sGTM sprawia, że zachowanie staje się spójne i przewidywalne.
⚠️ Kluczowe: zgoda użytkownika (Consent Mode)
Ponieważ Google Signals korzysta z danych osobowych, nie wolno włączać tego parametru „na sztywno”.
Poprawne podejście:
allow_google_signalsmusi być zależne od zgody na analitykę- najlepiej powiązać go z
analytics_storage
Przykładowa logika:
- zgoda udzielona →
allow_google_signals = true - brak zgody →
allow_google_signals = false
To w pełni zgodne z Google Consent Mode (Advanced)
i absolutnie konieczne z perspektywy privacy.
„Ale przecież Google Signals zostało usunięte z raportów GA4?”
To częste pytanie (i bardzo trafne).
Rzeczywiście:
- dedykowane raporty Google Signals zniknęły z interfejsu GA4
ALE:
- mechanizm dopasowywania nadal działa
allow_google_signalswciąż wpływa na łączenie sesji i urządzeń- właśnie tam następuje realna redukcja „Unassigned”
Krótko mówiąc:
zmieniła się widoczność w UI, nie funkcjonalność pod spodem.
Dodatkowe niuanse z praktyki (bardzo ważne)
Z komentarzy warto dodać jeszcze dwie rzeczy:
1️⃣ sGTM a cookies first-party
W wielu przypadkach „Unassigned” wynika z tego, że:
_galub_gcl_*nie są poprawnie odczytywane i przepisywane- web GTM nie jest dostosowany do customowej domeny serwera
Jeśli to nie jest zrobione poprawnie:
- nawet idealne parametry nie pomogą
- atrybucja po prostu się rozpada
👉 Przy dobrze skonfigurowanym sGTM:
„Unassigned” powinno być < 3%
2️⃣ Inne parametry
W bardziej zaawansowanych setupach można rozważyć też:
personalization_signal
(oczywiście – również tylko po zgodzie)
Podsumowanie
Jeśli widzisz dużo „Unassigned” w GA4 przy sGTM:
- Sprawdź cookies first-party i custom server domain
- Jawnie ustaw
allow_google_signals - Uzależnij go od
analytics_storage - Nie traktuj problemu jak „buga” – to często problem sygnałów
To mały parametr, ale potrafi zrobić ogromną różnicę w jakości danych.