Consent pro MS Clarity

Microsoft Clarity chce od 1. 11. 2025 předávat stav souhlasu.

Pokud splňujete uvedená 3 paravidla, nastavení bych neměnil:

  • používáte Clarity jen pro heatmapy a screen recorings
  • vkládáte Clarity přes GTM
  • Používáte Consent Mode v2

V opačném případě je třeba měření Clarity nastavit.

Co se děje

Microsoft pro Clarity zavádí víceméně stejnou logiku, jako používají Google Analytics 4. Bez souhlasu neumisťují cookies, nicméně i tak posílají requesty na servery Microsoftu – byť requesty mají příznak, že uživatel nedal souhlas.

Clarity si na stránce vytváří unikátní ID, které si drží v javascriptové proměnné. Při udělení souhlasu pak ukládá toto ID do cookie.

Posílání requestů na servery Microsoftu bez souhlasu je problematické – requesty vždy obsahují IP adresu, informace o zařízení a prohlížeči, které GDPR považuje za osobní údaje.

Druhou potenciálně spornou věcí je zápis cookies – kód Clarity je vytváří i bez souhlasu, jsou ale vždy prázdné. Při hodně striktním výkladu Zákona o elektronických komunikacích by nemělo docházet ani k tomuto.

Z mého pohledu máte 2 možnosti nastavení:

  1. nastavení podle pokynů Microsoftu
  2. maximální soulad s GDPR

Obě možnosti jsou popsány detailně níže.

Nastavení podle pokynů Microsoftu

Můžete využít postup podle dokumentace Microsoft Clarity. Bodově to pak bude:

1. V nastavení MS Clarity “zakázat cookies”

Toto nastavení říká kódu Clarity, že se má načítat se stavem souhlasu “denied”. Teprve po jeho udělení je pak změn na “granted”.

2. Spouštět kód na všech stránkách ihned po načtení stránky

3. Předávat kódu Clarity stav souhlasu

window.clarity('consentv2', {  ad_Storage: "granted | denied",
  analytics_Storage: "granted | denied"
}); 

Pozor: v kódu je použit _Storage s velkým S, Google consent mode ale pracuje se _storage s malým s.

Nejprve je třeba spustit kód Clarity, teprve pak je možné předat stav souhlasu.


Toto nemusíte řešit, pokud používáte GTM a Consent Mode v2 nebo pokud používáte jako cookie lištu nástroj CookieYes. Připravuje se podpora pro CookieBot a OneTrust.

Nastavení pak můžete ověřit příkazem, který vypíše stav souhlasu

clarity('metadata', (d, upgrade, consent) => {
	console.log('consentStatus:', consent);
}, false, true, true);

Před udělením musíte vidět “denied”, po udělení souhlasu “granted”.

Maximální soulad s GDPR

Druhá možnost nastavení maximálně respektuje GDPR a ZEK. Nevýhodou je, že se připravíte o část dat v heatmapách. Stejně tak pokud lidé dávají často souhlas až později na webu, bude úvodní část chování ve screen recording chybět.

Pokud už spouštíte Clarity jen se souhlasem (což byste měli), budete to dělat takto dál. V administraci necháte cookies povolené.

Pozn.: popsané nastavení nyní funguje. Nelze ale zaručit, že Microsoft nebude časem implementovat nějakou aktivní kontrolu předávání souhlasu. Takže pokud přidáte kód pro souhlas i v tomto případě, rozhodně tím nic nezkazíte. Stav bude vždy granted – protože bez souhlasu se Clarity nespustí.

window.clarity('consentv2', {
  ad_Storage: "granted",
  analytics_Storage: "granted"
});

Pokud používáte GTM a Consent Mode 2, toto řešit nemusíte a stačí použít Clarity z šablony.

Závěrem

Osobně preferuji variantu 2, a to protože:

  • respektuje přání uživatele
  • je bezpečnější z hlediska GDPR a ZEK
  • lidé na webech dávají většinou souhlasy hned po příchodu.

Pokud ale potřebujete všechna data a používáte méně agresivní lišu, může být pro vás vhodná i první varianta.

Článek popisuje můj pohled na věc. Za nastavení na vašem webu nejsem zodpovědný.

Chcete mít jistotu, že vše funguje, jak má?

Užitečné odkazy