Průvodce integrací souhlasu s cookies pro heatmapy a záznamy relací Hotjar: Příručka pro vydavatele 2026
Hotjar zaujímá jedinečné místo v sadě nástrojů. Není to webová analytická platforma jako Google Analytics, není to produktová analytická platforma jako Amplitude nebo Mixpanel a není to ani správce tagů. Je to nástroj pro výzkum uživatelské zkušenosti, který existuje specificky proto, aby zaznamenával, co jednotliví uživatelé na stránce dělají — kam pohybují myší, na co klikají, kam se posouvají, kde váhají a v případě záznamu relace přesně to, co napsali a co viděli zobrazené na obrazovce. Tato granularita je samotným produktem. Právě proto regulátoři označili přehrávání relací jako jednu z nejrizikovějších kategorií behaviorálního zpracování a proč neopatrné nasazení Hotjaru je jedním z nejsnadnějších způsobů, jak jinak vyhovující web přestane být v souladu s předpisy. CNIL, Garante a EDPB všichni zveřejnili pokyny zaměřené konkrétně na chování při přehrávání relací a pracovní skupina EDPB pro bannery cookies pro rok 2026 s tím zachází jako s prioritní kategorií. Dobrou zprávou je, že Hotjar patří k lépe navrženým nástrojům v této kategorii pro nasazení s prvním souhlasem — za předpokladu, že vydavatel skutečně používá existující ovládací prvky.
Proč Hotjar vyžaduje výslovný souhlas
Sběrný profil Hotjaru je to, co spouští povinnosti týkající se souhlasu ve všech relevantních rámcích. Při výchozí inicializaci skript pro sledování Hotjaru zapíše do prohlížeče alespoň tři soubory cookie první strany — _hjSessionUser_{siteId}, _hjSession_{siteId} a řadu potlačovacích cookies a cookies vstupního zdroje — v průběhu milisekund od načtení stránky. Skript poté začne streamovat nepřetržitý záznam souřadnic kurzoru, souřadnic kliknutí, pozice posouvání, velikosti výřezu a při aktivovaném záznamu relace celý vykreslený DOM změněný oproti výchozímu stavu.
Podle článku 5 odst. 3 směrnice ePrivacy je každý z těchto souborů cookie operací ukládání a přístupu, která vyžaduje předchozí, svobodný, konkrétní, informovaný a jednoznačný souhlas v EHP, Spojeném království, Švýcarsku a v jakékoli jurisdikci, která přijala stejný standard. Podle GDPR behaviorální proud představuje zpracování osobních údajů, protože kombinace stopy kurzoru, IP adresy, digitálního otisku zařízení a identifikátoru relace je dostatečná k identifikaci konkrétní osoby. Podle CCPA a CPRA tentýž sběr představuje prodej nebo sdílení, pokud vydavatel nemá příslušnou smlouvu se zpracovatelem s Hotjarem — kterou Hotjar nabízí prostřednictvím svého DPA v souladu s CCPA, ale nabývá účinnosti teprve po správné konfiguraci integrace. Podle pokynů EDPB pro přehrávání relací je laťka ještě výše: přehrávání musí být vázáno na konkrétní, legitimní účel UX výzkumu, doba uchovávání musí být minimálně nutná a subjekt údajů musí být informován nejen o existenci záznamů, ale i o tom, že jeho vlastní relace může být přehrána analytikem.
Co Hotjar sbírá před souhlasem — a co musí být potlačeno
Nejčastější chybou při implementaci je ta, která se dodává s vlastním rychlým startem Hotjaru: vložení sledovacího skriptu přímo do <head> stránky. To funguje, ale načítá Hotjar dříve, než se vůbec vykreslí banner cookies, což znamená, že cookies jsou nastaveny a behaviorální záznam začíná při úplně prvním zobrazení stránky — bez ohledu na to, co se uživatel rozhodne udělat později. Každý regulátor EU, který se k tomuto vzoru vyjádřil, rozhodl stejně: cookies nastavené před souhlasem jsou nezákonné a vydavatel za ně odpovídá.
Vyhovující integrace proto musí skriptu Hotjaru zcela zabránit v načtení, dokud nebyla udělena příslušná kategorie souhlasu. Nejčistším způsobem, jak toho dosáhnout, je zabalit fragment Hotjaru do tagu <script> podmíněného souhlasem, který CMP vloží až po té, co uživatel přijme kategorii analytiky nebo výzkumu produktu. Pokud je skript načítán přes správce tagů, ekvivalentem je nastavit spouštěč na událost udělení souhlasu namísto All Pages. Vlastní dokumentace Hotjaru tento vzor nyní výslovně doporučuje a platforma zpřístupňuje API hj('consent', 'grant') pro případy, kdy musí být skript přítomen, ale musí zůstat nečinný, dokud není zaznamenán souhlas.
Cookies a úložiště, která Hotjar zapisuje
Hotjar Tracking Code 6.x zapisuje následující identifikátory, z nichž všechny jsou nezbytné a vyžadují souhlas: _hjSessionUser_{siteId} s platností 365 dní obsahující identifikátor uživatele, _hjSession_{siteId} s platností 30 minut obsahující identifikátor relace, _hjFirstSeen, _hjIncludedInSessionSample_{siteId}, _hjAbsoluteSessionInProgress a řadu cookies pro přiřazení kampaní, když jsou aktivní průzkumy nebo widgety zpětné vazby. Samotné záznamy relací jsou uloženy na serverech Hotjaru a jsou svázány s identifikátorem relace — odvolání souhlasu proto musí prostřednictvím API Hotjaru nebo postupu mazání uživatelů v produktu signalizovat také žádost o smazání.
Mapování Hotjaru na rámce souhlasu
Hotjar se nativně neintegruje s IAB TCF ani s IAB Global Privacy Platform. Není to technologický dodavatel reklamy a nikdy jím být neměl. Integruje se však s Google Consent Mode v2 prostřednictvím signálu analytics_storage a zpřístupňuje vlastní nativní API souhlasu, ke kterému se může připojit jakýkoli CMP. Vzor, který obstojí v kontrole regulátora, zachází s každou funkcí Hotjaru jako se samostatnou branou souhlasu.
- Heatmapy a mapy kliknutí jsou vázány na účel analytiky nebo výzkumu produktu. V terminologii TCF se nejčastěji jedná o účel 8 (měření výkonu obsahu) v kombinaci s účelem 1 (ukládání a/nebo přístup k informacím). Pro Consent Mode je to analytics_storage.
- Záznam relace by měl být za přísnějším, samostatným signálem. Záznam zachycuje vykreslený DOM a jakékoli nemaskované pole a výslovné přihlášení na úrovni preferencí — nikoli celkový souhlas s analytikou — je obhajitelný postoj podle pokynů EDPB pro přehrávání relací.
- Průzkumy a widgety zpětné vazby mohou fungovat pod stejnou branou souhlasu jako záznam relace, když shromažďují volný textový vstup, nebo pod branou analytiky, když shromažďují pouze data hodnocení.
- Trychtýře a sledování konverzí jsou vázány na bránu analytiky; pokud se jakýkoli identifikátor uživatele šíří do CRM nebo reklamní platformy, platí také marketingová brána.
Vzor integrace, který funguje
Referenční nasazení má čtyři části: CMP, který zpřístupňuje událost změny souhlasu v reálném čase, opožděný načítač skriptů, který vloží fragment Hotjaru pouze po aktivaci souhlasu s analytikou, vrstva potlačení záznamu relace, která nastaví záznam ve výchozím stavu na vypnuto, dokud se neotevře samostatná brána, a konfigurace maskování vstupu, která pevně potlačuje jakékoli pole, které by regulátor považoval za citlivé, i když byl souhlas udělen. Čtvrtý bod je často přehlížen: maskování vstupu není náhradou za souhlas, ale je náhradou za katastrofu, když je souhlas udělen pro legitimní výzkum a uživatel náhodou vloží citlivá data do pole s volným textem.
Webová implementace
Na webu je nejčistším vzorem přihlášení k odběru události změny souhlasu CMP a poté podmíněné vložení fragmentu Hotjaru, když se účel analytiky přepne z false na true. K vložení sledovacího kódu s nastaveným atributem async použijte document.createElement('script') a připojte obsluhu onload, která volá hj('identify', userId, properties) pouze v případě, že existuje serverem ověřený identifikátor uživatele. Při odvolání souhlasu zavolejte hj('consent', 'revoke'), nechte vypršet všechny cookies _hj přes document.cookie a odešlete žádost o smazání přes Hotjar Data API pro předchozí záznamy relací uživatele. Neinicializujte Hotjar líně ve stejném průchodu vykreslování jako banner — skript musí čekat na výslovné udělení a udělení musí být zaznamenáno s časovým razítkem a řetězcem souhlasu dříve, než se skript spustí.
Maskování vstupu a potlačení citlivých dat
Rekordér relací Hotjaru se dodává se třemi režimy maskování: Suppress mode, což je výchozí pro pole hesel a jakýkoli prvek označený atributem data-hj-suppress; Whitelist mode, kde se zaznamenávají pouze výslovně přihlášené vstupy; a Mask mode, kde jsou úhozy kláves zaznamenávány jako hvězdičky. Podle pravidel pro zvláštní kategorie GDPR a definice citlivých osobních informací CCPA musí jakékoli pole, které by mohlo zachytit zdravotní informace, finanční údaje, vládní identifikátory, biometrická data, přesnou geolokaci nebo obsah soukromé komunikace, používat Suppress mode bez ohledu na stav souhlasu uživatele. Nastavení data-hj-suppress na úrovni formuláře namísto na úrovni pole je nejbezpečnějším vzorem — potlačuje celý formulář, i když vývojář později přidá nové pole, které zapomene označit individuálně.
Jednostránkové aplikace a změny tras
Pro SPA (React, Vue, Angular, Svelte) se fragment Hotjaru standardně váže pouze na počáteční načtení stránky. Ke sledování virtuálních přechodů stránek musí bootstrap volat hj('stateChange', newPath) při každé změně trasy. Toto volání respektuje stav souhlasu, který Hotjar v danou chvíli drží, takže logiku řízení CMP není třeba duplikovat — ale samotná změna trasy nesmí spustit nové načtení skriptu, pokud byl souhlas mezi zobrazeními stránky odvolán.
Validace integrace
Validační krok je to, co regulátoři kontrolují a co vydavatelé nejčastěji přeskočí. Správně integrované nasazení Hotjaru musí v pořadí projít čtyřmi testy. Za prvé, nová relace prohlížeče s zobrazeným bannerem, ale bez provedené volby, by měla produkovat nula požadavků na static.hotjar.com, script.hotjar.com nebo vars.hotjar.com a nula cookies _hj v document.cookie. Za druhé, odmítnutí analytiky by mělo zachovat tento stav — žádné načtení skriptu, žádný záznam, žádné cookies. Za třetí, přijetí analytiky by mělo produkovat načtení skriptu a očekávané cookies _hjSessionUser a _hjSession se správnými atributy SameSite a heatmapový záznam by se měl v Hotjar dashboardu objevit do pěti minut. Za čtvrté, následné odvolání souhlasu by mělo okamžitě zastavit další nahrávání, nechat vypršet cookies a spustit žádost o smazání — opožděné čištění je pochybení.
Auditní stopa je důležitá samostatně. Regulátoři očekávají, že vydavatel bude schopen prokázat, pro jakýkoli záznam v účtu Hotjaru, že uživatel, který jej vygeneroval, v okamžiku zachycení dal platný souhlas. Standardním vzorem je vložit verzi souhlasu a časové razítko jako vlastní atribut do záznamu uživatele Hotjaru prostřednictvím hj('identify', userId, { consent_version: 'v3', consent_ts: ts }). Díky tomu je jakýkoli konkrétní záznam sledovatelný zpět ke konkrétní položce protokolu souhlasu, což je standard, který nastavil EDPB a který by vydavatelé měli přijmout bez ohledu na to, kde působí. Správně ohlídané nasazení, v kombinaci s maskováním vstupu, které ve výchozím nastavení potlačuje, a cestou mazání, která se aktivuje při odvolání, je to, co dělá Hotjar obhajitelnou součástí výzkumného zásobníku, nikoli povinností v oblasti souladu s předpisy.