{"id":1579,"date":"2024-10-12T11:48:00","date_gmt":"2024-10-12T09:48:00","guid":{"rendered":"https:\/\/www.sabatka.net\/cs\/?p=1579"},"modified":"2026-10-12T11:50:48","modified_gmt":"2026-10-12T09:50:48","slug":"what-is-consent-mode-v2","status":"publish","type":"post","link":"https:\/\/www.sabatka.net\/cs\/what-is-consent-mode-v2\/","title":{"rendered":"Co je consent mode v2 a jak funguje"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Web m\u00e1 cookie li\u0161tu. N\u00e1v\u0161t\u011bvn\u00edk klikne na \u201eOdm\u00edtnout v\u0161e\u201c, li\u0161ta jeho volbu poctiv\u011b ulo\u017e\u00ed a vy jste p\u0159esv\u011bd\u010den\u00ed, \u017ee je hotovo. Google Ads p\u0159esto hl\u00e1s\u00ed chyb\u011bj\u00edc\u00ed sign\u00e1ly souhlasu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Li\u0161ta nic nezkazila. Jen nic ne\u0159ekla tag\u016fm, tedy kousk\u016fm k\u00f3du na webu, kter\u00e9 pos\u00edlaj\u00ed data do n\u00e1stroj\u016f jako Google Analytics nebo Google Ads. Sb\u00edr\u00e1 souhlas, ale tagy na str\u00e1nce ho samy \u010d\u00edst neum\u00ed. Tuhle spojku obstar\u00e1v\u00e1 consent mode v2: zp\u016fsob, jak li\u0161ta sd\u011bl\u00ed tag\u016fm, co sm\u011bj\u00ed. A jestli to funguje, si ov\u011b\u0159\u00edte b\u011bhem p\u00e1r minut p\u0159\u00edmo v prohl\u00ed\u017ee\u010di.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button scroll_to_subscribe\"><a class=\"wp-block-button__link wp-element-button\" href=\"#\">Chci odeb\u00edrat novinky<\/a><\/div>\n\n\n\n<div class=\"wp-block-button linkedinShare\"><a class=\"wp-block-button__link wp-element-button\">Sd\u00edlet na LinkedIN<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">V \u010dl\u00e1nku vysv\u011btl\u00edm, co je consent mode, pro\u010d ho Google chce, jak\u00fd je rozd\u00edl mezi Basic a Advanced (a pro\u010d \u201eAdvanced\u201c neznamen\u00e1 \u201elep\u0161\u00ed\u201c) a jak si stav souhlasu ov\u011b\u0159\u00edte ve v\u00fdvoj\u00e1\u0159sk\u00fdch n\u00e1stroj\u00edch prohl\u00ed\u017ee\u010de (DevTools, kl\u00e1vesa F12).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pro\u010d pot\u0159ebujeme consent mode v2: \u0159\u00edzen\u00ed souhlas\u016f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Li\u0161ta je vr\u00e1tn\u00fd. Consent mode je vys\u00edla\u010dka, kterou vr\u00e1tn\u00fd hl\u00e1s\u00ed zbytku budovy, koho pustil. Bez vys\u00edla\u010dky m\u016f\u017ee vr\u00e1tn\u00fd d\u011blat svou pr\u00e1ci sebel\u00edp a tagy stejn\u011b nebudou v\u011bd\u011bt nic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">P\u0159esn\u011bji: li\u0161ta (CMP, tedy consent management platform) souhlas sb\u00edr\u00e1 a ukl\u00e1d\u00e1. Consent mode ho p\u0159ed\u00e1v\u00e1 tag\u016fm, aby podle n\u011bj upravily chov\u00e1n\u00ed. Tagy pak pos\u00edlaj\u00ed data v requestech, tedy po\u017eadavc\u00edch, kter\u00e9 prohl\u00ed\u017ee\u010d ode\u0161le na server, t\u0159eba Googlu. Consent mode s\u00e1m li\u0161tu nem\u00e1 a <a href=\"https:\/\/support.google.com\/google-ads\/answer\/10000067\" target=\"_blank\" rel=\"noopener\">souhlas nesb\u00edr\u00e1<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" data-src=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/10\/consent-mode-flow-en-1024x576.png\" alt=\"\" class=\"wp-image-1599 lazyload\" data-srcset=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/10\/consent-mode-flow-en-1024x576.png 1024w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/10\/consent-mode-flow-en-300x169.png 300w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/10\/consent-mode-flow-en-768x432.png 768w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/10\/consent-mode-flow-en.png 1200w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/576;\" \/><figcaption class=\"wp-element-caption\">Consent Mode v2 schema<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nasazen\u00fd consent mode neznamen\u00e1 soulad s GDPR, technicky jen p\u0159ed\u00e1v\u00e1 souhlas d\u00e1l. Co se na li\u0161t\u011b nej\u010dast\u011bji pokaz\u00ed, jsem sepsal v \u010dl\u00e1nku o <a href=\"https:\/\/www.sabatka.net\/cs\/5-most-common-bugs-in-cookie-bar-configuration\/\">5 nej\u010dast\u011bj\u0161\u00edch chyb\u00e1ch v nastaven\u00ed cookie li\u0161t<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jak\u00e9 souhlasy consent mode m\u00e1<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Consent mode pracuje se sedmi typy souhlasu. U \u010dty\u0159 z nich Google popisuje, jak podle nich jeho tagy m\u011bn\u00ed chov\u00e1n\u00ed, zbyl\u00e9 t\u0159i m\u016f\u017eete pou\u017e\u00edt pro vlastn\u00ed tagy. Ka\u017ed\u00fd m\u00e1 hodnotu <code>granted<\/code> (povoleno) nebo <code>denied<\/code> (zak\u00e1z\u00e1no) (<a href=\"https:\/\/developers.google.com\/tag-platform\/security\/concepts\/consent-mode\" target=\"_blank\" rel=\"noopener\">dokumentace<\/a>). Ozna\u010den\u00ed v1 a v2 v tabulce jsou dv\u011b generace consent mode, rozd\u00edl popisuji n\u00ed\u017ee.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Typ<\/th><th>K \u010demu slou\u017e\u00ed<\/th><th>Kdo ho \u010dte<\/th><\/tr><\/thead><tbody><tr><td><code>ad_storage<\/code><\/td><td>ukl\u00e1d\u00e1n\u00ed (cookies, ID za\u0159\u00edzen\u00ed) pro reklamu<\/td><td>Google tagy (od v1)<\/td><\/tr><tr><td><code>analytics_storage<\/code><\/td><td>ukl\u00e1d\u00e1n\u00ed pro analytiku, nap\u0159\u00edklad d\u00e9lka n\u00e1v\u0161t\u011bvy<\/td><td>Google tagy (od v1)<\/td><\/tr><tr><td><code>ad_user_data<\/code><\/td><td>souhlas s odes\u00edl\u00e1n\u00edm dat o u\u017eivateli Googlu pro reklamu<\/td><td>Google tagy (od v2)<\/td><\/tr><tr><td><code>ad_personalization<\/code><\/td><td>souhlas s personalizovanou reklamou (remarketing)<\/td><td>Google tagy (od v2)<\/td><\/tr><tr><td><code>functionality_storage<\/code><\/td><td>funk\u010dn\u00ed \u00falo\u017ei\u0161t\u011b, nap\u0159\u00edklad jazyk<\/td><td>vlastn\u00ed pou\u017eit\u00ed<\/td><\/tr><tr><td><code>personalization_storage<\/code><\/td><td>personalizace, nap\u0159\u00edklad doporu\u010den\u00e1 videa<\/td><td>vlastn\u00ed pou\u017eit\u00ed<\/td><\/tr><tr><td><code>security_storage<\/code><\/td><td>bezpe\u010dnost, autentizace, prevence podvod\u016f<\/td><td>vlastn\u00ed pou\u017eit\u00ed<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Souhlasy tvo\u0159\u00ed dv\u011b logick\u00e9 dvojice:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ad_storage<\/code> a <code>analytics_storage<\/code> ur\u010duj\u00ed, co se sm\u00ed <strong>ulo\u017eit v prohl\u00ed\u017ee\u010di<\/strong> n\u00e1v\u0161t\u011bvn\u00edka. P\u0159i <code>denied<\/code> tagy p\u0159\u00edslu\u0161n\u00e9 cookies nezap\u00ed\u0161ou ani nep\u0159e\u010dtou.<\/li>\n\n\n\n<li><code>ad_user_data<\/code> a <code>ad_personalization<\/code> ur\u010duj\u00ed, co sm\u00ed Google <strong>s daty d\u011blat<\/strong>. <code>ad_user_data<\/code> je souhlas s t\u00edm, \u017ee se data o u\u017eivateli sm\u011bj\u00ed odeslat Googlu pro reklamn\u00ed \u00fa\u010dely, nap\u0159\u00edklad pro m\u011b\u0159en\u00ed konverz\u00ed v Google Ads. <code>ad_personalization<\/code> je souhlas s jejich pou\u017eit\u00edm pro personalizovanou reklamu, typicky remarketing (zobrazov\u00e1n\u00ed reklam lidem, kte\u0159\u00ed u\u017e web nav\u0161t\u00edvili).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ka\u017ed\u00fd typ je samostatn\u00fd sign\u00e1l, tak\u017ee li\u0161ta m\u016f\u017ee nap\u0159\u00edklad povolit analytiku a reklamu zak\u00e1zat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Co Google vy\u017eaduje<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Google vy\u017eaduje sign\u00e1ly souhlasu u n\u00e1v\u0161t\u011bvn\u00edk\u016f z Evropsk\u00e9ho hospod\u00e1\u0159sk\u00e9ho prostoru (EHP), Spojen\u00e9ho kr\u00e1lovstv\u00ed a \u0160v\u00fdcarska a vych\u00e1z\u00ed p\u0159itom ze sv\u00e9 <a href=\"https:\/\/www.google.com\/about\/company\/user-consent-policy\/\" target=\"_blank\" rel=\"noopener\">EU User Consent Policy<\/a>. Pro personalizovanou reklamu mus\u00ed b\u00fdt <code>granted<\/code> ob\u011b hodnoty, <code>ad_user_data<\/code> i <code>ad_personalization<\/code>. Je-li <code>ad_personalization<\/code> <code>denied<\/code>, remarketing v Google Ads nedost\u00e1v\u00e1 data. Je-li <code>ad_user_data<\/code> <code>denied<\/code>, je omezen\u00fd export konverz\u00ed podle click ID, tedy identifik\u00e1toru kliknut\u00ed na reklamu (<a href=\"https:\/\/support.google.com\/google-ads\/answer\/13802165\" target=\"_blank\" rel=\"noopener\">n\u00e1pov\u011bda Google Ads<\/a>).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Od v1 k v2<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/blog.google\/products\/ads-commerce\/measure-conversions-while-respecting-user-consent-choices\/\" target=\"_blank\" rel=\"noopener\">Prvn\u00ed verze vy\u0161la v z\u00e1\u0159\u00ed 2020<\/a> a pro marketingov\u00e9 \u00fa\u010dely m\u011bla dva typy souhlasu: <code>ad_storage<\/code> a <code>analytics_storage<\/code>. V listopadu 2023 p\u0159ibyly je\u0161t\u011b <code>ad_user_data<\/code> a <code>ad_personalization<\/code>. Google to v dokumentaci zd\u016fvod\u0148uje t\u00edm, \u017ee posiluje vym\u00e1h\u00e1n\u00ed sv\u00e9 EU User Consent Policy (<a href=\"https:\/\/developers.google.com\/tag-platform\/security\/guides\/consent\" target=\"_blank\" rel=\"noopener\">gtag dokumentace<\/a>). Verze v2 tedy nen\u00ed nov\u00fd produkt, jsou to dva nov\u00e9 sign\u00e1ly.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Co se zm\u011bnilo v \u010dervnu 2026 (stav k \u0159\u00edjnu 2026)<\/strong><br>Od 15. 6. 2026 o tom, zda tag Google Analytics 4 (GA4) sb\u00edr\u00e1 reklamn\u00ed cookies a identifik\u00e1tory Google Ads, rozhoduje jen consent mode (nastaven\u00ed souhlasu pro reklamy). Vypnut\u00e9 Google Signals (funkce GA4 pro propojen\u00ed dat s p\u0159ihl\u00e1\u0161en\u00fdmi u\u017eivateli Googlu) ho u\u017e nezastav\u00ed. Signals te\u010f \u0159\u00edd\u00ed jen propojen\u00ed dat GA4 s p\u0159ihl\u00e1\u0161en\u00fdmi u\u017eivateli pro behavior\u00e1ln\u00ed reporty v GA4. Pozd\u011bji v roce 2026 m\u00e1 o tom, zda se data z GA4 pou\u017eij\u00ed k personalizaci reklam v Ads, rozhodovat v\u00fdhradn\u011b <code>ad_personalization<\/code>, datum Google zat\u00edm neozn\u00e1mil (<a href=\"https:\/\/support.google.com\/analytics\/answer\/17016975\" target=\"_blank\" rel=\"noopener\">Google Analytics n\u00e1pov\u011bda<\/a>).<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Jak consent mode nastav\u00edte: default a update<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Princip m\u00e1 dva kroky. Nejd\u0159\u00edv nastav\u00edte v\u00fdchoz\u00ed stav (<code>default<\/code>), pak ho po rozhodnut\u00ed u\u017eivatele zm\u011bn\u00edte (<code>update<\/code>). V praxi tohle v\u011bt\u0161inou zaji\u0161\u0165uje cookie li\u0161ta nebo zna\u010dka, p\u0159es kterou do GTM li\u0161tu nasazujete. Je ale dobr\u00e9 si zkontrolovat, \u017ee tomu tak opravdu je.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tohle je upraven\u00e1 uk\u00e1zka podle ofici\u00e1ln\u00edho n\u00e1vodu pro gtag, <a href=\"https:\/\/developers.google.com\/tag-platform\/security\/guides\/consent\" target=\"_blank\" rel=\"noopener\">Set up consent mode on websites<\/a>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script&gt;\n  window.dataLayer = window.dataLayer || &#91;];\n  function gtag(){dataLayer.push(arguments);}\n\n  \/\/ V\u00fdchoz\u00ed stav: do rozhodnut\u00ed u\u017eivatele je v\u0161echno zak\u00e1z\u00e1no.\n  \/\/ Mus\u00ed prob\u011bhnout P\u0158ED na\u010dten\u00edm Google tagu a na ka\u017ed\u00e9 str\u00e1nce.\n  gtag('consent', 'default', {\n    'ad_storage': 'denied',\n    'ad_user_data': 'denied',\n    'ad_personalization': 'denied',\n    'analytics_storage': 'denied'\n  });\n&lt;\/script&gt;\n&lt;!-- A\u017e tady se na\u010d\u00edt\u00e1 Google tag (gtag.js) --&gt;\n\n&lt;script&gt;\n  \/\/ Tuto funkci vol\u00e1 CMP a\u017e z ud\u00e1losti v li\u0161t\u011b, ve chv\u00edli,\n  \/\/ kdy u\u017eivatel p\u0159ijme v\u0161e. NESM\u00cd se vlo\u017eit jako voln\u00fd skript:\n  \/\/ jinak by se povolilo v\u0161echno v\u0161em hned po na\u010dten\u00ed str\u00e1nky.\n  function onUserAcceptsAll() {\n    gtag('consent', 'update', {\n      'ad_user_data': 'granted',\n      'ad_personalization': 'granted',\n      'ad_storage': 'granted',\n      'analytics_storage': 'granted'\n    });\n  }\n&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mus\u00edte si pohl\u00eddat:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>default<\/code> mus\u00ed p\u0159ij\u00edt p\u0159ed Google tagem a p\u0159ed jak\u00fdmkoli <code>config<\/code> nebo <code>event<\/code>, a to na ka\u017ed\u00e9 str\u00e1nce. Google \u0159\u00edk\u00e1 p\u0159\u00edmo: \u201ePokud se v\u00e1\u0161 k\u00f3d pro souhlas vol\u00e1 ve \u0161patn\u00e9m po\u0159ad\u00ed, v\u00fdchoz\u00ed hodnoty souhlasu nefunguj\u00ed\u201c (v origin\u00e1le \u201eIf your consent code is called out of order, consent defaults won&#8217;t work.\u201c).<\/li>\n\n\n\n<li><code>update<\/code> se vol\u00e1 hned po rozhodnut\u00ed u\u017eivatele. Volbu si mus\u00ed pamatovat CMP a p\u0159i dal\u0161\u00edm na\u010dten\u00ed str\u00e1nky ji zase p\u0159edat.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Uk\u00e1zka odpov\u00edd\u00e1 re\u017eimu Advanced, Google tag se na\u010dte hned (rozd\u00edl vysv\u011btluji n\u00ed\u017ee). A pokud default nastavuje u\u017e va\u0161e CMP nebo jej\u00ed \u0161ablona v Google Tag Manageru (GTM), ru\u010dn\u00ed snippet nep\u0159id\u00e1vejte, v\u00fdchoz\u00ed hodnoty by se p\u0159epsaly nebo zdvojily.<\/p>\n\n\n\n<div class=\"wp-block-columns lab-note is-layout-flex wp-container-core-columns-is-layout-794e3cfa wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"1024\" data-src=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/04\/null-did-you-know.png\" alt=\"V\u011bd\u011bli jste? \u2014 informa\u010dn\u00ed panel\" class=\"wp-image-936 lazyload\" data-srcset=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/04\/null-did-you-know.png 1024w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/04\/null-did-you-know-300x300.png 300w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/04\/null-did-you-know-150x150.png 150w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/04\/null-did-you-know-768x768.png 768w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/1024;\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\"><strong><strong>V\u011bdeck\u00e1 pozn\u00e1mka<\/strong><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Default <code>denied<\/code> funguje jako <a href=\"https:\/\/cs.wikipedia.org\/wiki\/Testov%C3%A1n%C3%AD_statistick%C3%BDch_hypot%C3%A9z\" target=\"_blank\" rel=\"noopener\">nulov\u00e1 hypot\u00e9za<\/a> ve statistice: dokud nem\u00e1te d\u016fkaz o opaku, plat\u00ed v\u00fdchoz\u00ed p\u0159edpoklad. Tady zn\u00ed \u201en\u00e1v\u0161t\u011bvn\u00edk nesouhlas\u00ed\u201c. D\u016fkazem je a\u017e klik v li\u0161t\u011b a <code>update<\/code> je vyhodnocen\u00ed testu: v\u00fdchoz\u00ed p\u0159edpoklad bu\u010f zam\u00edtne, nebo potvrd\u00ed.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Krom\u011b souhlas\u016f existuje je\u0161t\u011b n\u011bkolik parametr\u016f, kter\u00e9 ovliv\u0148uj\u00ed chov\u00e1n\u00ed tag\u016f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>wait_for_update<\/code> je \u010das v milisekund\u00e1ch, po kter\u00fd tagy po\u010dkaj\u00ed na asynchronn\u00ed CMP, ne\u017e ode\u0161lou hit (request s daty).<\/li>\n\n\n\n<li><code>region<\/code> omez\u00ed v\u00fdchoz\u00ed nastaven\u00ed na vybran\u00e9 zem\u011b nebo regiony (k\u00f3dy ISO 3166-2, nap\u0159\u00edklad <code>CZ<\/code> nebo <code>DE-BY<\/code>). Pou\u017eije se nastaven\u00ed s nejkonkr\u00e9tn\u011bj\u0161\u00edm regionem. Bez <code>region<\/code> plat\u00ed default pro v\u0161echny n\u00e1v\u0161t\u011bvn\u00edky.<\/li>\n\n\n\n<li><code>url_passthrough<\/code>: kdy\u017e jsou cookies odm\u00edtnut\u00e9, p\u0159en\u00e1\u0161\u00ed informace o kliknut\u00ed na reklamu, nap\u0159\u00edklad GCLID (identifik\u00e1tor kliknut\u00ed na reklamu v Google Ads), mezi str\u00e1nkami t\u00e9ho\u017e webu v URL odkaz\u016f, aby se cestou neztratily. T\u00fdk\u00e1 se tag\u016f Google Ads a Floodlight (m\u011b\u0159ic\u00ed tag Google Marketing Platform).<\/li>\n\n\n\n<li><code>ads_data_redaction<\/code>: p\u0159i <code>ad_storage='denied'<\/code> naopak odstran\u00ed identifik\u00e1tory kliknut\u00ed z request\u016f, kter\u00e9 pos\u00edlaj\u00ed tagy Google Ads a Floodlight. Podrobnosti k ob\u011bma najdete v <a href=\"https:\/\/developers.google.com\/tag-platform\/security\/guides\/consent\" target=\"_blank\" rel=\"noopener\">dokumentaci<\/a>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Consent mode v GTM<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">V GTM byste m\u011bli spou\u0161t\u011bt tagy CMP na trigger Consent Initialization \u2013 All Pages, kter\u00fd se spou\u0161t\u00ed p\u0159ed v\u0161emi ostatn\u00edmi tagy, i p\u0159ed triggerem Initialization (<a href=\"https:\/\/support.google.com\/tagmanager\/answer\/10718549\" target=\"_blank\" rel=\"noopener\">n\u00e1pov\u011bda GTM<\/a>). CMP \u0161ablony z Community Template Gallery pou\u017e\u00edvaj\u00ed API <code>setDefaultConsentState<\/code> a <code>updateConsentState<\/code>, tak\u017ee <code>gtag('consent', \u2026)<\/code> v nich ru\u010dn\u011b volat nem\u00e1te.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Consent mode Basic vs Advanced: Advanced neznamen\u00e1 automaticky lep\u0161\u00ed<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Google rozli\u0161uje dva re\u017eimy, ve kter\u00fdch consent mode pracuje: Basic a Advanced. Oba pou\u017e\u00edvaj\u00ed stejn\u00e9 typy souhlasu (nap\u0159\u00edklad <code>analytics_storage<\/code>) a v requestech je p\u0159ed\u00e1vaj\u00ed stejn\u00fdmi parametry. Li\u0161\u00ed se t\u00edm, kdy se na\u010dtou tagy a co z nich odch\u00e1z\u00ed, dokud u\u017eivatel nesouhlas\u00ed. Pr\u00e1v\u011b tahle volba se p\u0159i nasazen\u00ed snadno p\u0159ehl\u00e9dne.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">T\u0159i pojmy, kter\u00e9 budu d\u00e1l pot\u0159ebovat:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cookieless ping<\/strong> je m\u011b\u0159en\u00ed bez cookies: tag po\u0161le Googlu zpr\u00e1vu, \u017ee n\u00e1v\u0161t\u011bva nebo ud\u00e1lost prob\u011bhla, ale bez identifik\u00e1toru u\u017eivatele.<\/li>\n\n\n\n<li><strong>Modelov\u00e1n\u00ed<\/strong> znamen\u00e1, \u017ee Google chyb\u011bj\u00edc\u00ed data od odm\u00edtnut\u00fdch u\u017eivatel\u016f dopo\u010d\u00edt\u00e1 statistick\u00fdm odhadem.<\/li>\n\n\n\n<li><strong>BigQuery<\/strong> je datab\u00e1ze Googlu, kam GA4 um\u00ed exportovat surov\u00e1 data jednotliv\u00fdch ud\u00e1lost\u00ed.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th>Basic<\/th><th>Advanced<\/th><\/tr><\/thead><tbody><tr><td>Na\u010dten\u00ed Google tag\u016f<\/td><td>a\u017e po interakci s li\u0161tou<\/td><td>hned p\u0159i otev\u0159en\u00ed str\u00e1nky<\/td><\/tr><tr><td>Co odch\u00e1z\u00ed p\u0159i odm\u00edtnut\u00ed<\/td><td>nic, ani stav souhlasu<\/td><td>cookieless pings<\/td><\/tr><tr><td>Modelov\u00e1n\u00ed v GA4<\/td><td>\u017e\u00e1dn\u00e9<\/td><td>mo\u017en\u00e9, ale jen nad prahy<\/td><\/tr><tr><td>Modelov\u00e1n\u00ed konverz\u00ed v Google Ads<\/td><td>obecn\u00fd model<\/td><td>model specifick\u00fd pro inzerenta<\/td><\/tr><tr><td>Odm\u00edtnut\u00ed u\u017eivatel\u00e9 v BigQuery<\/td><td>chyb\u00ed<\/td><td>ud\u00e1losti bez trval\u00e9ho ID<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Basic: z odm\u00edtnut\u00fdch n\u00e1v\u0161t\u011bv nechod\u00ed nic<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">V re\u017eimu Basic se Google tagy nena\u010dtou, dokud u\u017eivatel v li\u0161t\u011b neklikne. Pokud odm\u00edtne, Googlu neodejde nic, ani stav souhlasu. Cena za to: v GA4 nez\u00edsk\u00e1te modelovan\u00e1 data, kter\u00fdmi se dopl\u0148uj\u00ed mezery (<a href=\"https:\/\/support.google.com\/analytics\/answer\/9976101\" target=\"_blank\" rel=\"noopener\">n\u00e1pov\u011bda GA4<\/a>). V Google Ads se modelov\u00e1n\u00ed konverz\u00ed op\u00edr\u00e1 jen o obecn\u00fd model. A odm\u00edtnut\u00ed u\u017eivatel\u00e9 chyb\u00ed i v BigQuery exportu, proto\u017ee do Googlu se o nich nedostalo nic.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Advanced: cookieless pings a co p\u0159in\u00e1\u0161ej\u00ed<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">V re\u017eimu Advanced se tagy na\u010dtou hned a v\u00fdchoz\u00ed stav je <code>denied<\/code>. Dokud u\u017eivatel nesouhlas\u00ed, pos\u00edlaj\u00ed cookieless pings. Podle n\u00e1pov\u011bdy Google mohou obsahovat:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u010dasov\u00e9 raz\u00edtko,<\/li>\n\n\n\n<li>user agent (typ prohl\u00ed\u017ee\u010de a opera\u010dn\u00edho syst\u00e9mu),<\/li>\n\n\n\n<li>referrer (str\u00e1nka, ze kter\u00e9 n\u00e1v\u0161t\u011bvn\u00edk p\u0159i\u0161el),<\/li>\n\n\n\n<li>rozli\u0161en\u00ed obrazovky,<\/li>\n\n\n\n<li>IP adresu (sou\u010d\u00e1st b\u011b\u017en\u00e9 komunikace),<\/li>\n\n\n\n<li>stav souhlasu,<\/li>\n\n\n\n<li>n\u00e1hodn\u00e9 \u010d\u00edslo vygenerovan\u00e9 p\u0159i ka\u017ed\u00e9m na\u010dten\u00ed str\u00e1nky.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Bez <code>ads_data_redaction<\/code> se p\u0159i <code>ad_storage='denied'<\/code> odes\u00edl\u00e1 i cel\u00e1 URL str\u00e1nky, kter\u00e1 m\u016f\u017ee obsahovat parametr GCLID, viz <a href=\"https:\/\/support.google.com\/analytics\/answer\/9976101\" target=\"_blank\" rel=\"noopener\">n\u00e1pov\u011bda GA4<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V re\u017eimu Advanced dostanete:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Modelov\u00e1n\u00ed konverz\u00ed v Google Ads. M\u00e1 ale minim\u00e1ln\u00ed po\u017eadavky na objem dat \u2013 stav uk\u00e1\u017ee diagnostika konverz\u00ed v Google Ads.<\/li>\n\n\n\n<li>Behavior\u00e1ln\u00ed modelov\u00e1n\u00ed v GA4. Aby to za\u010dalo fungovat, mus\u00edte m\u00edt alespo\u0148 1 000 ud\u00e1lost\u00ed denn\u011b s <code>analytics_storage='denied'<\/code> po dobu 7 dn\u00ed a alespo\u0148 1 000 denn\u00edch u\u017eivatel\u016f s <code>granted<\/code> alespo\u0148 7 z posledn\u00edch 28 dn\u00ed. M\u00e1te-li jen lehce nad t\u011bmito limity, neznamen\u00e1 to automaticky, \u017ee bude modelov\u00e1n\u00ed dostupn\u00e9 (<a href=\"https:\/\/support.google.com\/analytics\/answer\/11161109\" target=\"_blank\" rel=\"noopener\">n\u00e1pov\u011bda GA4<\/a>).<\/li>\n\n\n\n<li>Cookieless ud\u00e1losti v BigQuery, tedy surov\u00e1 data bez trval\u00e9ho identifik\u00e1toru u\u017eivatele (tj. bez jak\u00e9hokoliv modelov\u00e1n\u00ed, kter\u00e9 zmi\u0148uji v\u00fd\u0161e).<br>Advanced tedy nedopln\u00ed chyb\u011bj\u00edc\u00ed u\u017eivatele do BigQuery. Dod\u00e1 po\u010dty ud\u00e1lost\u00ed, kter\u00e9 nejde spojit do u\u017eivatel\u016f ani relac\u00ed.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Riziko: data odch\u00e1zej\u00ed p\u0159ed souhlasem<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cookies se v re\u017eimu Advanced nepou\u017eij\u00ed, ale prohl\u00ed\u017ee\u010d p\u0159i pingu p\u0159esto p\u0159ed\u00e1 technick\u00e9 \u00fadaje. Prim\u00e1rn\u011b se t\u00edm zab\u00fdv\u00e1 sm\u011brnice ePrivacy (o soukrom\u00ed v elektronick\u00fdch komunikac\u00edch), \u010dl. 5(3) (pravidlo o ukl\u00e1d\u00e1n\u00ed a \u010dten\u00ed dat v za\u0159\u00edzen\u00ed u\u017eivatele), v \u010cR <a href=\"https:\/\/www.sabatka.net\/cs\/gdpr-cookie-bars-finaly-in-czechia\/\">\u00a7 89 odst. 3 z\u00e1kona o elektronick\u00fdch komunikac\u00edch<\/a>. Evropsk\u00fd sbor pro ochranu osobn\u00edch \u00fadaj\u016f (EDPB) vykl\u00e1d\u00e1 v <a href=\"https:\/\/www.edpb.europa.eu\/documents\/guideline\/guidelines-22023-on-technical-scope-of-art-53-of-eprivacy-directive_en\" target=\"_blank\" rel=\"noopener\">Guidelines 2\/2023<\/a> \u010dl. 5(3) \u0161\u00ed\u0159eji ne\u017e jen na cookies. Pat\u0159\u00ed sem podle n\u011bj i situace, kdy JavaScript na str\u00e1nce na\u0159\u00edd\u00ed prohl\u00ed\u017ee\u010di odeslat data na server, a t\u00fdkat se to m\u016f\u017ee i IP adresy nebo user agentu, pokud jejich odesl\u00e1n\u00ed vyvol\u00e1 pr\u00e1v\u011b takov\u00fd k\u00f3d. Pokud se tento v\u00fdklad uplatn\u00ed, m\u016f\u017ee souhlas vy\u017eadovat i samotn\u00e9 odesl\u00e1n\u00ed cookieless pingu, tedy p\u0159esn\u011b to, co Advanced d\u011bl\u00e1 je\u0161t\u011b p\u0159ed kliknut\u00edm v li\u0161t\u011b.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google uv\u00e1d\u00ed, \u017ee IP adresy n\u00e1v\u0161t\u011bvn\u00edk\u016f z EU, \u0160v\u00fdcarska a Spojen\u00e9ho kr\u00e1lovstv\u00ed v GA4 neukl\u00e1d\u00e1 a po ur\u010den\u00ed geolokace je okam\u017eit\u011b zahod\u00ed (<a href=\"https:\/\/support.google.com\/analytics\/answer\/12017362\" target=\"_blank\" rel=\"noopener\">n\u00e1pov\u011bda GA4<\/a>). Riziko je tedy hlavn\u011b v tom, \u017ee k p\u0159enosu doch\u00e1z\u00ed p\u0159ed souhlasem. V\u00fdslovn\u00e9 stanovisko dozorov\u00e9ho \u00fa\u0159adu ke Google consent mode jsem nena\u0161el.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Simo Ahava doporu\u010duje jako v\u00fdchoz\u00ed volbu Basic a Advanced jen po pe\u010dliv\u00e9 \u00favaze s pr\u00e1vn\u00edm t\u00fdmem. Obecn\u011bj\u0161\u00ed ot\u00e1zku, zda se Google tagy sm\u011bj\u00ed na\u010d\u00edst p\u0159ed souhlasem, \u0159e\u0161\u00edm v \u010dl\u00e1nku o <a href=\"https:\/\/www.sabatka.net\/cs\/gtm-gdpr-conflict\/\">rozsudku z Hannoveru<\/a>. Jak se mohou pravidla vyv\u00edjet d\u00e1l, popisuji v textu o <a href=\"https:\/\/www.sabatka.net\/cs\/digital-omnibus-in-digital-analytics\/\">Digital Omnibus<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Jak se rozhodnout<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">M\u016fj pohled: pokud web neinzeruje v Google Ads na n\u00e1v\u0161t\u011bvn\u00edky z EHP a nespln\u00ed prahy GA4, Advanced p\u0159inese hlavn\u011b riziko. Pokud inzeruje, m\u016f\u017ee m\u00edt model konverz\u00ed specifick\u00fd pro inzerenta re\u00e1lnou hodnotu (pokud \u00fa\u010det spln\u00ed po\u017eadavky na objem dat), kterou je t\u0159eba v\u00e1\u017eit proti riziku spolu s pr\u00e1vn\u00edkem nebo pov\u011b\u0159encem pro ochranu osobn\u00edch \u00fadaj\u016f (DPO).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A je\u0161t\u011b jednou: m\u011bjte na pam\u011bti, \u017ee Advanced neznamen\u00e1 automaticky lep\u0161\u00ed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jak to vypad\u00e1 technicky: parametry gcs a gcd<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sou\u010d\u00e1st\u00ed request\u016f, kter\u00e9 Google tag pos\u00edl\u00e1, jsou parametry, kter\u00e9 Googlu sd\u011bluj\u00ed stav souhlasu. Google v dokumentaci zmi\u0148uje mimo jin\u00e9 <code>gcs<\/code> a <code>gcd<\/code>, ale jejich form\u00e1t nedokumentuje a p\u00ed\u0161e, \u017ee se m\u016f\u017ee zm\u011bnit. Pro lad\u011bn\u00ed doporu\u010duje Tag Assistant, sv\u016fj ladic\u00ed n\u00e1stroj pro tagy. Parametr <code>gcd<\/code> se nav\u00edc pos\u00edl\u00e1 v\u017edy, i kdy\u017e consent mode neaktivujete. Jeho p\u0159\u00edtomnost proto nic nedokazuje.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Pozor: dek\u00f3dov\u00e1n\u00ed n\u00ed\u017ee nen\u00ed ofici\u00e1ln\u00ed.<\/strong> V\u00fdznam hodnot <code>gcs<\/code> a <code>gcd<\/code> vych\u00e1z\u00ed z komunitn\u00edho reverse engineeringu (zejm\u00e9na Simo Ahava a dodavatel\u00e9 CMP). Google je nepublikuje a m\u016f\u017ee je kdykoli zm\u011bnit. Berte to jako pom\u016fcku pro orientaci, ne jako specifikaci.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">gcs: dva sign\u00e1ly<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Parametr <code>gcs<\/code> zn\u00e1 jen dva sign\u00e1ly, <code>ad_storage<\/code> a <code>analytics_storage<\/code>. M\u00e1 tvar <code>G1xy<\/code>, kde x je <code>ad_storage<\/code> a y je <code>analytics_storage<\/code>. Jedni\u010dka znamen\u00e1 <code>granted<\/code>, nula <code>denied<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>gcs<\/th><th>ad_storage<\/th><th>analytics_storage<\/th><\/tr><\/thead><tbody><tr><td><code>G100<\/code><\/td><td>denied<\/td><td>denied<\/td><\/tr><tr><td><code>G110<\/code><\/td><td>granted<\/td><td>denied<\/td><\/tr><tr><td><code>G101<\/code><\/td><td>denied<\/td><td>granted<\/td><\/tr><tr><td><code>G111<\/code><\/td><td>granted<\/td><td>granted<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><code>G100<\/code> uvid\u00edte jen v Advanced. V Basic se p\u0159i odm\u00edtnut\u00ed nic nepos\u00edl\u00e1, tak\u017ee nen\u00ed co \u010d\u00edst.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">gcd: \u010dty\u0159i sign\u00e1ly a rozd\u00edl mezi default a update<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>gcs<\/code> zn\u00e1 jen dva sign\u00e1ly. <code>gcd<\/code> p\u0159ibyl s v2 a nese v\u0161echny \u010dty\u0159i, v\u010detn\u011b rozli\u0161en\u00ed default a update. Op\u011bt jde o pozorov\u00e1n\u00ed komunity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">P\u00edsmena v <code>gcd<\/code> jdou v po\u0159ad\u00ed <code>ad_storage<\/code>, <code>analytics_storage<\/code>, <code>ad_user_data<\/code>, <code>ad_personalization<\/code>. Ka\u017ed\u00e9 p\u00edsmeno k\u00f3duje dvojici: v\u00fdchoz\u00ed stav a p\u0159\u00edpadn\u00fd update. \u010c\u00edslice mezi p\u00edsmeny nevykl\u00e1d\u00e1m. Jejich v\u00fdznam nikdo spolehliv\u011b nedolo\u017eil a mezi weby se li\u0161\u00ed, pro \u010dten\u00ed souhlasu sta\u010d\u00ed p\u00edsmena.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dva p\u0159\u00edklady:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>13r3r3r3r5<\/code>: \u010dty\u0159ikr\u00e1t <code>r<\/code>, tedy default <code>denied<\/code>, update <code>granted<\/code>. U\u017eivatel p\u0159ijal v\u0161e.<\/li>\n\n\n\n<li><code>13l3l3l2l2<\/code>: sam\u00e1 <code>l<\/code>. Consent mode nebyl nalezen, je neaktivn\u00ed.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A tady je tah\u00e1k k jednotliv\u00fdm p\u00edsmen\u016fm:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>P\u00edsmeno<\/th><th>Default<\/th><th>Update<\/th><\/tr><\/thead><tbody><tr><td><code>l<\/code><\/td><td>nenastaveno<\/td><td>nenastaveno (consent mode nenalezen)<\/td><\/tr><tr><td><code>p<\/code><\/td><td>denied<\/td><td>\u017e\u00e1dn\u00fd update<\/td><\/tr><tr><td><code>q<\/code><\/td><td>denied<\/td><td>denied<\/td><\/tr><tr><td><code>r<\/code><\/td><td>denied<\/td><td>granted<\/td><\/tr><tr><td><code>t<\/code><\/td><td>granted<\/td><td>\u017e\u00e1dn\u00fd update<\/td><\/tr><tr><td><code>u<\/code><\/td><td>granted<\/td><td>denied<\/td><\/tr><tr><td><code>v<\/code><\/td><td>granted<\/td><td>granted<\/td><\/tr><tr><td><code>m<\/code><\/td><td>nenastaveno<\/td><td>denied<\/td><\/tr><tr><td><code>n<\/code><\/td><td>nenastaveno<\/td><td>granted<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Z tabulky plyne: p\u0159ed kliknut\u00edm v li\u0161t\u011b (default denied, \u017e\u00e1dn\u00fd update) uvid\u00edte <code>p<\/code>, po odm\u00edtnut\u00ed <code>q<\/code>, po p\u0159ijet\u00ed <code>r<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Jak to ov\u011b\u0159it<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Za\u010dn\u011bte nejjednodu\u0161\u0161\u00ed cestou: <a href=\"https:\/\/tagassistant.google.com\/\" target=\"_blank\" rel=\"noopener\">Tag Assistant<\/a>, kter\u00fd Google pro lad\u011bn\u00ed doporu\u010duje s\u00e1m. Chcete-li vid\u011bt syrov\u00fd request:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Otev\u0159ete web v anonymn\u00edm okn\u011b. CMP si volbu pamatuje, tak\u017ee jinak byste testovali u\u017e ulo\u017een\u00fd stav.<\/li>\n\n\n\n<li>Otev\u0159ete DevTools a z\u00e1lo\u017eku Network. Do filtru napi\u0161te <code>collect<\/code>.<\/li>\n\n\n\n<li>Klikn\u011bte v li\u0161t\u011b na odm\u00edtnut\u00ed nebo p\u0159ijet\u00ed a v requestech GA4 najd\u011bte parametry <code>gcs<\/code> a <code>gcd<\/code>. V Basic po odm\u00edtnut\u00ed \u017e\u00e1dn\u00fd GA4 request neuvid\u00edte, to je v po\u0159\u00e1dku.<\/li>\n\n\n\n<li>Zkontrolujte, \u017ee p\u00edsmena v <code>gcd<\/code> nejsou sam\u00e1 <code>l<\/code>. Samotn\u00e1 p\u0159\u00edtomnost <code>gcd<\/code> nic neznamen\u00e1.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"597\" data-src=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/10\/consent-mode-parameters-in-dev-tools-1-1024x597.png\" alt=\"\" class=\"wp-image-1607 lazyload\" data-srcset=\"https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/10\/consent-mode-parameters-in-dev-tools-1-1024x597.png 1024w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/10\/consent-mode-parameters-in-dev-tools-1-300x175.png 300w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/10\/consent-mode-parameters-in-dev-tools-1-768x448.png 768w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/10\/consent-mode-parameters-in-dev-tools-1-1536x896.png 1536w, https:\/\/www.sabatka.net\/wp-content\/uploads\/2026\/10\/consent-mode-parameters-in-dev-tools-1.png 1918w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/597;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Google nen\u00ed s\u00e1m: consent sign\u00e1ly u dal\u0161\u00edch platforem<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pot\u0159ebu p\u0159edat souhlas tag\u016fm maj\u00ed v\u0161ichni. Princip je v\u0161ude podobn\u00fd: sign\u00e1l souhlasu mus\u00ed b\u00fdt nastaven p\u0159ed odesl\u00e1n\u00edm dat. Syntaxe se li\u0161\u00ed.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Platforma<\/th><th>Jak se sign\u00e1l p\u0159ed\u00e1v\u00e1<\/th><th>Co si pamatovat<\/th><th>Dokumentace<\/th><\/tr><\/thead><tbody><tr><td>Microsoft Advertising (UET, Universal Event Tracking)<\/td><td>consent mode s jedin\u00fdm sign\u00e1lem <code>ad_storage<\/code><\/td><td>Povinn\u00e9 pro EHP, UK a CH od 5. 5. 2025. Bez nastaven\u00e9ho defaultu UET v EHP, UK a CH p\u0159edpokl\u00e1d\u00e1 <code>denied<\/code>, jinde <code>granted<\/code>.<\/td><td><a href=\"https:\/\/about.ads.microsoft.com\/en\/blog\/post\/march-2025\/providing-user-consent-signals-on-your-microsoft-campaigns-by-may-5-2025\" target=\"_blank\" rel=\"noopener\">blog Microsoftu<\/a>, <a href=\"https:\/\/learn.microsoft.com\/en-us\/advertising\/msa-help\/hlp_ba_conc_uet_consent\" target=\"_blank\" rel=\"noopener\">n\u00e1pov\u011bda UET<\/a><\/td><\/tr><tr><td>Microsoft Clarity<\/td><td><code>clarity('consentv2', { ad_Storage: \u2026, analytics_Storage: \u2026 })<\/code><\/td><td>Pozor na velk\u00e9 S. Pro EHP, UK a CH vynucov\u00e1no od 31. 10. 2025, bez souhlasu b\u011b\u017e\u00ed bez cookies.<\/td><td><a href=\"https:\/\/learn.microsoft.com\/en-us\/clarity\/setup-and-installation\/clarity-consent-api-v2\" target=\"_blank\" rel=\"noopener\">Consent API v2<\/a><\/td><\/tr><tr><td>Meta pixel<\/td><td><code>fbq('consent', 'revoke')<\/code> p\u0159ed <code>fbq('init', \u2026)<\/code>, po souhlasu <code>fbq('consent', 'grant')<\/code><\/td><td>Vol\u00e1n\u00ed pat\u0159\u00ed na ka\u017edou str\u00e1nku.<\/td><td><a href=\"https:\/\/developers.facebook.com\/docs\/meta-pixel\/implementation\/gdpr\" target=\"_blank\" rel=\"noopener\">Meta dokumentace<\/a><\/td><\/tr><tr><td>Pinterest<\/td><td><code>pintrk('setconsent', true)<\/code> nebo <code>false<\/code><\/td><td>P\u0159i <code>false<\/code> se ud\u00e1losti nepos\u00edlaj\u00ed.<\/td><td><a href=\"https:\/\/help.pinterest.com\/en\/business\/article\/install-the-base-code\" target=\"_blank\" rel=\"noopener\">Pinterest<\/a><\/td><\/tr><tr><td>Amazon Ads<\/td><td>Amazon Consent Signal (ACS), IAB TCF (Transparency and Consent Framework, odv\u011btvov\u00fd standard pro p\u0159ed\u00e1v\u00e1n\u00ed souhlasu) nebo GPP (Global Privacy Platform)<\/td><td>Sta\u010d\u00ed jeden ze t\u0159\u00ed zp\u016fsob\u016f, p\u0159i v\u00edce sign\u00e1lech vyhr\u00e1v\u00e1 TCF.<\/td><td><a href=\"https:\/\/advertising.amazon.com\/resources\/ad-policy\/consent-signal-requirements\" target=\"_blank\" rel=\"noopener\">Amazon Ads<\/a><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">TikTok pixel m\u00e1 vlastn\u00ed re\u017eim, viz <a href=\"https:\/\/ads.tiktok.com\/help\/article\/how-to-use-cookies-with-tiktok-pixel\" target=\"_blank\" rel=\"noopener\">n\u00e1pov\u011bda TikTok Ads<\/a>. Nastaven\u00ed consent pro Clarity jsem popsal samostatn\u011b: <a href=\"https:\/\/www.sabatka.net\/cs\/consent-mode-v2-for-ms-clarity\/\">jak spr\u00e1vn\u011b nastavit consent pro MS Clarity<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Je consent mode tot\u00e9\u017e co cookie li\u0161ta?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ne. Li\u0161ta souhlas sb\u00edr\u00e1, consent mode ho p\u0159ed\u00e1v\u00e1 tag\u016fm (viz v\u00fd\u0161e). Bez li\u0161ty nem\u00e1 consent mode co p\u0159ed\u00e1vat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Je consent mode v2 povinn\u00fd?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Google vy\u017eaduje sign\u00e1ly souhlasu pro n\u00e1v\u0161t\u011bvn\u00edky z EHP, Spojen\u00e9ho kr\u00e1lovstv\u00ed a \u0160v\u00fdcarska (EU User Consent Policy). Je to podm\u00ednka Googlu, ne z\u00e1kon. Pokud chcete u t\u011bchto n\u00e1v\u0161t\u011bvn\u00edk\u016f pou\u017e\u00edvat personalizaci, remarketing nebo m\u011b\u0159en\u00ed konverz\u00ed, sign\u00e1ly pot\u0159ebujete. Certifikovanou CMP Google vy\u017eaduje od publisher\u016f AdSense, Ad Manageru a AdMobu, pro inzerenty m\u00e1 samostatn\u00e1 pravidla (<a href=\"https:\/\/support.google.com\/adsense\/answer\/13554116\" target=\"_blank\" rel=\"noopener\">n\u00e1pov\u011bda AdSense<\/a>).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pro\u010d po nasazen\u00ed klesla data v GA4?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">M\u011b\u0159\u00ed se jen ti, kdo souhlasili, tak\u017ee pokles je o\u010dek\u00e1van\u00fd. Co z odm\u00edtnut\u00fdch zbyde, z\u00e1vis\u00ed na Basic vs Advanced (viz v\u00fd\u0161e), pod\u00edl souhlas\u016f spo\u010d\u00edt\u00e1te podle \u010dl\u00e1nku <a href=\"https:\/\/www.sabatka.net\/cs\/what-is-opt-in-rate\/\">Jak po\u010d\u00edt\u00e1m opt-in rate cookie li\u0161ty<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Co znamen\u00e1 G100 a G111?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Jde o hodnoty parametru <code>gcs<\/code>. <code>G100<\/code> znamen\u00e1 <code>ad_storage<\/code> i <code>analytics_storage<\/code> <code>denied<\/code> a uvid\u00edte ho jen v Advanced. <code>G111<\/code> znamen\u00e1 oboj\u00ed <code>granted<\/code>. Dek\u00f3dov\u00e1n\u00ed je komunitn\u00ed, Google form\u00e1t nedokumentuje.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Z\u00e1v\u011br<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Consent mode nen\u00ed cookie li\u0161ta. Je to zp\u016fsob, jak li\u0161ta \u0159ekne tag\u016fm, co sm\u011bj\u00ed. Z\u00e1klad je jednoduch\u00fd: v\u00fdchoz\u00ed stav p\u0159ed tagy, update po rozhodnut\u00ed a kontrola <code>gcs<\/code> a <code>gcd<\/code> v requestu. T\u011b\u017e\u0161\u00ed je rozhodnut\u00ed mezi Basic a Advanced, kter\u00e9 nepat\u0159\u00ed jen analytikovi.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button scroll_to_subscribe\"><a class=\"wp-block-button__link wp-element-button\" href=\"#\">Chci odeb\u00edrat novinky<\/a><\/div>\n\n\n\n<div class=\"wp-block-button linkedinShare\"><a class=\"wp-block-button__link wp-element-button\">Sd\u00edlet na LinkedIN<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Web m\u00e1 cookie li\u0161tu. N\u00e1v\u0161t\u011bvn\u00edk klikne na \u201eOdm\u00edtnout v\u0161e\u201c, li\u0161ta jeho volbu poctiv\u011b ulo\u017e\u00ed a vy jste p\u0159esv\u011bd\u010den\u00ed, \u017ee je hotovo. Google Ads p\u0159esto hl\u00e1s\u00ed chyb\u011bj\u00edc\u00ed sign\u00e1ly souhlasu. Li\u0161ta nic nezkazila. Jen nic ne\u0159ekla tag\u016fm, tedy kousk\u016fm k\u00f3du na webu, kter\u00e9 pos\u00edlaj\u00ed data do n\u00e1stroj\u016f jako Google Analytics nebo Google Ads. Sb\u00edr\u00e1 souhlas, ale tagy [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1585,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,10],"tags":[],"class_list":["post-1579","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-digital-analytics","category-google-tag-manager-gtm"],"_links":{"self":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts\/1579","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/comments?post=1579"}],"version-history":[{"count":12,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts\/1579\/revisions"}],"predecessor-version":[{"id":1610,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/posts\/1579\/revisions\/1610"}],"wp:attachment":[{"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/media?parent=1579"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/categories?post=1579"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sabatka.net\/cs\/wp-json\/wp\/v2\/tags?post=1579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}