Martin Michálek Martin Michálek  – 5. 1. 2024

Od ledna 2022 je i v Česku nutné od uživatelů žádat souhlas s ukládáním personalizačních a analytických cookies do jejich prohlížečů.

Stačí když na webu máte základní analytiku, např. Google Analytics, a máte povinnost před uložením cookies (nebo do jakéhokoliv úložiště v prohlížeči) žádat uživatele o souhlas pomocí takzvané cookie lišty.

Pravděpodobně jste to už řešili, pravděpodobně to už máte vyřešené. Pokud spravujete velké weby, tím spíše.

Pokud jste to to nechali až na nynější dobu, čtěte.

Text budu spíše cílit na majitele menších webů nebo ty, kteří zatím neměli potřebu to řešit. Dole v textu odkazuji na všemožné zdroje, takže to můžete dostudovat. V textu základy řešit nebudu, spíše otevřu témata, která mě zaujala a jinde jsem je nenašel.

Předem říkám, že se v téhle oblasti nepovažuji za odborníka – pokud se webařinou živíte, nasazení na weby konzultujte s advokáty (využívám Dostupného advokáta), případně také experty na UX a marketing.

Můj pohled je víceméně pohledem „hobbíka“, člověka, který spravuje pár webů, ale denodenní vývojařinou se neživí.

Než se do toho pustíme, velmi rád bych zde nejprve ventiloval svůj celkový osobní dojem.

Uživatelé platí soukromím za to, že my šetříme čas a peníze

Ještě na podzim '21 jsem nechápal, proč bychom měli už i v Česku na všechny weby nasazovat cookie lištu.

GDPR už máme vyřešené a od roku 2015 nějak i v Česku řešíme „EU cookies“. Vždyť přece stačí, že uživatele informujeme…

Čím více jsem se do problematiky ponořoval, tím více dávám za pravdu zákonné úpravě, která platí od ledna.

Jasně, forma je fakt nešťastná. Cookie lišta je zlo. Cookie lišta je zlo pro uživatele i provozovatele, takže se těším se na normu ePrivacy, která to přesune do nastavení prohlížeče.

To soukromí ale fakt musíme řešit. Jenže jak?

Nepoužívat a nešmírovat. Za analytické nástroje nechat platit toho, kdo data měří a nenechávat to na ceně uživatelského soukromí lidí, kteří ani nevědí co schvalují.

Honza ChemiX Černý na Twitteru

Představte si situaci že přijdete do obchoďáku a u vchodu vám bez ptaní dají do kapsy krabičku, která bude ukládat vaši polohu – jaké obchody jste navštívili, co jste tam dělali. Dají vám ji s úsměvem a s tím, že příště ta data použijí pro zlepšení vašeho nákupního prožitku. A že je možné, že ta data někomu prodají. Pro vaše dobro.

Líbilo by se vám to? Mně ne. Ale na webu je to úplně běžné:

  • Přijdete, dostanete cookie od Google Analytics, která sleduje váš pohyb webem.
  • Pokud je na webu vložené YouTube video, cookie se ukládá nejen pro úpravu obsahu a reklamy nejen na navštíveném webu, ale také na YouTube a také na jiných webech.
  • Taková komentářová služba Disqus se s tím už vůbec nemaže. V Cookie Policy přiznává jen zlomek cookies, které reálně ukládá, a rovnou říká, že data vašich uživatelů posílá i dalším firmám.

To všechno proto, že na webech mocně využíváme služby třetích stran. Zvykli jsme si na to. Šetří nám to jako webařům čas a peníze. Jenže nic jako komponenta třetí strany zdarma neexistuje. I ty placené mají daleko vyšší cenu než si myslíme.

Za náš ušetřený čas a peníze platí uživatelé svým soukromím. Jejich data, informace o pohybu našim webem využíváme nejen my, ale i úplně cizí firmy.

Můj postoj je silně ovlivněný studiem třetích stran, které jsem dosud běžně používal zde na Vzhůru dolů a které pravděpodobně používáte taky – Google Analytics a vkládaný obsah od YouTube, Twitteru, Facebooku… Jejich přístup k soukromí je prostě o dost horší, než jsem si myslel.

Takže – pojďme soukromí řešit. Pojďme jej řešit bez paniky a nadávání na zákon nebo EU. Pojďme vzít ty (formálně špatné) cookie lišty jako příležitost se něco naučit a zlepšit web jako celek.

Jednou třeba lišty dáme pryč a zůstanou nám, doufám, weby, které více dbají na soukromí lidí. Neprodávají jejich duši, aniž by to jako návštěvníci věděli.

Teď už se pustím do praktických rad, co s tím dělat na malém webu. Dávám sem svůj stav mysli.

Nutné základy

Nejprve pár textů a videí, které se vám mohou hodit při studiu základů z pohledu právního, marketingového nebo UX:

Které cookies jsou nově se souhlasem a jak zjistím, že je na webu mám?

Tohle jste už asi četli stokrát, ale pro jistotu to opakuju.

Pravděpodobně na webu používáte cookies nutné např. pro přihlášení nebo uložení nastavení jazyka (funkční cookies). Touto kategorií se vůbec trápit nemusíte, dále je možné je bez souhlasu v podobě cookie lišty používat.

Dejte si pozor na tyto typy cookies:

  • reklamní
  • analytické
  • personalizační

K těmto potřebujete od 1. ledna 2022 souhlas.

Nástroje, které pomáhají odhalit, které cookies na webu potřebujete:

Nejdříve dobrá zpráva – analyzovat těmito nástroje je jednoduché.

A teď ta špatná. Ani na Vzhůru dolů, takže strukturou menším webu, mě to nenašlo zdaleka všechny cookies, které bych měl „řešit“.

Navíc jde samozřejmě o statickou analýzu webu, takže např. komponenty načítané líně nebo na akci uživatele, to neodhalí.

Prostě bez zkoumání uložených cookies ve vývojářských nástrojích prohlížečů a čtení „Cookie Policy“ dodavatelů třetích stran se asi neobejdete.

Zákon praví…

Z jaké změny v zákoně vlastně celý ten humbuk vychází?

Každý, kdo hodlá používat nebo používá sítě elektronických komunikací k ukládání údajů nebo k získávání přístupu k údajům uloženým v koncových zařízeních účastníků nebo uživatelů, je povinen tyto účastníky nebo uživatele předem prokazatelně informovat o rozsahu a účelu jejich zpracování a je povinen nabídnout jim možnost takové zpracování odmítnout. Tato povinnost neplatí pro technické ukládání nebo přístup výhradně pro potřeby přenosu zprávy prostřednictvím sítě elektronických komunikací nebo je-li to nezbytné pro potřeby poskytování služby informační společnosti, která je výslovně vyžádána účastníkem nebo uživatelem.

Zákon o elektronických komunikacích (§ 89 Důvěrnost komunikací)

To je vše. Složitě napsané, ale překvapivě krátké, že?

Víte co, pojďme se tedy nejprve zkusit na to celé vykašlat.

Není možné se na to vykašlat?

Osobně vám to nedoporučuji.

Cookie lišta je otrava. Ano, to je.

Víte jaká je nejlepší cookie lišta? Žádná!

Z ohlasů na Twitteru

U malinkých webů asi nemá smysl propadat panice, ale u větších jsou postihy za nedodržení zákona samozřejmě udělovány od úřadu ÚOOU.

Advokáti říkají, že vás nejprve úředníci musejí vyzvat k nápravě, takže i kdyby na vás „vlítli“, máte čas to opravit. Pokuty by prý neměly být likvidační.

Kontrolu provádí @UOOUCR, sankce dává samozřejmě podle uvážení, ale horní hranice je vždycky předpisem limitovaná, navíc nesmí být nepřiměřená a likvidační.

Petra Dolejšová na Twitteru

Jen pro pořádek – je potřeba odlišit GDPR a nový odstaveček zákona týkajícího se cookie lišty. Píšu tady o tom druhém. Pokuty za porušování GDPR jsou myslím úplně jiná písnička. GDPR by už ale měli mít v pořádku všichni. A dávno.

Lze nemít cookie lištu a zároveň dodržovat zákon?

V prvé fázi jsem u všech svých webů přemýšlel nad tímto nejčistším řešením. U miniaturních webů je to realizovatelné například tím, že přestanete měřit analytikou, která nějak identifikuje uživatele. Nebo analytiku opustíte úplně a vystačíte si například s daty z Google Search Console.

Pokud potřebujete jakékoliv běžně měření typu Google Analytics, cookie lištu musíte mít.

Pokud do webu vkládáte jakoukoliv jinou komponent třetí strany (YouTube a jiné embedy, Google Tag Manager, chat, Google Fonts…), pak vysoce pravděpodobně cookie lištu musíte mít.

Touto cestou se kdysi vydaly i velké weby jako Github. Když si ale ke dnešku prohlédnete cookies, které vám Github a jimi používané third-parties uloží na stránce tohoto oznámení, vůbec není jisté, zda byli schopní tu proklamovanou čistotu udržet.

Takže – nezajímá vás návštěvnost a chování návštěvníků, nepotřebujete kód třetí strany? Lištu nepotřebujete. Jinak nejspíš ano.

Více popisuji v textu o zbavování webu cookies třetích stran.

Lze mít Google Analytics bez ukládání cookies?

Ano, Google Analytics (GA) můžeme zakázat ukládání do lokálních úložišť:

'client_storage': 'none',

Ztratíte ale přehled o počtu shlédnutých stránek na jednu návštěvu a vše související. Navíc se nezbavíte povinnosti mít cookie lištu, protože je dále možné identifikovat uživatele na straně dat z analytiky.

Celé řešení pro GA popisuji v textu o zbavování webu cookies.

Taky je ale možné nepoužívat Google Analytics, že ano?

Alternativy ke Google Analytics

Popularitu teď nabírají alternativní nástroje jako je Matomo nebo Fathom a další. Z toho co jsem pochopil z komentářů analytiků, kterým věřím… Je to past.

Tyhle nástroje často nepoužívají cookies, to je fajn, ale zároveň uživatele identifikují jinak, nejčastěji kombinací různých faktorů, takže fingerprintingem, což je z pohledu soukromí úplně to samé.

Simple Analytics, další alternativu, údajně bez fingerprintingu, ale bez sledování uživatele napříč webem, doporučovali další lidé, jako např. Jan Smitka na Twitteru.

Zdá se mi, že ani přes alternativní řešení ke GA cesta nevede. GA navíc mají velkou výhodu – jsou de facto průmyslovým standardem.

Další možností je zaměřit se na server. Serverová analytika je věc, která má dle mého budoucnost, ale zatím nevidím snadné a přímočaré řešení.

Co další komponenty třetích stran?

Musím se přiznat, že právě tahle část analýzy, kterou jsem si dělal pro Vzhůru dolů a další menší webíky, mě přesvědčila, že soukromí na webu je fakt problém. A že dodavatelé komponent třetích stran dělají většinou vše proto, aby to problém zůstal.

Pojďme si projít pár third-parties, které jsem zkoumal.

  • Google Fonts: názory se různí. Nějakou personalizaci dělají, ale spíše na základě lokality. Ve FAQ píší, že „no cookies are sent“. Vladimír Smitka ale říká, že „Google fonty sbírají data o koncovém uživateli“ a tak je při přísném výkladu potřeba souhlas. Nebo si fonty stáhnout lokálně.
  • Vložení obsahu z Twitteru: Ukládají cookies, personalizační i reklamní, tzn. souhlas by myslím standardně byl potřeba. Je to však možné vypnout a chránit soukromí uživatele, viz nápověda.
  • Vložení videa z YouTube: Standardně souhlas potřebujete, ukládají reklamní cookies. Embedy lze servírovat z domény youtube-nocookie.com a cookies se neuloží dokud uživatel video nepustí. Tzn. pak není potřeba souhlas? Nevím. Vladimír Smitka píše, že ta cookieless doména je fejk.
  • Facebook embed i Facebook pixel: Ukládají cookie jak diví a nikde jsem nenašel možnost to změnit.
  • Komentáře Disqus: Ukládá cookies jak divý, v Cookie Policy přiznává jen část a ještě vesele prohlašuje komu všemu ty údaje cookies nepředává. A to je prosím placená služba! Zde budu muset při pročišťování webu od nepořádných služeb třetí strany začít.

Můj celkový dojem? Pardon, ale asi budu blinkat… Takhle špatné jsem to nečekal. Čest výjimce, čest Twitteru.

Související: Jak jsem dělal analýzu cookies třetích stran.

Hodně se mi líbí řešení, kdy si souhlas k vložení obsahu vkládaném třetími stranami vyžádáte až při najetí na tento obsah. Připravené je to např. v komponentě Iframe Manager.

Celé moje vlákno k problematice third-parties je na Twitteru, pokud by vás to zajímalo doplněné o cenné názory dalších.

Dobře, teď už vím, že s vysokou pravděpodobností budu i na Vzhůru dolů nějakou lištu potřebovat. Jak to ale implementovat?

Řešení souhlasu s Google Tag Managerem

Martin Kolář udělal o tomto jednoduchém řešení pěknou přednášku.

YouTube: youtu.be/KW7lNaLfu9c

Martin ukazuje řešení vhodné právě pro jednoduché weby a vlastní implementaci lišty.

Veškeré komponenty třetích stran je ale nutné vložit právě přes Google Tag Managera:

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

gtag('consent', 'default', {
  'ad_storage': 'denied',
  'analytics_storage': 'denied',
  'personalization_storage': 'denied'
});

V GTM se pak nastaví souhlas pro konkrétní kategorii v nastavení kontejneru. Více je v přednášce, ale upozorňuji, že to je opět vhodné spíše pro menší weby.

Přes Google Tag Manager je pak možné i nastavit nesouhlas se vším, nechat přes nastavení GTM pak např. Google Analytics běžet v Consent Mode a uživatele netrápit cookie lištou.

Řešení pro cookie lištu třetích stran

Pro Vzhůru dolů jsem zvolil řešení cookie lišty pomocí Cloudflare Zaraz. Jde o komplexní řešení pro správu komponent třetích stran na vašem webu, včetně jednoduchého consent-managementu.

Pokud už nyní máte web na Cloudflare, je to vcelku přímočaré. Ušetří vám to energii za řešení zobrazování samotné cookie lišty. Ale i tak potřebujete nějaké analytické znalosti, sám jsem se docela zapotil, abych to zprovoznil.

Dále využiji možností získaných od kolegů:

  • CookieConsent: Malý plugin i s ukázkovým kódem od Vladimíra Smitky.
  • CookieConsent.com se jmenuje stejně, dělá to podobné věci, ale je to něco jiného.
  • Complianz (Wordpress): Kolega Dan Střelec mi píše: „V základu je zdarma, nasazení pár hodin hodina práce (podle webu). Pokud potřebujete ukládat souhlasy, je třeba placená verze (39 EUR/rok).

Větší řešení jsou například Cookiebot: V ČR velmi populární. Dan Střelec: „Neplacená verze je pouze do 100 stránek/web, od 500 stránek/web stojí €9/měsíc.“.

Zajímavé srovnání řešení, hlavně pro weby běžící na WordPressu, připravili v eHub.cz.

Větší weby využívají velmi robustní OneTrust (dříve Optanon), Didomi nebo Funding Choices od Google.

Cookie lišta a rychlost webu

Na blogu PageSpeed.cz jsem psal o trablech z pohledu rychlosti webu, které může nasazení cookie lišty způsobit.

Svoje jsme si užili s OneTrust, Didomi i Google Funding Choices. Nicméně vždy jsme nalezli cestu k optimalizaci.

Pravidlo číslo jedna? Načtěte tu lištu co nejdříve:

Mezi vývojáři se rozšířil mýtus, že vykreslení obsahu typu cookie lišty se musí odložit co nejvíce to jde. Nejde přece o hlavní obsah stránky. Jde ale o jednu z velkých chyb, které můžete při implementaci lišt udělat.

Co dál?

Po počáteční negaci beru ale celou věc kolem cookies od roku 2022 za velkou příležitost brát oblast soukromí uživatelů našich webů daleko vážněji.

Pokud potřebujete měřit uživatele i základní analytikou nebo si do webu vkládáte jakékoliv komponenty třetích stran, nezapomeňte dobře ošetřit souhlas uživatele pomocí cookie lišty.