{"id":13145,"date":"2026-09-23T18:25:00","date_gmt":"2026-09-23T16:25:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=13145"},"modified":"2026-09-09T13:21:48","modified_gmt":"2026-09-09T11:21:48","slug":"tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/","title":{"rendered":"Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy"},"content":{"rendered":"<p>Kampania o nazwie <em>Sommer Aktion<\/em> pojawia si\u0119 w raporcie jako <code>Sommer%20Aktion<\/code>. Nic nie jest zepsute &#8211; ruch dotar\u0142, sesje policzone, konwersje przypisane. Nie zgadza si\u0119 jedynie nazwa, a dziedziczy j\u0105 ka\u017cdy filtr, ka\u017cde por\u00f3wnanie i ka\u017cdy eksport.<\/p>\n<p>Przyczyna jest zawsze ta sama: warto\u015b\u0107 zakodowano dwukrotnie. R\u00f3\u017cni si\u0119 miejsce drugiego przebiegu &#8211; a sam raport m\u00f3wi, ile ich by\u0142o.<\/p>\n<figure class=\"lw-diagram\">\n<img src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/utm-doppelt-kodiert-pl.png\" width=\"1120\" height=\"580\" decoding=\"async\" loading=\"lazy\"\n     alt=\"Jedna nazwa kampanii przez trzy stopnie kodowania, dla ka\u017cdego obok siebie warto\u015b\u0107 w adresie i warto\u015b\u0107 w raporcie\"><figcaption>Ka\u017cdy kolejny przebieg zamienia znak procentu poprzedniego w %25. Policzenie ich w raporcie daje liczb\u0119 kodowa\u0144.<\/figcaption><\/figure>\n<h2>Co robi kodowanie procentowe i co dzieje si\u0119 dwa razy<\/h2>\n<p>Adres mo\u017ce zawiera\u0107 tylko ograniczony zestaw znak\u00f3w. Wszystko inne zapisuje si\u0119 jako znak procentu z szesnastkow\u0105 warto\u015bci\u0105 bajt\u00f3w &#8211; ze spacji powstaje <code>%20<\/code>, z ampersandu <code>%26<\/code>, a z \u00fc powstaje <code>%C3%BC<\/code>, bo w UTF-8 ma dwa bajty.<\/p>\n<p>Sam znak procentu nale\u017cy do znak\u00f3w wymagaj\u0105cych zakodowania &#8211; i na tym opiera si\u0119 ca\u0142y mechanizm problemu. Ponowne zakodowanie ju\u017c zakodowanego ci\u0105gu zamienia ka\u017cde <code>%<\/code> w <code>%25<\/code>.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>Sommer Aktion          wartosc, tak jak zapisana\nSommer%20Aktion        zakodowana raz   - w adresie poprawnie\nSommer%2520Aktion      zakodowana dwa razy - %20 zakodowano ponownie\nSommer%252520Aktion    zakodowana trzy razy<\/code><\/pre>\n<p>Odczyt w drug\u0105 stron\u0119 jest r\u00f3wnie mechaniczny. Dekoder zamienia <code>%2520<\/code> z powrotem w <code>%20<\/code>, a to dos\u0142owne procent-dwa-zero, a nie spacja &#8211; warto\u015b\u0107 dociera wi\u0119c jako tekst ze znakiem procentu w \u015brodku, i dok\u0142adnie to pokazuje raport.<\/p>\n<h2>Trzy miejsca powstawania drugiego przebiegu<\/h2>\n<p>Adres rzadko powstaje w jednym kroku, a ka\u017cdy kolejny krok jest kandydatem.<\/p>\n<p>Pierwszym jest sam kreator odno\u015bnik\u00f3w. Narz\u0119dzie bior\u0105ce gotowo z\u0142o\u017cony adres i koduj\u0105ce ca\u0142o\u015b\u0107 wytwarza dok\u0142adnie to. Pozna\u0107 to po tym, \u017ce dotkni\u0119te s\u0105 tak\u017ce ampersandy mi\u0119dzy parametrami: adres z <code>%26utm_source%3D<\/code> zakodowano jako ca\u0142o\u015b\u0107 zamiast po sk\u0142adnikach &#8211; i jako odno\u015bnik ju\u017c nawet nie dzia\u0142a.<\/p>\n<p>Drugim jest pomiar klikni\u0119\u0107. Narz\u0119dzie pocztowe albo platforma reklamowa pakuj\u0105ca cel jako parametr w\u0142asnego adresu musi go raz zakodowa\u0107 &#8211; i s\u0142usznie. Je\u017celi cel by\u0142 ju\u017c zakodowany, kodowanie opakowania jest drugim przebiegiem, a wynik dociera do witryny nienaruszony, lecz z podwojonymi warto\u015bciami.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>https:\/\/klick.beispiel\/r?u=https%3A%2F%2Fshop.example%2F%3Futm_campaign%3DSommer%2520Aktion\n                            \u2514\u2500 poprawne kodowanie celu \u2500\u2518  \u2514 juz zakodowane \u2518<\/code><\/pre>\n<p>Trzecim jest system redakcyjny. Pole przechowuj\u0105ce adres i maskuj\u0105ce go przy zapisie, a potem maskuj\u0105ce ponownie przy wy\u015bwietlaniu, daje ten sam wynik &#8211; i to jedyny przypadek, w kt\u00f3rym nic w narz\u0119dziu marketingowym nie zawini\u0142o, dlatego najd\u0142u\u017cej zwraca na siebie uwag\u0119.<\/p>\n<h2>Rozr\u00f3\u017cnienie przypadk\u00f3w w raporcie<\/h2>\n<p>Liczb\u0119 przebieg\u00f3w da si\u0119 odczyta\u0107 z warto\u015bci, a wskazuje ona za ka\u017cdym razem innego sprawc\u0119.<\/p>\n<table style=\"width:100%;border-collapse:collapse;table-layout:auto;\">\n<thead>\n<tr>\n<th style=\"white-space:nowrap;vertical-align:top;\">W raporcie<\/th>\n<th style=\"white-space:nowrap;vertical-align:top;\">Przebiegi<\/th>\n<th style=\"vertical-align:top;\">Gdzie szuka\u0107<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">Sommer Aktion<\/td>\n<td>1<\/td>\n<td>Poprawnie &#8211; nic do zrobienia<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">Sommer%20Aktion<\/td>\n<td>2<\/td>\n<td>Kreator odno\u015bnik\u00f3w albo pomiar klikni\u0119\u0107<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">Sommer%2520Aktion<\/td>\n<td>3<\/td>\n<td>Dwa opakowania jedno po drugim<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">Sommer+Aktion<\/td>\n<td>1<\/td>\n<td>Inna konwencja, patrz ni\u017cej<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">Sommer%C3%A4Aktion<\/td>\n<td>2<\/td>\n<td>Ten sam problem, znak spoza ASCII<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Najszybciej wida\u0107 to wszystko przez posortowanie wymiaru kampanii i przeszukanie go pod k\u0105tem znaku procentu. Jeden filtr na <code>%<\/code> po kampanii, \u017ar\u00f3dle, medium, s\u0142owie i tre\u015bci znajduje ka\u017cd\u0105 dotkni\u0119t\u0105 warto\u015b\u0107 w jednym przebiegu, a liczba obok m\u00f3wi, ile ruchu l\u0105duje w niew\u0142a\u015bciwym koszyku.<\/p>\n<p>Ostatni wiersz zas\u0142uguje na uwag\u0119. Raz zakodowane \u00e4 to <code>%C3%A4<\/code> i jest to poprawne &#8211; raport powinien pokaza\u0107 liter\u0119. Zobaczenie sekwencji ucieczki w raporcie oznacza, \u017ce zakodowano dwa razy, dok\u0142adnie jak przy spacji.<\/p>\n<h2>Kodowanie sk\u0142adnik\u00f3w, a nie adres\u00f3w<\/h2>\n<p>Zasada zapobiegaj\u0105ca temu wszystkiemu to jedno zdanie: zakodowa\u0107 ka\u017cd\u0105 warto\u015b\u0107 osobno, a potem z\u0142o\u017cy\u0107. Nigdy nie kodowa\u0107 adresu, w kt\u00f3rym stoj\u0105 ju\u017c parametry.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>const ziel   = \"https:\/\/shop.example\/sommer\";\nconst felder = {\n  utm_source:   \"newsletter\",\n  utm_medium:   \"email\",\n  utm_campaign: \"Sommer Aktion\",\n  utm_content:  \"kopfbild &amp; titel\"\n};\n\nconst url = ziel + \"?\" + Object.entries(felder)\n  .map(([k, v]) =&gt; encodeURIComponent(k) + \"=\" + encodeURIComponent(v))\n  .join(\"&amp;\");\n\n\/\/ https:\/\/shop.example\/sommer?utm_source=newsletter&amp;utm_medium=email\n\/\/   &amp;utm_campaign=Sommer%20Aktion&amp;utm_content=kopfbild%20%26%20titel<\/code><\/pre>\n<p>Liczy si\u0119 tu r\u00f3\u017cnica mi\u0119dzy dwiema dost\u0119pnymi funkcjami. <code>encodeURIComponent<\/code> koduje wszystko, co nie jest niezastrze\u017cone, \u0142\u0105cznie z <code>&amp;<\/code>, <code>=<\/code> oraz <code>?<\/code>, i nale\u017cy do pojedynczych warto\u015bci. <code>encodeURI<\/code> zostawia w\u0142a\u015bnie te znaki w spokoju, bo nios\u0105 znaczenie strukturalne, i nale\u017cy do ca\u0142ego, jeszcze niezakodowanego adresu. Zastosowanie tej drugiej do warto\u015bci to droga, kt\u00f3r\u0105 ampersand w nazwie kampanii rozbija j\u0105 na dwa parametry.<\/p>\n<p>Prosty nawyk domyka pozosta\u0142\u0105 luk\u0119: zbudowa\u0107 adres ostateczny raz i wstawia\u0107 wsz\u0119dzie ten ci\u0105g. Adres sk\u0142adany ponownie w drugim narz\u0119dziu to adres kodowany ponownie.<\/p>\n<h2>Spacja, kt\u00f3ra bywa plusem<\/h2>\n<p>Dla spacji w ci\u0105gu zapytania istniej\u0105 dwie konwencje i obie s\u0105 w u\u017cyciu.<\/p>\n<p>Kodowanie procentowe zapisuje <code>%20<\/code>. Kodowanie formularzowe, format przegl\u0105darki przy wysy\u0142ce formularza metod\u0105 GET, zapisuje <code>+<\/code>. Jedno i drugie wyst\u0119puje w adresach, a r\u00f3\u017cnica polega na tym, \u017ce dekoderowi trzeba powiedzie\u0107, co ma przed sob\u0105: dekoder og\u00f3lny zostawia plus plusem, a formularzowy robi z niego spacj\u0119.<\/p>\n<p>Skutek praktyczny: nazwy kampanii ze znakiem plus nie da si\u0119 odr\u00f3\u017cni\u0107 od nazwy ze spacj\u0105, a to, kt\u00f3re z dwojga zg\u0142asza dane narz\u0119dzie, jest w\u0142a\u015bciwo\u015bci\u0105 tego narz\u0119dzia. Dwa systemy mog\u0105 wi\u0119c by\u0107 odmiennego zdania o tej samej kampanii, a \u017caden z nich nie b\u0119dzie w b\u0142\u0119dzie.<\/p>\n<p>Wyj\u015bciem jest unikanie tej dwuznaczno\u015bci zamiast jej rozwi\u0105zywania. Warto\u015bci kampanii bez spacji &#8211; <code>sommer-aktion<\/code> zamiast <code>Sommer Aktion<\/code> &#8211; ca\u0142e to pytanie omija, a przy okazji prze\u017cywaj\u0105 zamian\u0119 na ma\u0142e litery, kt\u00f3r\u0105 cz\u0119\u015b\u0107 platform wykonuje bez pytania. Konwencja nazewnicza z my\u015blnikami i ma\u0142ymi literami usuwa ca\u0142\u0105 klas\u0119 szumu w raportach kosztem nieco mniej \u0142adnego widoku w arkuszu.<\/p>\n<h2>Naprawa zapisanego zasobu<\/h2>\n<p>Poprawienie odno\u015bnika zatrzymuje nowe szkody. Zebrane sesje zachowuj\u0105 dotychczasowe warto\u015bci, a dr\u00f3g jest trzy, uporz\u0105dkowanych wed\u0142ug trwa\u0142o\u015bci.<\/p>\n<p>W raporcie dwie warto\u015bci r\u00f3\u017cni\u0105ce si\u0119 jedynie kodowaniem da si\u0119 zestawi\u0107 r\u0119cznie &#8211; por\u00f3wnanie, segment albo grupowanie w arkuszu. To droga uczciwa dla kampanii zako\u0144czonej: nic nie zostaje zmienione, r\u00f3\u017cnica po prostu zostaje rozliczona.<\/p>\n<p>Dla kampanii trwaj\u0105cej lepsza jest regu\u0142a przy zbieraniu. GA4 potrafi przepisa\u0107 przychodz\u0105cy parametr przed zapisem, a to samo jest mo\u017cliwe krok wcze\u015bniej w tagu &#8211; raz zdekodowa\u0107 warto\u015b\u0107 i zapisa\u0107 z powrotem.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>function () {\n  var wert = {{URL - utm_campaign}};\n  if (!wert) { return undefined; }\n  \/\/ odkodowac raz dodatkowo, jesli zostalo %25\n  while (\/%25\/.test(wert)) {\n    try { wert = decodeURIComponent(wert); } catch (e) { break; }\n  }\n  return wert;\n}<\/code><\/pre>\n<p>Konstrukcja <code>try<\/code> wok\u00f3\u0142 dekodowania nie jest ozdob\u0105. Warto\u015b\u0107 z pojedynczym znakiem procentu, nietworz\u0105cym poprawnej sekwencji ucieczki, ka\u017ce <code>decodeURIComponent<\/code> rzuci\u0107 wyj\u0105tkiem, a bez zabezpieczenia zmienna nie zwraca nic &#8211; z problemu kosmetycznego robi si\u0119 wtedy brakuj\u0105ca kampania.<\/p>\n<p>A w BigQuery wiersze historyczne da si\u0119 poprawi\u0107 w zapytaniu zamiast w danych, co pozostawia surowy eksport nietkni\u0119ty i jest odwracalne.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>SELECT\n  REPLACE(REPLACE(kampagne, '%2520', ' '), '%20', ' ') AS kampagne_sauber,\n  COUNT(*) AS sitzungen\nFROM `projekt.dataset.sitzungen`\nGROUP BY kampagne_sauber\nORDER BY sitzungen DESC;<\/code><\/pre>\n<p>Kt\u00f3ra z tych trzech dr\u00f3g jest w\u0142a\u015bciwa, zale\u017cy od jednego pytania: czy liczby id\u0105 do raportu, wed\u0142ug kt\u00f3rego kto\u015b b\u0119dzie dzia\u0142a\u0142, czy do archiwum. Dla pierwszego poprawia\u0107 przy zbieraniu. Dla drugiego wystarczy poprawka w zapytaniu &#8211; i zostawia ona dow\u00f3d tego, co faktycznie dotar\u0142o.<\/p>\n<div class=\"lw-quellen\">\n<h2>\u0179r\u00f3d\u0142a<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc3986.html\" target=\"_blank\" rel=\"noopener noreferrer\">RFC 3986: URI Generic Syntax<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Kampania nazywaj\u0105ca si\u0119 w raporcie Sommer%20Aktion zosta\u0142a zakodowana o raz za du\u017co &#8211; a raport m\u00f3wi dok\u0142adnie, ile razy. Trzy miejsca wytwarzaj\u0105 ten drugi przebieg, a naprawia\u0107 po fakcie op\u0142aca si\u0119 tylko jedno z nich.<\/p>\n","protected":false},"author":1,"featured_media":13254,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[131],"tags":[92361,92038,92044,92238],"class_list":["post-13145","post","type-post","status-publish","format-standard","hentry","category-tutorials-pl-digital-marketing-pl","tag-attribution-pl","tag-marketing-cyfrowy-pl-pl","tag-tracking-pl","tag-tutorial-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy - Lukas Wojcik - Blog<\/title>\n<meta name=\"description\" content=\"Odczyt kodowania procentowego, odr\u00f3\u017cnienie jednego przebiegu od dw\u00f3ch, kodowanie sk\u0142adnik\u00f3w zamiast adres\u00f3w i naprawa zapisanego zasobu.\" \/>\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-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Odczyt kodowania procentowego, odr\u00f3\u017cnienie jednego przebiegu od dw\u00f3ch, kodowanie sk\u0142adnik\u00f3w zamiast adres\u00f3w i naprawa zapisanego zasobu.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-23T16:25:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13145-tutorial-podwojnie-zakodowane-parametry-.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=\"6 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-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy\",\"datePublished\":\"2026-09-23T16:25:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/\"},\"wordCount\":1083,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-13145-tutorial-podwojnie-zakodowane-parametry-.png\",\"keywords\":[\"Attribution\",\"Digital Marketing\",\"Tracking\",\"Tutorial\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/\",\"name\":\"Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-13145-tutorial-podwojnie-zakodowane-parametry-.png\",\"datePublished\":\"2026-09-23T16:25:00+00:00\",\"description\":\"Odczyt kodowania procentowego, odr\u00f3\u017cnienie jednego przebiegu od dw\u00f3ch, kodowanie sk\u0142adnik\u00f3w zamiast adres\u00f3w i naprawa zapisanego zasobu.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-13145-tutorial-podwojnie-zakodowane-parametry-.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-13145-tutorial-podwojnie-zakodowane-parametry-.png\",\"width\":1200,\"height\":630,\"caption\":\"Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-marketing-pl\\\/tutorials-pl-digital-marketing-pl\\\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy\"}]},{\"@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: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy - Lukas Wojcik - Blog","description":"Odczyt kodowania procentowego, odr\u00f3\u017cnienie jednego przebiegu od dw\u00f3ch, kodowanie sk\u0142adnik\u00f3w zamiast adres\u00f3w i naprawa zapisanego zasobu.","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-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/","og_locale":"en_US","og_type":"article","og_title":"Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy - Lukas Wojcik - Blog","og_description":"Odczyt kodowania procentowego, odr\u00f3\u017cnienie jednego przebiegu od dw\u00f3ch, kodowanie sk\u0142adnik\u00f3w zamiast adres\u00f3w i naprawa zapisanego zasobu.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-23T16:25:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13145-tutorial-podwojnie-zakodowane-parametry-.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy","datePublished":"2026-09-23T16:25:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/"},"wordCount":1083,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13145-tutorial-podwojnie-zakodowane-parametry-.png","keywords":["Attribution","Digital Marketing","Tracking","Tutorial"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/","name":"Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13145-tutorial-podwojnie-zakodowane-parametry-.png","datePublished":"2026-09-23T16:25:00+00:00","description":"Odczyt kodowania procentowego, odr\u00f3\u017cnienie jednego przebiegu od dw\u00f3ch, kodowanie sk\u0142adnik\u00f3w zamiast adres\u00f3w i naprawa zapisanego zasobu.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13145-tutorial-podwojnie-zakodowane-parametry-.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-13145-tutorial-podwojnie-zakodowane-parametry-.png","width":1200,"height":630,"caption":"Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-marketing-pl\/tutorials-pl-digital-marketing-pl\/tutorial-podwojnie-zakodowane-parametry-utm-i-miejsce-ich-naprawy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Podw\u00f3jnie zakodowane parametry UTM i miejsce ich naprawy"}]},{"@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\/13145","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=13145"}],"version-history":[{"count":1,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/13145\/revisions"}],"predecessor-version":[{"id":17259,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/13145\/revisions\/17259"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/13254"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=13145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=13145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=13145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}