{"id":249,"date":"2026-07-06T20:30:24","date_gmt":"2026-07-06T18:30:24","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=249"},"modified":"2026-07-06T20:30:24","modified_gmt":"2026-07-06T18:30:24","slug":"basic-a-advanced-consent-mode-architektura-sygnalow-pings","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/","title":{"rendered":"Basic a Advanced Consent Mode: Architektura sygna\u0142\u00f3w (pings)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Podczas wdra\u017cania Consent Mode v2, architekci danych musz\u0105 dokona\u0107 wyboru mi\u0119dzy dwoma odmiennymi ramami implementacyjnymi: podstawow\u0105 (Basic) a zaawansowan\u0105 (Advanced). Kluczowa r\u00f3\u017cnica sprowadza si\u0119 ca\u0142kowicie do sposobu, w jaki system obs\u0142uguje u\u017cytkownik\u00f3w, kt\u00f3rzy odmawiaj\u0105 zgody lub ignoruj\u0105 baner.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Basic Consent Mode (Blokowanie twarde)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">W implementacji podstawowej tagi Google s\u0105 ca\u0142kowicie blokowane przed wykonaniem, dop\u00f3ki u\u017cytkownik wyra\u017anie nie udzieli zgody.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Jak to dzia\u0142a:<\/strong> System zarz\u0105dzania tagami pe\u0142ni rol\u0119 rygorystycznego stra\u017cnika. Je\u015bli u\u017cytkownik kliknie \u201eOdm\u00f3w\u201d, tagi pozostaj\u0105 w stanie u\u015bpienia.<\/li>\n\n\n\n<li><strong>Rezultat:<\/strong> Do Google nie s\u0105 przesy\u0142ane \u017cadne dane \u2014 nawet \u017c\u0105dania sieciowe. Cho\u0107 jest to absolutnie najbezpieczniejsza droga dla zachowania \u015bcis\u0142ej zgodno\u015bci, prowadzi ona do ogromnej luki w danych. Utracona zostaje 100% widoczno\u015b\u0107 dzia\u0142a\u0144 u\u017cytkownik\u00f3w, kt\u00f3rzy nie wyrazili zgody, co uniemo\u017cliwia dok\u0142adne modelowanie.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Advanced Consent Mode (Sygna\u0142y bez plik\u00f3w cookie)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Jest to konfiguracja silnie rekomendowana przez Google i to tutaj ujawnia si\u0119 prawdziwa moc in\u017cynieryjna Consent Mode.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Jak to dzia\u0142a:<\/strong> Tagi Google \u0142aduj\u0105 si\u0119 natychmiast po otwarciu strony, ale ich dzia\u0142anie jest dynamicznie ograniczane na podstawie domy\u015blnego stanu zgody. Je\u015bli u\u017cytkownik odm\u00f3wi zgody, tagi nie odczytuj\u0105 ani nie zapisuj\u0105 \u017cadnych plik\u00f3w cookie. Zamiast tego przesy\u0142aj\u0105 do serwer\u00f3w Google anonimowe sygna\u0142y (tzw. &#8220;pings&#8221;) pozbawione ciasteczek.<\/li>\n\n\n\n<li><strong>Rezultat:<\/strong> Sygna\u0142y te przenosz\u0105 nieidentyfikowalne dane funkcjonalne (np. znaczniki czasu, user-agenty, strony odsy\u0142aj\u0105ce oraz podstawowe dane o zdarzeniach). Poniewa\u017c nie wykorzystuje si\u0119 \u017cadnych osobistych identyfikator\u00f3w ani plik\u00f3w cookie, metoda ta szanuje wybory u\u017cytkownik\u00f3w w zakresie prywatno\u015bci, dostarczaj\u0105c jednocze\u015bnie backendowi Google surowe, zagregowane sygna\u0142y niezb\u0119dne do uczenia maszynowego.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">W jaki spos\u00f3b GA4 i Google Ads modeluj\u0105 dane w trybie zaawansowanym<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sygna\u0142y bezciasteczkowe zebrane w ramach zaawansowanego Consent Mode stanowi\u0105 matematyczny fundament modeli uczenia maszynowego Google. Bez tych sygna\u0142\u00f3w Google nie posiada punktu odniesienia, z kt\u00f3rego mog\u0142oby ekstrapolowa\u0107 wyniki. Oto jak platformy przek\u0142adaj\u0105 anonimowe sygna\u0142y na u\u017cyteczne raporty i dane licytacyjne.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Modelowanie behawioralne w GA4<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Gdy u\u017cytkownik odmawia zgody na <code class=\"\">analytics_storage<\/code>, GA4 nie mo\u017ce wygenerowa\u0107 ani odczyta\u0107 standardowego pliku cookie Client ID, aby po\u0142\u0105czy\u0107 jego ods\u0142ony w sp\u00f3jn\u0105 sesj\u0119.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aby rozwi\u0105za\u0107 ten problem, GA4 wykorzystuje modelowanie behawioralne. System analizuje pe\u0142ne, obserwowalne \u015bcie\u017cki u\u017cytkownik\u00f3w, kt\u00f3rzy wyrazili zgod\u0119, aby wytrenowa\u0107 swoje modele uczenia maszynowego. Nast\u0119pnie stosuje te modele do sygna\u0142\u00f3w bezciasteczkowych generowanych przez u\u017cytkownik\u00f3w, kt\u00f3rzy odm\u00f3wili zgody. Algorytm w spos\u00f3b probabilistyczny szacuje, ilu unikalnych u\u017cytkownik\u00f3w odwiedzi\u0142o stron\u0119, ile sesji mia\u0142o miejsce i kt\u00f3re zdarzenia zosta\u0142y wywo\u0142ane. W interfejsie GA4 (je\u015bli to\u017csamo\u015b\u0107 raportowania jest ustawiona na \u201eMieszan\u0105\u201d) zapobiega to drastycznemu, sztucznemu spadkowi metryk ruchu i zachowuje dok\u0142adno\u015b\u0107 og\u00f3lnych wsp\u00f3\u0142czynnik\u00f3w konwersji.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Modelowanie konwersji w Google Ads<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli u\u017cytkownik kliknie reklam\u0119, ale odrzuci <code class=\"\">ad_storage<\/code> oraz <code class=\"\">ad_user_data<\/code>, Google Ads nie mo\u017ce u\u017cy\u0107 tradycyjnych plik\u00f3w cookie (takich jak GCLID lub DCLID), aby przypisa\u0107 p\u00f3\u017aniejszy zakup do pocz\u0105tkowego klikni\u0119cia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Poniewa\u017c jednak zaawansowany Consent Mode pozwala na wys\u0142anie sygna\u0142u konwersji bez ciasteczek, Google wie, \u017ce zakup faktycznie mia\u0142 miejsce. Silnik Google wykorzystuje modelowanie konwersji do analizy zagregowanych danych \u2014 takich jak czas od interakcji z reklam\u0105, typ urz\u0105dzenia, przegl\u0105darka i region geograficzny \u2014 aby probabilistycznie powi\u0105za\u0107 anonimowy sygna\u0142 konwersji z klikni\u0119ciem w reklam\u0119.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mechanizm ten jest si\u0142\u0105 nap\u0119dow\u0105 inteligentnego okre\u015blania stawek (Smart Bidding). Algorytmy takie jak Docelowy CPA (tCPA) czy Docelowy ROAS (tROAS) wymagaj\u0105 sta\u0142ego strumienia danych o konwersjach do optymalizacji stawek. Bez modelowania konwersji algorytm \u015blepo zak\u0142ada\u0142by, \u017ce reklamy przesta\u0142y dzia\u0142a\u0107, co powodowa\u0142oby ograniczenie emisji reklam i za\u0142amanie wynik\u00f3w kampanii.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Podczas wdra\u017cania Consent Mode v2, architekci danych musz\u0105 dokona\u0107 wyboru mi\u0119dzy dwoma odmiennymi ramami implementacyjnymi: podstawow\u0105 (Basic) a zaawansowan\u0105 (Advanced). Kluczowa r\u00f3\u017cnica sprowadza si\u0119 ca\u0142kowicie do sposobu, w jaki system obs\u0142uguje u\u017cytkownik\u00f3w, kt\u00f3rzy odmawiaj\u0105 zgody lub ignoruj\u0105 baner. Basic Consent Mode (Blokowanie twarde) W implementacji podstawowej tagi Google s\u0105 ca\u0142kowicie blokowane przed wykonaniem, dop\u00f3ki u\u017cytkownik [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-249","post","type-post","status-publish","format-standard","hentry","category-digital-analytics-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Basic a Advanced Consent Mode: Architektura sygna\u0142\u00f3w (pings) - Lukas Wojcik - Blog<\/title>\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\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Basic a Advanced Consent Mode: Architektura sygna\u0142\u00f3w (pings) - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Podczas wdra\u017cania Consent Mode v2, architekci danych musz\u0105 dokona\u0107 wyboru mi\u0119dzy dwoma odmiennymi ramami implementacyjnymi: podstawow\u0105 (Basic) a zaawansowan\u0105 (Advanced). Kluczowa r\u00f3\u017cnica sprowadza si\u0119 ca\u0142kowicie do sposobu, w jaki system obs\u0142uguje u\u017cytkownik\u00f3w, kt\u00f3rzy odmawiaj\u0105 zgody lub ignoruj\u0105 baner. Basic Consent Mode (Blokowanie twarde) W implementacji podstawowej tagi Google s\u0105 ca\u0142kowicie blokowane przed wykonaniem, dop\u00f3ki u\u017cytkownik [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-06T18:30:24+00:00\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 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\\\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Basic a Advanced Consent Mode: Architektura sygna\u0142\u00f3w (pings)\",\"datePublished\":\"2026-07-06T18:30:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\\\/\"},\"wordCount\":651,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"articleSection\":[\"Digital Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\\\/\",\"name\":\"Basic a Advanced Consent Mode: Architektura sygna\u0142\u00f3w (pings) - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-07-06T18:30:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Basic a Advanced Consent Mode: Architektura sygna\u0142\u00f3w (pings)\"}]},{\"@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\":\"luky\",\"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\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Basic a Advanced Consent Mode: Architektura sygna\u0142\u00f3w (pings) - Lukas Wojcik - Blog","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\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/","og_locale":"en_US","og_type":"article","og_title":"Basic a Advanced Consent Mode: Architektura sygna\u0142\u00f3w (pings) - Lukas Wojcik - Blog","og_description":"Podczas wdra\u017cania Consent Mode v2, architekci danych musz\u0105 dokona\u0107 wyboru mi\u0119dzy dwoma odmiennymi ramami implementacyjnymi: podstawow\u0105 (Basic) a zaawansowan\u0105 (Advanced). Kluczowa r\u00f3\u017cnica sprowadza si\u0119 ca\u0142kowicie do sposobu, w jaki system obs\u0142uguje u\u017cytkownik\u00f3w, kt\u00f3rzy odmawiaj\u0105 zgody lub ignoruj\u0105 baner. Basic Consent Mode (Blokowanie twarde) W implementacji podstawowej tagi Google s\u0105 ca\u0142kowicie blokowane przed wykonaniem, dop\u00f3ki u\u017cytkownik [&hellip;]","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-07-06T18:30:24+00:00","author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Basic a Advanced Consent Mode: Architektura sygna\u0142\u00f3w (pings)","datePublished":"2026-07-06T18:30:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/"},"wordCount":651,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"articleSection":["Digital Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/","name":"Basic a Advanced Consent Mode: Architektura sygna\u0142\u00f3w (pings) - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"datePublished":"2026-07-06T18:30:24+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/basic-a-advanced-consent-mode-architektura-sygnalow-pings\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Basic a Advanced Consent Mode: Architektura sygna\u0142\u00f3w (pings)"}]},{"@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":"luky","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":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/249","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=249"}],"version-history":[{"count":1,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/249\/revisions"}],"predecessor-version":[{"id":250,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/249\/revisions\/250"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=249"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}