{"id":10118,"date":"2026-10-04T18:39:00","date_gmt":"2026-10-04T16:39:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=10118"},"modified":"2026-09-27T22:44:05","modified_gmt":"2026-09-27T20:44:05","slug":"tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/","title":{"rendered":"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4"},"content":{"rendered":"<p>\u201eUnassigned\u201d w raporcie pozyskiwania ruchu GA4 nie jest kana\u0142em \u2014 to resztka, kt\u00f3ra zostaje, gdy \u017ar\u00f3d\u0142o i medium sesji nie pasuj\u0105 do \u017cadnej regu\u0142y w domy\u015blnej grupie kana\u0142\u00f3w. Czyni to z niego objaw o kilku niepowi\u0105zanych ze sob\u0105 przyczynach i w\u0142a\u015bnie dlatego typowa rada, \u017ceby \u201enaprawi\u0107 UTM-y\u201d, rozwi\u0105zuje cz\u0119\u015b\u0107 przypadk\u00f3w, a przy innych nie zmienia nic.<\/p>\n<p>Niezawodne podej\u015bcie polega na rozdzieleniu worka, zanim cokolwiek zostanie ruszone: jeden odczyt raportu oddziela problem z tagowaniem od problemu z utrat\u0105 danych, a ka\u017cdy z nich ma w\u0142asne rozwi\u0105zanie.<\/p>\n<figure class=\"lw-diagram\">\n<img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/ga4-unassigned-pl.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Przep\u0142yw diagnostyczny: wiersz Unassigned rozdzielony po \u017ar\u00f3dle i medium sesji na realn\u0105 warto\u015b\u0107 (b\u0142\u0105d tagowania) albo (not set) (utracony parametr), nast\u0119pnie naprawiony u \u017ar\u00f3d\u0142a i zweryfikowany\"><figcaption>Unassigned to nie jeden b&#322;&#261;d: wymiar dodatkowy rozstrzyga, czy to b&#322;&#261;d tagowania, czy utracony parametr.<\/figcaption><\/figure>\n<h2>Krok 1: Rozdzielenie worka po \u017ar\u00f3dle i medium sesji<\/h2>\n<p>W raporcie pozyskiwania ruchu dodanie <em>\u017ar\u00f3d\u0142a \/ medium sesji<\/em> jako wymiaru dodatkowego do wiersza Unassigned rozdziela go na dwa zasadniczo r\u00f3\u017cne przypadki:<\/p>\n<ul>\n<li>Pojawia si\u0119 <strong>realna warto\u015b\u0107<\/strong>, na przyk\u0142ad <code>newsletter \/ october-promo<\/code> \u2014 dane dotar\u0142y w ca\u0142o\u015bci, ale \u017cadna regu\u0142a kana\u0142u do nich nie pasuje. To problem taksonomii, rozwi\u0105zywalny przez poprawienie tagowania.<\/li>\n<li>Pojawia si\u0119 <strong><code>(not set)<\/code><\/strong> \u2014 sesja zacz\u0119\u0142a si\u0119 zupe\u0142nie bez informacji o \u017ar\u00f3dle. Regu\u0142y kana\u0142\u00f3w nie maj\u0105 z tym nic wsp\u00f3lnego; dane kampanii nigdy nie dotar\u0142y do GA4.<\/li>\n<\/ul>\n<p>Warto wcze\u015bniej zrobi\u0107 jeszcze jedno rozr\u00f3\u017cnienie: Unassigned w raporcie <em>pozyskiwania u\u017cytkownik\u00f3w<\/em> opisuje atrybucj\u0119 pierwszej wizyty, a raport pozyskiwania ruchu \u2014 ka\u017cd\u0105 pojedyncz\u0105 sesj\u0119. Zestawienie wymiaru o zakresie u\u017cytkownika z metryk\u0105 o zakresie sesji tworzy wiersze Unassigned odzwierciedlaj\u0105ce t\u0119 rozbie\u017cno\u015b\u0107 zakres\u00f3w, a nie b\u0142\u0105d zbierania danych \u2014 oba raporty warto wi\u0119c sprawdzi\u0107 osobno przed jak\u0105kolwiek zmian\u0105.<\/p>\n<h2>Krok 2: Gdy pojawia si\u0119 realna warto\u015b\u0107 \u2014 przypadek tagowania<\/h2>\n<p>Domy\u015blna grupa kana\u0142\u00f3w GA4 dopasowuje konkretne warto\u015bci, a nie intencje. Medium <code>newsletter<\/code> nie staje si\u0119 kana\u0142em E-mail; regu\u0142a E-mail wymaga \u017ar\u00f3d\u0142a lub medium o warto\u015bci dok\u0142adnie <em>email<\/em>, <em>e-mail<\/em>, <em>e_mail<\/em> albo <em>e mail<\/em>. Wielko\u015b\u0107 liter nie ma przy tym znaczenia, wi\u0119c <code>Email<\/code> wielk\u0105 liter\u0105 jest w porz\u0105dku; <code>newsletter<\/code>, <code>mailing<\/code> czy <code>crm<\/code> ju\u017c nie pasuj\u0105. R\u00f3wnie\u017c <code>utm_source<\/code> zupe\u0142nie bez <code>utm_medium<\/code> pozostawia GA4 bez mo\u017cliwo\u015bci zaklasyfikowania sesji.<\/p>\n<table style=\"width:100%;border-collapse:collapse\">\n<thead>\n<tr>\n<th style=\"white-space:nowrap;vertical-align:top\">Zamierzony kana\u0142<\/th>\n<th>Pasuj\u0105ce medium<\/th>\n<th>Cz\u0119sta warto\u015b\u0107, kt\u00f3ra nie pasuje<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\">E-mail<\/td>\n<td><code>email<\/code>, <code>e-mail<\/code>, <code>e_mail<\/code><\/td>\n<td><code>newsletter<\/code>, <code>mailing<\/code>, <code>crm<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\">Wyniki organiczne<\/td>\n<td><code>organic<\/code><\/td>\n<td><code>seo<\/code>, <code>search<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\">P\u0142atne wyniki<\/td>\n<td><code>cpc<\/code>, <code>ppc<\/code>, <code>paid<\/code>&hellip; (\u017ar\u00f3d\u0142o wyszukiwarki)<\/td>\n<td><code>sem<\/code>, <code>adwords<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\">Paid Social<\/td>\n<td><code>cpc<\/code>, <code>ppc<\/code>, <code>paid<\/code>&hellip; (\u017ar\u00f3d\u0142o spo\u0142eczno\u015bciowe)<\/td>\n<td><code>social-paid<\/code>, <code>fb-ads<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\">Odes\u0142ania<\/td>\n<td><code>referral<\/code>, <code>link<\/code><\/td>\n<td><code>partner<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\">Afiliacja<\/td>\n<td><code>affiliate<\/code><\/td>\n<td><code>affiliates<\/code>, <code>programpartnerski<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>&lt;!-- Wpada do Unassigned: zadna regula nie pasuje do medium=newsletter --&gt;\nhttps:\/\/example.com\/oferta?utm_source=mailchimp&utm_medium=newsletter\n\n&lt;!-- Klasyfikowane jako E-mail: medium pasuje do reguly kanalu --&gt;\nhttps:\/\/example.com\/oferta?utm_source=mailchimp&amp;utm_medium=email&amp;utm_campaign=october-promo<\/code><\/pre>\n<p>Poprawione tagowanie dzia\u0142a wy\u0142\u0105cznie na ruch zebrany od tego momentu; sesje ju\u017c zapisane zachowuj\u0105 warto\u015b\u0107, z jak\u0105 dotar\u0142y. W\u0142asna grupa kana\u0142\u00f3w potrafi przypisa\u0107 historyczne warto\u015bci do nazwanego kana\u0142u na potrzeby raportowania, ale jest to przeetykietowanie tego, co zebrano, a nie naprawa.<\/p>\n<h2>Krok 3: Gdy pojawia si\u0119 <code>(not set)<\/code> \u2014 parametry utracone po drodze<\/h2>\n<p>Sesja zaczynaj\u0105ca si\u0119 zupe\u0142nie bez \u017ar\u00f3d\u0142a wskazuje na drog\u0119, jak\u0105 przeby\u0142 odwiedzaj\u0105cy, a nie na tagowanie kampanii. Trzy mechanizmy odpowiadaj\u0105 za wi\u0119kszo\u015b\u0107 takich przypadk\u00f3w:<\/p>\n<ul>\n<li><strong>Przej\u015bcie mi\u0119dzy domenami bez linkera.<\/strong> Gdy odwiedzaj\u0105cy przechodzi z jednej domeny na drug\u0105 \u2014 sklep przekazuje ruch do operatora p\u0142atno\u015bci i z powrotem \u2014 GA4 przenosi to\u017csamo\u015b\u0107 w parametrze <code>_gl<\/code> dopisywanym przez pomiar mi\u0119dzydomenowy. Bez skonfigurowania obu domen w ramach tego samego strumienia danych powr\u00f3t rozpoczyna now\u0105 sesj\u0119, kt\u00f3rej odes\u0142aniem jest operator p\u0142atno\u015bci; je\u015bli ten host znajduje si\u0119 dodatkowo na li\u015bcie wyklucze\u0144 odes\u0142a\u0144, odes\u0142anie zostaje odrzucone i nie zostaje nic, do czego da\u0142oby si\u0119 przypisa\u0107 sesj\u0119.<\/li>\n<li><strong>Redirect gubi\u0105cy query string.<\/strong> Przekierowanie po stronie serwera dotycz\u0105ce j\u0119zyka, uko\u015bnika ko\u0144cowego albo http-na-https, kt\u00f3re sk\u0142ada adres na nowo bez przekazania <code>?utm_&hellip;<\/code>, usuwa parametry kampanii, zanim jakikolwiek tag zd\u0105\u017cy je odczyta\u0107.<\/li>\n<li><strong>Tag odpalaj\u0105cy si\u0119 po zmianie adresu.<\/strong> W aplikacji jednostronicowej zmiana trasy po stronie klienta, nast\u0119puj\u0105ca przed za\u0142adowaniem tagu GA4, sprawia, \u017ce tag odczytuje adres ju\u017c po nawigacji \u2014 a ten nie niesie ju\u017c parametr\u00f3w kampanii.<\/li>\n<\/ul>\n<h2>Krok 4: Przypadek Consent Mode<\/h2>\n<p>Consent Mode dok\u0142ada si\u0119 do Unassigned w konkretny spos\u00f3b: gdy zgoda na magazyn reklamowy lub analityczny zostaje odm\u00f3wiona, identyfikator\u00f3w klikni\u0119cia ani parametru linkera nie da si\u0119 utrzyma\u0107 w ciasteczkach przy przej\u015bciu mi\u0119dzy stronami. W\u0142\u0105czone URL Passthrough w tagu Google albo w Conversion Linkerze zatrzymuje <code>gclid<\/code> i <code>_gl<\/code> w adresie URL, dzi\u0119ki czemu \u017ar\u00f3d\u0142o przetrwa nawigacj\u0119 nawet bez magazynu.<\/p>\n<p>Powa\u017cniejsz\u0105 przyczyn\u0105 jest twarde blokowanie. Niedopuszczenie do odpalenia tag\u00f3w Google a\u017c do momentu udzielenia zgody \u2014 przez trigger blokuj\u0105cy zamiast wbudowanych sprawdze\u0144 zgody \u2014 oznacza, \u017ce wy\u015bwietlenie strony docelowej nigdy nie zostaje zmierzone; pierwsze zdarzenie, jakie widzi GA4, dociera ju\u017c po przej\u015bciu dalej, bez pierwotnych parametr\u00f3w kampanii. Skorzystanie z w\u0142asnych ustawie\u0144 zgody w tagach zachowuje ten pierwszy strza\u0142 jako ping bez ciasteczek, kt\u00f3ry wci\u0105\u017c niesie \u017ar\u00f3d\u0142o \u2014 i kt\u00f3ry jest zarazem podstaw\u0105 modelowania behawioralnego.<\/p>\n<h2>Krok 5: Policzenie skali w BigQuery<\/h2>\n<p>Interfejs GA4 pokazuje udzia\u0142; eksport do BigQuery pokazuje, z jakimi kombinacjami \u017ar\u00f3d\u0142a i medium sesje docieraj\u0105 \u2014 i dopiero to czyni napraw\u0119 mierzaln\u0105. Grupy kana\u0142\u00f3w eksport nie zawiera, a <code>manual_source<\/code> i <code>manual_medium<\/code> w <code>collected_traffic_source<\/code> wed\u0142ug schematu eksportu Google zawieraj\u0105 nie tylko warto\u015bci UTM, lecz tak\u017ce warto\u015bci odczytane z parametr\u00f3w odes\u0142a\u0144; list\u0119 trzeba wi\u0119c por\u00f3wna\u0107 z regu\u0142ami kana\u0142\u00f3w:<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>SELECT\n  IFNULL(collected_traffic_source.manual_source, '(not set)') AS source,\n  IFNULL(collected_traffic_source.manual_medium, '(not set)') AS medium,\n  COUNT(*) AS sessions\nFROM `project.analytics_XXXXXXXXX.events_*`\nWHERE _TABLE_SUFFIX BETWEEN '20260901' AND '20260930'\n  AND event_name = 'session_start'\nGROUP BY source, medium\nORDER BY sessions DESC\nLIMIT 50;<\/code><\/pre>\n<p>Wiersze z realnymi, ale niedopasowanymi mediami wyliczaj\u0105 po\u0142ow\u0119 problemu zwi\u0105zan\u0105 z tagowaniem. Wiersze, w kt\u00f3rych oba pola maj\u0105 warto\u015b\u0107 <code>(not set)<\/code>, s\u0105 dla po\u0142owy zwi\u0105zanej z utrat\u0105 danych tylko g\u00f3rn\u0105 granic\u0105: zawieraj\u0105 te\u017c wej\u015bcia bezpo\u015brednie, kt\u00f3re nie nios\u0105 ani parametr\u00f3w UTM, ani odes\u0142ania i kt\u00f3re GA4 jako <code>(direct) \/ (none)<\/code> przypisuje do kana\u0142u Direct. Ponowne uruchomienie zapytania po ka\u017cdej zmianie pokazuje, kt\u00f3ra z tych dw\u00f3ch faktycznie drgn\u0119\u0142a.<\/p>\n<h2>Pozostaj\u0105c w granicach<\/h2>\n<p>Cz\u0119\u015bci brakuj\u0105cych danych kampanii nie da si\u0119 odzyska\u0107. Od os\u00f3b odmawiaj\u0105cych zgody na magazyn analityczny przy twardym blokowaniu nie dociera nic; przy ustawieniach zgody w tagach ich pingi bez ciasteczek wprawdzie nios\u0105 \u017ar\u00f3d\u0142o, ale nie pojawiaj\u0105 si\u0119 w raportach jako osobne sesje, tylko trafiaj\u0105 do modelowania behawioralnego, a \u017cadna konfiguracja nie odtworzy tego, co nigdy nie zosta\u0142o zebrane. Faktyczne wej\u015bcia bezpo\u015brednie i wizyty ze \u015brodowisk aplikacji i przegl\u0105darek usuwaj\u0105cych odes\u0142ania do tej cz\u0119\u015bci nie nale\u017c\u0105: bez \u017cadnego \u017ar\u00f3d\u0142a GA4 przypisuje je jako <code>(direct) \/ (none)<\/code> do kana\u0142u Direct. Realistycznym celem jest niewielki, stabilny udzia\u0142; rosn\u0105cy sygnalizuje now\u0105 usterk\u0119 i to w\u0142a\u015bnie ten odczyt wart jest obserwowania, a nie warto\u015b\u0107 bezwzgl\u0119dna.<\/p>\n<div class=\"lw-faq\">\n<h2>Pytania i odpowiedzi<\/h2>\n<h3>Jak znale\u017a\u0107 przekierowanie, kt\u00f3re gubi parametry UTM?<\/h3>\n<p>Przez wywo\u0142anie strony docelowej z parametrami testowymi i obejrzenie ka\u017cdego etapu \u0142a\u0144cucha przekierowa\u0144, na przyk\u0142ad w zak\u0142adce sieci w narz\u0119dziach deweloperskich albo za pomoc\u0105 <code>curl -sIL<\/code>. Rozstrzyga nag\u0142\u00f3wek Location ka\u017cdej odpowiedzi: je\u015bli brakuje w nim ci\u0105gu zapytania, kt\u00f3ry by\u0142 jeszcze w \u017c\u0105daniu, przyczyn\u0105 jest ten etap. Do pr\u00f3by nale\u017c\u0105 te\u017c warianty bez uko\u015bnika ko\u0144cowego, z http i z prefiksem j\u0119zykowym, bo ka\u017cdy z nich mo\u017ce uruchomi\u0107 w\u0142asn\u0105 regu\u0142\u0119.<\/p>\n<h3>Jak zachowa\u0107 parametry kampanii w aplikacji jednostronicowej do chwili, gdy odczyta je tag?<\/h3>\n<p>Artyku\u0142 nazywa mechanizm: je\u015bli router zmienia adres, zanim za\u0142aduje si\u0119 tag GA4, tag odczytuje adres bez parametr\u00f3w. Trzy rozwi\u0105zania pozwalaj\u0105 utrzyma\u0107 parametry:<\/p>\n<ol>\n<li>Wczesne \u0142adowanie tagu Google, w sekcji head strony i przed kodem routera, tak aby pierwsze wy\u015bwietlenie strony widzia\u0142o jeszcze pierwotny adres.<\/li>\n<li>Zapisanie adresu wej\u015bciowego w zmiennej zaraz po za\u0142adowaniu i przekazanie go jako <code>page_location<\/code> z pierwszym page_view. GA4 odczytuje parametry kampanii z tej warto\u015bci, wi\u0119c p\u00f3\u017aniejsza zmiana adresu ju\u017c na ni\u0105 nie wp\u0142ywa.<\/li>\n<li>Odroczenie porz\u0105dkowania adresu. Niekt\u00f3re aplikacje usuwaj\u0105 parametry zapytania przez <code>history.replaceState()<\/code>, \u017ceby adres wygl\u0105da\u0142 schludnie; powinno to nast\u0105pi\u0107 dopiero po wys\u0142aniu pierwszego trafienia.<\/li>\n<\/ol>\n<p>Baner zgody pogarsza problem, je\u015bli op\u00f3\u017ania \u0142adowanie tagu do chwili podj\u0119cia decyzji: do tego czasu router m\u00f3g\u0142 ju\u017c dawno zmieni\u0107 adres. Tu r\u00f3wnie\u017c pomaga ten sam zapisany adres wej\u015bciowy.<\/p>\n<\/div>\n<div class=\"lw-quellen\">\n<h2>\u0179r\u00f3d\u0142a<\/h2>\n<ul>\n<li><a href=\"https:\/\/developers.google.com\/analytics\/devguides\/collection\/ga4\" target=\"_blank\" rel=\"noopener noreferrer\">Google Analytics 4 developer guide<\/a><\/li>\n<li><a href=\"https:\/\/support.google.com\/analytics\/answer\/13504892\" target=\"_blank\" rel=\"noopener noreferrer\">Why (not set) appears in GA4 reports<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/security\/guides\/consent\" target=\"_blank\" rel=\"noopener noreferrer\">Consent Mode for websites<\/a><\/li>\n<\/ul>\n<\/div>\n<p><!-- lw-analytics-acquisition-guide:start --><\/p>\n<h2>Kontrola w praktyce: rzeczywiste wiersze pozyskiwania<\/h2>\n<p><a href=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/ga4-channel-grouping-debugger\/#lw-analytics-workbench\">Audyt pozyskiwania w testerze kana\u0142\u00f3w<\/a> uzupe\u0142nia pojedyncze przyk\u0142ady regu\u0142 o kontrol\u0119 danych raportowych. Po autoryzacji Google us\u0142ug\u0119 i jawny zakres dat wykorzystuje si\u0119 do zapytania. Narz\u0119dzie pobiera \u017ar\u00f3d\u0142o, medium, kampani\u0119 i domy\u015bln\u0105 grup\u0119 kana\u0142\u00f3w sesji wraz z sesjami. Nie miesza pozyskiwania pierwszego u\u017cytkownika z pozyskiwaniem sesji.<\/p>\n<ol>\n<li>Wyb\u00f3r zako\u0144czonego okresu raportowania. Najnowsze dane mog\u0105 si\u0119 jeszcze zmienia\u0107.<\/li>\n<li>Kontrola wierszy Unassigned od najwi\u0119kszych warto\u015bci sesji. Por\u00f3wnanie \u017ar\u00f3d\u0142a i medium z opisanymi regu\u0142ami kana\u0142\u00f3w.<\/li>\n<li>Sprawdzenie wariant\u00f3w takich jak <code>Email<\/code> i <code>email<\/code> oraz dodatkowych spacji w kampanii. Kandydat oznacza niesp\u00f3jno\u015b\u0107 nazewnictwa do zbadania, a nie automatyczn\u0105 poprawk\u0119.<\/li>\n<li>Kontrola metadanych przed interpretacj\u0105. Progi, pr\u00f3bkowanie i wiersz <code>(other)<\/code> mog\u0105 ukrywa\u0107 szczeg\u00f3\u0142y.<\/li>\n<li>Eksport wskaz\u00f3wek do CSV i poprawienie przysz\u0142ych link\u00f3w kampanii lub konfiguracji tam, gdzie uzasadniaj\u0105 to dane.<\/li>\n<\/ol>\n<p>Procent Unassigned opiera si\u0119 na sumie zwr\u00f3conych warto\u015bci sesji, a nie na osobno pobranej sumie us\u0142ugi. Narz\u0119dzie odrzuca niepe\u0142n\u0105 paginacj\u0119 i nie zmienia historycznej atrybucji. Samo <code>(not set)<\/code> nie rozstrzyga, czy przyczyn\u0105 braku by\u0142a zgoda, przekierowanie czy tagowanie.<\/p>\n<p>\u0179r\u00f3d\u0142a techniczne: <a href=\"https:\/\/developers.google.com\/analytics\/devguides\/reporting\/data\/v1\/api-schema\" target=\"_blank\" rel=\"noopener noreferrer\">wymiary i metryki Data API<\/a> oraz <a href=\"https:\/\/developers.google.com\/analytics\/devguides\/reporting\/data\/v1\/rest\/v1beta\/ResponseMetaData\" target=\"_blank\" rel=\"noopener noreferrer\">metadane odpowiedzi<\/a>.<\/p>\n<p><!-- lw-analytics-acquisition-guide:end --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Diagnostyka worka Unassigned w raportach pozyskiwania ruchu GA4 przez rozdzielenie go najpierw po \u017ar\u00f3dle i medium sesji, a nast\u0119pnie naprawa faktycznej przyczyny: niestandardowego tagowania UTM, parametr\u00f3w kampanii traconych mi\u0119dzy domenami lub na redirectach, albo bramki zgody odpalaj\u0105cej tag zbyt p\u00f3\u017ano.<\/p>\n","protected":false},"author":1,"featured_media":13829,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[117],"tags":[92361,92097,92100,92238,92116],"class_list":["post-10118","post","type-post","status-publish","format-standard","hentry","category-tutorials-pl","tag-attribution-pl","tag-data-quality-pl","tag-google-analytics-4-pl","tag-tutorial-pl","tag-web-analytics-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4 | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Rozdzielenie worka Unassigned po \u017ar\u00f3dle i medium sesji i naprawa przyczyny: tagowanie UTM, utracone parametry albo zbyt p\u00f3\u017ana bramka zgody.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4 | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Rozdzielenie worka Unassigned po \u017ar\u00f3dle i medium sesji i naprawa przyczyny: tagowanie UTM, utracone parametry albo zbyt p\u00f3\u017ana bramka zgody.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-04T16:39:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10118-tutorial-naprawa-ruchu-unassigned-w--g.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4\",\"datePublished\":\"2026-10-04T16:39:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/\"},\"wordCount\":1569,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10118-tutorial-naprawa-ruchu-unassigned-w--g.png\",\"keywords\":[\"Attribution\",\"Data Quality\",\"Google Analytics 4\",\"Tutorial\",\"Web Analytics\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/\",\"name\":\"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4 | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10118-tutorial-naprawa-ruchu-unassigned-w--g.png\",\"datePublished\":\"2026-10-04T16:39:00+00:00\",\"description\":\"Rozdzielenie worka Unassigned po \u017ar\u00f3dle i medium sesji i naprawa przyczyny: tagowanie UTM, utracone parametry albo zbyt p\u00f3\u017ana bramka zgody.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10118-tutorial-naprawa-ruchu-unassigned-w--g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10118-tutorial-naprawa-ruchu-unassigned-w--g.png\",\"width\":1200,\"height\":630,\"caption\":\"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/tutorials-pl\\\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4 | Lukas Wojcik","description":"Rozdzielenie worka Unassigned po \u017ar\u00f3dle i medium sesji i naprawa przyczyny: tagowanie UTM, utracone parametry albo zbyt p\u00f3\u017ana bramka zgody.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/","og_locale":"en_US","og_type":"article","og_title":"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4 | Lukas Wojcik","og_description":"Rozdzielenie worka Unassigned po \u017ar\u00f3dle i medium sesji i naprawa przyczyny: tagowanie UTM, utracone parametry albo zbyt p\u00f3\u017ana bramka zgody.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-10-04T16:39:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10118-tutorial-naprawa-ruchu-unassigned-w--g.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4","datePublished":"2026-10-04T16:39:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/"},"wordCount":1569,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10118-tutorial-naprawa-ruchu-unassigned-w--g.png","keywords":["Attribution","Data Quality","Google Analytics 4","Tutorial","Web Analytics"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/","name":"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4 | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10118-tutorial-naprawa-ruchu-unassigned-w--g.png","datePublished":"2026-10-04T16:39:00+00:00","description":"Rozdzielenie worka Unassigned po \u017ar\u00f3dle i medium sesji i naprawa przyczyny: tagowanie UTM, utracone parametry albo zbyt p\u00f3\u017ana bramka zgody.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10118-tutorial-naprawa-ruchu-unassigned-w--g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10118-tutorial-naprawa-ruchu-unassigned-w--g.png","width":1200,"height":630,"caption":"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/tutorials-pl\/tutorial-naprawa-ruchu-unassigned-w-raportach-pozyskiwania-ga4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Naprawa ruchu \u201eUnassigned\u201d w raportach pozyskiwania GA4"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=10118"}],"version-history":[{"count":5,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10118\/revisions"}],"predecessor-version":[{"id":20733,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10118\/revisions\/20733"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/13829"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=10118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=10118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=10118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}