{"id":10549,"date":"2026-09-01T18:25:00","date_gmt":"2026-09-01T16:25:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=10549"},"modified":"2026-10-24T05:23:54","modified_gmt":"2026-10-24T03:23:54","slug":"segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/","title":{"rendered":"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC"},"content":{"rendered":"<p>Segment disclosed vendors w ci\u0105gu TC zg\u0142asza, kt\u00f3rych dostawc\u00f3w platforma zarz\u0105dzania zgodami (CMP) deklaruje jako ujawnionych w interfejsie. Przej\u015bcie na TCF 2.3 uczyni\u0142o ten wcze\u015bniej opcjonalny segment obowi\u0105zkowym dla nowo tworzonych ci\u0105g\u00f3w. Ujawnienie nie jest zgod\u0105 ani niezale\u017cnym dowodem prawid\u0142owego wy\u015bwietlenia banera.<\/p>\n<p>Core zawsze wyst\u0119puje jako pierwszy. Pozosta\u0142e cz\u0119\u015bci s\u0105 identyfikowane przez typy segment\u00f3w, dlatego Disclosed Vendors nie musi zajmowa\u0107 drugiej pozycji. Opcjonalny PublisherTC mo\u017ce znajdowa\u0107 si\u0119 przed tym segmentem albo za nim. Artyku\u0142 dotyczy struktury obowi\u0105zkowej od 2.3; aktualna specyfikacja zawiera ju\u017c tak\u017ce p\u00f3\u017aniejsze zmiany.<\/p>\n<figure class=\"lw-diagram\"><img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/dia-10549-disclosed-20261024.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Disclosed Vendors jest rozpoznawany po typie 1, a nie po pozycji. Rzadki zbi\u00f3r ilustruje rozmiar pola i listy zakres\u00f3w.\"><figcaption>Core jest pierwszy; dwa dodatkowe typy mog\u0105 wyst\u0105pi\u0107 w dowolnej kolejno\u015bci. Liczba bit\u00f3w opisuje kodowanie, a nie dow\u00f3d zgody.<\/figcaption><\/figure>\n<h2>Jak\u0105 niejednoznaczno\u015b\u0107 usuwa zmiana<\/h2>\n<p>Zmiana dotyczy szczeg\u00f3lnie dostawc\u00f3w deklaruj\u0105cych cele specjalne oraz cele oparte na uzasadnionym interesie. Wcze\u015bniej zero w sekcji uzasadnionego interesu dostawcy mog\u0142o oznacza\u0107 zar\u00f3wno brak ujawnienia, jak i wniesiony sprzeciw. Osobna informacja o ujawnieniu rozr\u00f3\u017cnia te sytuacje. Nie stanowi og\u00f3lnego zezwolenia na wszystkie cele dostawcy.<\/p>\n<p>Segment jest deklaracj\u0105 CMP dotycz\u0105c\u0105 ujawnienia. B\u0142\u0119dnie dzia\u0142aj\u0105ca CMP mo\u017ce r\u00f3wnie\u017c ustawi\u0107 nieprawid\u0142ow\u0105 warto\u015b\u0107. Nadal potrzebna jest kontrola interfejsu, informacji o dostawcach, zapisanych wybor\u00f3w i przekazywanych sygna\u0142\u00f3w. Obowi\u0105zkowe pole nie zapobiega automatycznie fa\u0142szywym deklaracjom ujawnienia.<\/p>\n<h2>Budowa: pole bitowe albo lista zakres\u00f3w<\/h2>\n<p>Dodatkowe segmenty zaczynaj\u0105 si\u0119 od trzech bit\u00f3w typu. Disclosed Vendors ma typ <code>1<\/code>, binarnie <code>001<\/code>, a PublisherTC typ <code>3<\/code>. Core nie rozpoczyna si\u0119 osobnym trzybitowym polem typu. Pierwsze pole to sze\u015bciobitowa wersja kodowania, obecnie <code>2<\/code>. Ta liczba nie jest numerem wersji frameworka \u201e2.3\u201d.<\/p>\n<figure style=\"--cbb-digits:2\" class=\"cbb cbb--wrap cbb--numbers wp-block-code-beautifier-block-code\" data-lang=\"plain\"><figcaption class=\"cbb-head\"><span class=\"cbb-lang\">Text<\/span><span class=\"cbb-actions\"><button type=\"button\" class=\"cbb-button cbb-button--wrap\" data-cbb-action=\"wrap\" aria-pressed=\"true\" title=\"Wrap long lines\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M2 4h12M2 8h9.5a2.5 2.5 0 0 1 0 5H8m0 0 1.5-1.5M8 13l1.5 1.5M2 12h3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span class=\"cbb-sr\">Wrap long lines<\/span><\/button><button type=\"button\" class=\"cbb-button cbb-button--copy\" data-cbb-action=\"copy\" data-cbb-done=\"Copied\" data-cbb-failed=\"Press Ctrl+C to copy\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><rect x=\"5.5\" y=\"5.5\" width=\"8\" height=\"8.5\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><path d=\"M10.5 3.5V3A1.5 1.5 0 0 0 9 1.5H4A1.5 1.5 0 0 0 2.5 3v6.5A1.5 1.5 0 0 0 4 11h.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><span class=\"cbb-button-label\" aria-live=\"polite\">Copy<\/span><\/button><\/span><\/figcaption><pre class=\"cbb-pre\" tabindex=\"0\"><code class=\"cbb-code language-plain\" style=\"counter-reset:cbb-line 0;\"><span class=\"cbb-line\">SegmentType          3 bits  001 = DisclosedVendors\n<\/span><span class=\"cbb-line\">MaxVendorId (M)      16 bits\n<\/span><span class=\"cbb-line\">IsRangeEncoding      1 bit   0 = BitField, 1 = Range\n<\/span><span class=\"cbb-line\">\n<\/span><span class=\"cbb-line\">BitField: M bits, IDs 1..M\n<\/span><span class=\"cbb-line\">Range:    NumEntries (12 bits), nast\u0119pnie wpisy:\n<\/span><span class=\"cbb-line\">          IsARange             1 bit\n<\/span><span class=\"cbb-line\">          StartOrOnlyVendorId 16 bits\n<\/span><span class=\"cbb-line\">          EndVendorId         16 bits (tylko dla zakresu)\n<\/span><span class=\"cbb-line\">\n<\/span><span class=\"cbb-line\">BitField: 20 + M bits\n<\/span><span class=\"cbb-line\">Range:    32 + 17*S + 33*R bits<\/span><\/code><\/pre><\/figure>\n<p><code>MaxVendorId<\/code> oznacza g\u00f3rn\u0105 granic\u0119 identyfikator\u00f3w reprezentowanych w segmencie, a nie liczb\u0119 ujawnionych dostawc\u00f3w. Pierwszy bit pola odpowiada ID 1. Ustawiony bit sygnalizuje ujawnienie; bit nieustawiony nie przekazuje takiego sygna\u0142u. Ko\u0144ce zakres\u00f3w s\u0105 w\u0142\u0105czone do zbioru, natomiast pojedynczy ID nie ma pola ko\u0144cowego.<\/p>\n<p>We wzorze <code>S<\/code> oznacza liczb\u0119 wpis\u00f3w pojedynczych, a <code>R<\/code> liczb\u0119 rzeczywistych zakres\u00f3w. Wyniki obejmuj\u0105 nag\u0142\u00f3wek segmentu, lecz nie dope\u0142nienie ani kodowanie tekstowe. Specyfikacja zaleca mniejsz\u0105 reprezentacj\u0119. Rozproszony zbi\u00f3r nie oznacza jednak automatycznie przewagi pola bitowego: <code>{1, 1200}<\/code> zajmuje 1220 bit\u00f3w jako pole, ale tylko 66 bit\u00f3w jako dwa pojedyncze wpisy. Dla g\u0119stych zbior\u00f3w korzystniejsze mo\u017ce by\u0107 pole bitowe.<\/p>\n<h2>Termin przej\u015bcia i b\u0142\u0105d Google 1.4<\/h2>\n<p>TCF 2.3 opublikowano 19 czerwca 2025 r. Okres przej\u015bciowy zako\u0144czy\u0142 si\u0119 pod koniec lutego 2026 r.; aktualna dokumentacja integracji Google wskazuje 1 marca 2026 r. jako termin obowi\u0105zywania wymogu dla nowo tworzonych ci\u0105g\u00f3w. Starsze zapisane ci\u0105gi nie staj\u0105 si\u0119 przez to automatycznie niewa\u017cne z moc\u0105 wsteczn\u0105. Nadal obowi\u0105zuj\u0105 odpowiednie regu\u0142y przej\u015bciowe i pozosta\u0142e wymagania wa\u017cno\u015bci.<\/p>\n<p>Google opisuje kod <code>1.4<\/code> dla brakuj\u0105cego lub niemo\u017cliwego do przetworzenia segmentu disclosed vendors albo braku ujawnienia Google. Google Advertising Products ma identyfikator dostawcy <code>755<\/code>. Bit ujawnienia nie zast\u0119puje innych wymaganych sygna\u0142\u00f3w ani rzeczywistego ujawnienia. Samo dopisanie brakuj\u0105cego bitu Google bez odpowiedniego ujawnienia nie jest wi\u0119c poprawn\u0105 napraw\u0105.<\/p>\n<p>Wed\u0142ug komunikatu Google odpowiednie \u017c\u0105dania mog\u0105 otrzyma\u0107 ograniczone reklamy lub zosta\u0107 odrzucone. Nie wynika z tego sta\u0142y wp\u0142yw na przych\u00f3d. Aktualna pomoc umieszcza raportowanie b\u0142\u0119d\u00f3w TCF w Policy center; nie jest to z definicji cicha i niemo\u017cliwa do zdiagnozowania awaria.<\/p>\n<h2>Odczyt rzeczywistego ci\u0105gu<\/h2>\n<p>Kompletny ci\u0105g bez kropek nie zawiera dodatkowego segmentu. Same kropki nie dowodz\u0105 jednak poprawno\u015bci disclosed vendors. Znaczenie maj\u0105 typ, mo\u017cliwo\u015b\u0107 dekodowania i zawarto\u015b\u0107. Nieznanego lub przestarza\u0142ego dodatkowego typu nie wolno automatycznie uznawa\u0107 za PublisherTC.<\/p>\n<p>Poni\u017cszy lokalny modu\u0142 JavaScript korzysta z <code>@iabtechlabtcf\/core<\/code>, przetestowanego w wersji <code>1.5.22<\/code>. Po instalacji tej wersji pakietu w lokalnym projekcie testowym funkcja przyjmuje kompletny ci\u0105g TC odczytany z rzeczywistej integracji. Odczyt nie zmienia pami\u0119ci CMP ani wybor\u00f3w.<\/p>\n<figure style=\"--cbb-digits:2\" class=\"cbb cbb--wrap cbb--numbers wp-block-code-beautifier-block-code\" data-lang=\"javascript\"><figcaption class=\"cbb-head\"><span class=\"cbb-lang\">JavaScript<\/span><span class=\"cbb-actions\"><button type=\"button\" class=\"cbb-button cbb-button--wrap\" data-cbb-action=\"wrap\" aria-pressed=\"true\" title=\"Wrap long lines\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M2 4h12M2 8h9.5a2.5 2.5 0 0 1 0 5H8m0 0 1.5-1.5M8 13l1.5 1.5M2 12h3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span class=\"cbb-sr\">Wrap long lines<\/span><\/button><button type=\"button\" class=\"cbb-button cbb-button--copy\" data-cbb-action=\"copy\" data-cbb-done=\"Copied\" data-cbb-failed=\"Press Ctrl+C to copy\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><rect x=\"5.5\" y=\"5.5\" width=\"8\" height=\"8.5\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><path d=\"M10.5 3.5V3A1.5 1.5 0 0 0 9 1.5H4A1.5 1.5 0 0 0 2.5 3v6.5A1.5 1.5 0 0 0 4 11h.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><span class=\"cbb-button-label\" aria-live=\"polite\">Copy<\/span><\/button><\/span><\/figcaption><pre class=\"cbb-pre\" tabindex=\"0\"><code class=\"cbb-code language-javascript\" style=\"counter-reset:cbb-line 0;\"><span class=\"cbb-line\"><span class=\"cbb-keyword\">import<\/span> { TCString } <span class=\"cbb-keyword\">from<\/span> <span class=\"cbb-string\">\"@iabtechlabtcf\/core\"<\/span>;\n<\/span><span class=\"cbb-line\">\n<\/span><span class=\"cbb-line\"><span class=\"cbb-keyword\">export<\/span> <span class=\"cbb-keyword\">function<\/span> <span class=\"cbb-function\">inspectDisclosure<\/span>(tcString) {\n<\/span><span class=\"cbb-line\">  <span class=\"cbb-keyword\">if<\/span> (<span class=\"cbb-keyword\">typeof<\/span> tcString !== <span class=\"cbb-string\">\"string\"<\/span> ||\n<\/span><span class=\"cbb-line\">      !\/^&#91;A-<span class=\"cbb-type\">Za<\/span>-z0-9_-&#93;+(?:\\.&#91;A-<span class=\"cbb-type\">Za<\/span>-z0-9_-&#93;+)*$\/.<span class=\"cbb-function\">test<\/span>(tcString)) {\n<\/span><span class=\"cbb-line\">    <span class=\"cbb-keyword\">throw<\/span> <span class=\"cbb-keyword\">new<\/span> <span class=\"cbb-function\">Error<\/span>(<span class=\"cbb-string\">\"Invalid segment syntax\"<\/span>);\n<\/span><span class=\"cbb-line\">  }\n<\/span><span class=\"cbb-line\">  <span class=\"cbb-keyword\">const<\/span> alphabet = <span class=\"cbb-string\">\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\"<\/span>;\n<\/span><span class=\"cbb-line\">  <span class=\"cbb-keyword\">const<\/span> segments = tcString.<span class=\"cbb-function\">split<\/span>(<span class=\"cbb-string\">\".\"<\/span>);\n<\/span><span class=\"cbb-line\">  <span class=\"cbb-keyword\">if<\/span> (alphabet.<span class=\"cbb-function\">indexOf<\/span>(segments&#91;<span class=\"cbb-number\">0<\/span>&#93;&#91;<span class=\"cbb-number\">0<\/span>&#93;) !== <span class=\"cbb-number\">2<\/span>) {\n<\/span><span class=\"cbb-line\">    <span class=\"cbb-keyword\">throw<\/span> <span class=\"cbb-keyword\">new<\/span> <span class=\"cbb-function\">Error<\/span>(<span class=\"cbb-string\">\"Expected encoding version 2\"<\/span>);\n<\/span><span class=\"cbb-line\">  }\n<\/span><span class=\"cbb-line\">  <span class=\"cbb-keyword\">const<\/span> types = segments.<span class=\"cbb-function\">slice<\/span>(<span class=\"cbb-number\">1<\/span>).<span class=\"cbb-function\">map<\/span>(s <span class=\"cbb-operator\">=&gt;<\/span> alphabet.<span class=\"cbb-function\">indexOf<\/span>(s&#91;<span class=\"cbb-number\">0<\/span>&#93;) &gt;&gt; <span class=\"cbb-number\">3<\/span>);\n<\/span><span class=\"cbb-line\">  <span class=\"cbb-keyword\">if<\/span> (types.<span class=\"cbb-function\">some<\/span>(type <span class=\"cbb-operator\">=&gt;<\/span> type !== <span class=\"cbb-number\">1<\/span> &amp;&amp; type !== <span class=\"cbb-number\">3<\/span>) ||\n<\/span><span class=\"cbb-line\">      <span class=\"cbb-keyword\">new<\/span> <span class=\"cbb-function\">Set<\/span>(types).size !== types.length) {\n<\/span><span class=\"cbb-line\">    <span class=\"cbb-keyword\">throw<\/span> <span class=\"cbb-keyword\">new<\/span> <span class=\"cbb-function\">Error<\/span>(<span class=\"cbb-string\">\"Unsupported or duplicate segment type\"<\/span>);\n<\/span><span class=\"cbb-line\">  }\n<\/span><span class=\"cbb-line\">  <span class=\"cbb-keyword\">const<\/span> model = TCString.<span class=\"cbb-function\">decode<\/span>(tcString);\n<\/span><span class=\"cbb-line\">  <span class=\"cbb-keyword\">const<\/span> present = types.<span class=\"cbb-function\">includes<\/span>(<span class=\"cbb-number\">1<\/span>);\n<\/span><span class=\"cbb-line\">  <span class=\"cbb-keyword\">return<\/span> {\n<\/span><span class=\"cbb-line\">    segmentPresent: present,\n<\/span><span class=\"cbb-line\">    disclosedVendorIds: present ? &#91;...model.vendorsDisclosed.<span class=\"cbb-function\">values<\/span>()&#93;.<span class=\"cbb-function\">sort<\/span>((a, b) <span class=\"cbb-operator\">=&gt;<\/span> a - b) : <span class=\"cbb-constant\">null<\/span>,\n<\/span><span class=\"cbb-line\">    googleDisclosed: present ? model.vendorsDisclosed.<span class=\"cbb-function\">has<\/span>(<span class=\"cbb-number\">755<\/span>) : <span class=\"cbb-constant\">null<\/span>,\n<\/span><span class=\"cbb-line\">    encodingVersion: model.version,\n<\/span><span class=\"cbb-line\">    policyVersion: model.policyVersion\n<\/span><span class=\"cbb-line\">  };\n<\/span><span class=\"cbb-line\">}<\/span><\/code><\/pre><\/figure>\n<p><code>segmentPresent<\/code> rozr\u00f3\u017cnia brak segmentu od obecnego segmentu bez danego ID. <code>null<\/code> oznacza tutaj brak segmentu, a nie potwierdzon\u0105 odmow\u0119. <code>disclosedVendorIds<\/code> zawiera identyfikatory zakodowane jako ujawnione; nazwy pochodz\u0105 z Global Vendor List odpowiadaj\u0105cej ci\u0105gowi.<\/p>\n<p>Kod sprawdza cz\u0119\u015b\u0107 b\u0142\u0119d\u00f3w struktury i dekoduje zawarto\u015b\u0107. Wynik nie stanowi pe\u0142nej kontroli TCF, podstaw prawnych ani interfejsu. Nieaktualn\u0105 warto\u015b\u0107 wersji polityki tak\u017ce mo\u017cna zdekodowa\u0107. Kontrola obejmuje \u015bwie\u017ce i zapisane wybory, rzeczywi\u015bcie za\u0142adowan\u0105 wersj\u0119 CMP oraz ci\u0105g docieraj\u0105cy do odbiorcy.<\/p>\n<div class=\"lw-faq\"><h2>Pytania i odpowiedzi<\/h2>\n<h3>Czy CMP musi ponownie zapyta\u0107 po aktualizacji?<\/h3><p>Nie wy\u0142\u0105cznie z powodu tego przej\u015bcia. Instrukcja IAB dopuszcza uzupe\u0142nienie istniej\u0105cych ci\u0105g\u00f3w na podstawie wcze\u015bniej zapisanych informacji o ujawnieniu, bez zmiany <code>lastUpdated<\/code>. Bez historycznych zapis\u00f3w nie wolno wymy\u015bla\u0107 wcze\u015bniejszego pokazania dostawc\u00f3w. Nowy ci\u0105g powstaje wtedy przy p\u00f3\u017aniejszym odnowieniu lub zmianie wyboru. Aktualna wersja programu nie potwierdza migracji wszystkich zapisanych warto\u015bci.<\/p>\n<h3>Czy d\u0142ugo\u015b\u0107 ci\u0105gu mo\u017ce by\u0107 problemem?<\/h3><p>Tak, zale\u017cnie od miejsca zapisu i limit\u00f3w odbiorcy. Licz\u0105 si\u0119 pe\u0142na d\u0142ugo\u015b\u0107 tekstu ze wszystkimi segmentami oraz spos\u00f3b transmisji. Mniejsza reprezentacja bitowa skraca ci\u0105g, ale nie usuwa ka\u017cdej granicy. Pojedyncza pr\u00f3bka potwierdza tylko sprawdzony przypadek; d\u0142ugie listy dostawc\u00f3w i inne konfiguracje wymagaj\u0105 osobnych test\u00f3w.<\/p>\n<h3>Czy poprawne dekodowanie potwierdza poprawny interfejs?<\/h3><p>Nie. Ci\u0105g zapisuje wygenerowany sygna\u0142. Por\u00f3wnanie z wy\u015bwietlonymi informacjami, wyborami i rzeczywistym przekazaniem danych jest osobn\u0105 kontrol\u0105. Panel CMP, osadzony kod i zapisany ci\u0105g mog\u0105 mie\u0107 r\u00f3\u017cne stany aktualizacji.<\/p><\/div>\n<div class=\"lw-quellen\"><h2>\u0179r\u00f3d\u0142a<\/h2><ul><li><a href=\"https:\/\/iabeurope.eu\/all-you-need-to-know-about-the-transition-to-tcf-v2-3\/\" target=\"_blank\" rel=\"noopener noreferrer\">IAB Europe: Transition to TCF v2.3<\/a><\/li><li><a href=\"https:\/\/support.google.com\/admanager\/answer\/9805023?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ad Manager: Publisher integration with the IAB Europe TCF<\/a><\/li><li><a href=\"https:\/\/support.google.com\/adsense\/answer\/16942036?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google AdSense: Transition to IAB TCF v2.3<\/a><\/li><li><a href=\"https:\/\/support.google.com\/adsense\/answer\/9804260\" target=\"_blank\" rel=\"noopener noreferrer\">Google AdSense: Publisher integration and transition deadline<\/a><\/li><li><a href=\"https:\/\/support.google.com\/adsense\/answer\/9999955\" target=\"_blank\" rel=\"noopener noreferrer\">Google AdSense: TCF implementation errors and code 1.4<\/a><\/li><li><a href=\"https:\/\/github.com\/InteractiveAdvertisingBureau\/GDPR-Transparency-and-Consent-Framework\/blob\/master\/TCFv2\/IAB%20Tech%20Lab%20-%20Consent%20string%20and%20vendor%20list%20formats%20v2.md\" target=\"_blank\" rel=\"noopener noreferrer\">IAB Tech Lab: TC string and vendor list format<\/a><\/li><li><a href=\"https:\/\/github.com\/InteractiveAdvertisingBureau\/iabtcf-es\/tree\/master\/modules\/core\" target=\"_blank\" rel=\"noopener noreferrer\">IAB Tech Lab: Core encoder and decoder library<\/a><\/li><\/ul><\/div>\n","protected":false},"excerpt":{"rendered":"<p>TCF 2.3 wprowadza obowi\u0105zkowy segment disclosed vendors dla nowo tworzonych ci\u0105g\u00f3w TC. Artyku\u0142 wyja\u015bnia typy segment\u00f3w, pola bitowe i zakresy, b\u0142\u0105d Google 1.4 oraz r\u00f3\u017cnic\u0119 mi\u0119dzy sygna\u0142em ujawnienia a dowodem wy\u015bwietlenia informacji.<\/p>\n","protected":false},"author":1,"featured_media":15214,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[92127,92151,92247],"class_list":["post-10549","post","type-post","status-publish","format-standard","hentry","category-data-privacy-pl","tag-consent-management-pl","tag-prywatnosc-danych-pl-pl","tag-gdpr-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Segment ujawnionych dostawc\u00f3w jest w IAB TCF 2.3 obowi\u0105zkowy: budowa bitowa, wyb\u00f3r kodowania i walidacja Google od lutego 2026.\" \/>\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\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Segment ujawnionych dostawc\u00f3w jest w IAB TCF 2.3 obowi\u0105zkowy: budowa bitowa, wyb\u00f3r kodowania i walidacja Google od lutego 2026.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-01T16:25:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-24T03:23:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10549-segment-ktorego-dotad-moglo-brakowac-n.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\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC\",\"datePublished\":\"2026-09-01T16:25:00+00:00\",\"dateModified\":\"2026-10-24T03:23:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/\"},\"wordCount\":967,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10549-segment-ktorego-dotad-moglo-brakowac-n.png\",\"keywords\":[\"Consent Management\",\"Data Privacy\",\"GDPR\"],\"articleSection\":[\"Data Privacy\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/\",\"name\":\"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10549-segment-ktorego-dotad-moglo-brakowac-n.png\",\"datePublished\":\"2026-09-01T16:25:00+00:00\",\"dateModified\":\"2026-10-24T03:23:54+00:00\",\"description\":\"Segment ujawnionych dostawc\u00f3w jest w IAB TCF 2.3 obowi\u0105zkowy: budowa bitowa, wyb\u00f3r kodowania i walidacja Google od lutego 2026.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10549-segment-ktorego-dotad-moglo-brakowac-n.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10549-segment-ktorego-dotad-moglo-brakowac-n.png\",\"width\":1200,\"height\":630,\"caption\":\"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/data-privacy-pl\\\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC\"}]},{\"@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":"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC | Lukas Wojcik","description":"Segment ujawnionych dostawc\u00f3w jest w IAB TCF 2.3 obowi\u0105zkowy: budowa bitowa, wyb\u00f3r kodowania i walidacja Google od lutego 2026.","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\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/","og_locale":"en_US","og_type":"article","og_title":"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC | Lukas Wojcik","og_description":"Segment ujawnionych dostawc\u00f3w jest w IAB TCF 2.3 obowi\u0105zkowy: budowa bitowa, wyb\u00f3r kodowania i walidacja Google od lutego 2026.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-01T16:25:00+00:00","article_modified_time":"2026-10-24T03:23:54+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10549-segment-ktorego-dotad-moglo-brakowac-n.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\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC","datePublished":"2026-09-01T16:25:00+00:00","dateModified":"2026-10-24T03:23:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/"},"wordCount":967,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10549-segment-ktorego-dotad-moglo-brakowac-n.png","keywords":["Consent Management","Data Privacy","GDPR"],"articleSection":["Data Privacy"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/","name":"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10549-segment-ktorego-dotad-moglo-brakowac-n.png","datePublished":"2026-09-01T16:25:00+00:00","dateModified":"2026-10-24T03:23:54+00:00","description":"Segment ujawnionych dostawc\u00f3w jest w IAB TCF 2.3 obowi\u0105zkowy: budowa bitowa, wyb\u00f3r kodowania i walidacja Google od lutego 2026.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10549-segment-ktorego-dotad-moglo-brakowac-n.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10549-segment-ktorego-dotad-moglo-brakowac-n.png","width":1200,"height":630,"caption":"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/data-privacy-pl\/segment-disclosed-vendors-w-tcf-2-3-co-zawiera-i-jak-odczytac-go-z-ciagu-tc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Segment disclosed vendors w TCF 2.3: co zawiera i jak odczyta\u0107 go z ci\u0105gu TC"}]},{"@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\/10549","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=10549"}],"version-history":[{"count":6,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10549\/revisions"}],"predecessor-version":[{"id":23813,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10549\/revisions\/23813"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/15214"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=10549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=10549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=10549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}