Hotjar სითბოს რუკა და სესიის ჩაწერის Cookie თანხმობის ინტეგრაციის სახელმძღვანელო: 2026 გამომცემლის სახელმძღვანელო
Hotjar-ს უნიკალური ადგილი უჭირავს ინსტრუმენტების სტეკში. ეს არ არის ვებ-ანალიტიკის პლატფორმა, როგორიც Google Analytics, პროდუქტის ანალიტიკის პლატფორმა, როგორიც Amplitude ან Mixpanel, ან ტეგების მენეჯერი. ეს არის მომხმარებლის გამოცდილების კვლევის ინსტრუმენტი, რომელიც არსებობს კონკრეტულად ცალკეული მომხმარებლების ქცევის გვერდზე ჩასაწერად — სად ამოძრავებენ მაუსს, რაზე დააჭერენ, სად გადაახვევენ, სად დათმობენ, და სესიის ჩაწერის შემთხვევაში, ზუსტად რა აკრეფეს და ნახეს ეკრანზე. ეს გრანულარობა არის პროდუქტი. ეს ასევე არის მიზეზი იმისა, რომ მარეგულირებლებმა სესიის განმეორება გამოყვეს, როგორც ქცევითი დამუშავების ერთ-ერთი უმაღლესი რისკის კატეგორია, და მიზეზი იმისა, რომ უყურადღებო Hotjar-ის განლაგება ყველაზე მარტივი გზაა სხვაგვარად შესაბამისი ვებსაიტისთვის შეუსაბამობაში ჩავარდნისა. CNIL-მა, Garante-მა და EDPB-მ ყველამ გამოაქვეყნეს სახელმძღვანელო, რომელიც კონკრეტულად სესიის განმეორების ქცევას მიზნად ისახავს, და 2026 წლის EDPB cookie ბანერის სამუშაო ჯგუფი მას პრიორიტეტულ კატეგორიად განიხილავს. კარგი სიახლე ის არის, რომ Hotjar ამ კატეგორიაში ყველაზე კარგად შემუშავებული ინსტრუმენტებიდან ერთ-ერთია consent-first განლაგებისთვის — იმ პირობით, რომ გამომცემელი სინამდვილეში გამოიყენებს არსებულ კონტროლებს.
რატომ მოითხოვს Hotjar ცალსახა თანხმობას
Hotjar-ის შეგროვების პროფილი არის ის, რაც იწვევს თანხმობის ვალდებულებებს ყველა მნიშვნელოვან ჩარჩოში. ნაგულისხმევი ინიციალიზაციისას Hotjar-ის თვალთვალის სკრიპტი წერს მინიმუმ სამ first-party cookie-ს — _hjSessionUser_{siteId}, _hjSession_{siteId}, და ჩახშობისა და შემომავალი წყაროს cookie-ების სერიას — ბრაუზერში გვერდის ჩატვირთვის მილიწამებში. შემდეგ სკრიპტი იწყებს კურსორის კოორდინატების, კლიკის კოორდინატების, გადახვევის პოზიციის, viewport-ის ზომისა და, სესიის ჩაწერის ჩართვისას, საბაზისო ხაზთან შედარებით diff-ირებული სრული rendered DOM-ის განუწყვეტელი ჩაწერის სტრიმინგს.
ePrivacy დირექტივის მუხლი 5(3) შესაბამისად ყოველი ეს cookie არის შენახვისა და წვდომის ოპერაცია, რომელიც EEA-ში, დიდ ბრიტანეთში, შვეიცარიაში და ნებისმიერ იურისდიქციაში, რომელმაც იმავე სტანდარტი შეიყვანა, მოითხოვს წინასწარ, თავისუფლად, კონკრეტულად, ინფორმირებულად და ცალსახად მიცემულ თანხმობას. GDPR-ის შესაბამისად ქცევითი ნაკადი შეადგენს პერსონალური მონაცემების დამუშავებას, რადგან კურსორის კვალის, IP მისამართის, მოწყობილობის თითის ანაბეჭდისა და სესიის იდენტიფიკატორის კომბინაცია საკმარისია ინდივიდის გამოყოფისთვის. CCPA-სა და CPRA-ს შესაბამისად იგივე შეგროვება ითვლება გაყიდვად ან გაზიარებად, თუ გამომცემელს არ აქვს Hotjar-თან შესაბამისი სერვის-პროვაიდერის კონტრაქტი — რომელსაც Hotjar სთავაზობს CCPA-შესაბამისი DPA-ს მეშვეობით, მაგრამ ძალაში მხოლოდ მაშინ შედის, როდესაც ინტეგრაცია სწორად არის კონფიგურირებული. EDPB-ის სესიის განმეორების სახელმძღვანელოს შესაბამისად ბარი კიდევ უფრო მაღალია: განმეორება უნდა იყოს დაკავშირებული კონკრეტულ, ლეგიტიმურ UX-კვლევის მიზანთან, შენახვის პერიოდი უნდა იყოს მინიმალურად საჭირო, და მონაცემთა სუბიექტი უნდა იყოს ინფორმირებული არა მხოლოდ ჩაწერის არსებობის, არამედ იმისაც, რომ მათი საკუთარი სესია შეიძლება ანალიტიკოსმა განავლოს.
რას აგროვებს Hotjar თანხმობამდე — და რა უნდა ჩახშობდეს
ყველაზე გავრცელებული განხორციელების შეცდომა ის არის, რომელიც Hotjar-ის საკუთარი სწრაფი დაწყების კომპლექტთანაა: თვალთვალის სკრიპტის პირდაპირ გვერდის <head>-ში ჩასმა. ეს მუშაობს, მაგრამ cookie ბანერის rendered-ამდეც ჩატვირთავს Hotjar-ს, რაც ნიშნავს, რომ cookie-ები დაყენდება და ქცევის ჩაწერა იწყება პირველი გვერდის ნახვაზე — მიუხედავად იმისა, რასაც მომხმარებელი მოგვიანებით გადაწყვეტს. ყველა EU მარეგულირებელი, რომელმაც ამ შაბლონზე დაადგინა, ერთნაირად დაადგინა: თანხმობამდე დაყენებული cookie-ები უკანონოა და გამომცემელი პასუხისმგებელია.
შესაბამისი ინტეგრაცია ამიტომ უნდა ხელს უშლიდეს Hotjar-ის სკრიპტის ჩატვირთვას საერთოდ, სანამ შესაბამისი თანხმობის კატეგორია არ მიეცა. ამის გაკეთების ყველაზე სუფთა გზაა Hotjar სნიპეტის გახვევა თანხმობაზე ჩაბოჭილ <script> ტეგში, რომელსაც CMP ასხამს მხოლოდ მას შემდეგ, რაც მომხმარებელი ანალიტიკის ან პროდუქტის კვლევის კატეგორიაში გადავიდა. თუ სკრიპტი ტეგ მენეჯერის საშუალებით ჩაიტვირთება, ეკვივალენტი არის trigger-ის დაყენება თანხმობის მიღების ივენთზე, ვიდრე ყველა გვერდზე. Hotjar-ის საკუთარი დოკუმენტაცია ახლა ამ შაბლონს ცალსახად გვირჩევს, და პლატფორმა ახლავს hj('consent', 'grant') API-ს იმ შემთხვევებისთვის, სადაც სკრიპტი უნდა იყოს, მაგრამ მძინარე უნდა დარჩეს, სანამ თანხმობა არ დარეგისტრირდება.
Cookie-ები და შენახვა, რომელსაც Hotjar წერს
Hotjar Tracking Code 6.x წერს შემდეგ იდენტიფიკატორებს, ყველა მათგანი არასავალდებულოა და მოითხოვს თანხმობას: _hjSessionUser_{siteId} 365-დღიანი ვადის გასვლით, რომელიც შეიცავს მომხმარებლის იდენტიფიკატორს, _hjSession_{siteId} 30-წუთიანი ვადის გასვლით, რომელიც შეიცავს სესიის იდენტიფიკატორს, _hjFirstSeen, _hjIncludedInSessionSample_{siteId}, _hjAbsoluteSessionInProgress, და კამპანიის მიკუთვნების cookie-ების რიცხვი, სადაც გამოკითხვები ან გამოხმაურების ვიდჟეტები აქტიურია. სესიის ჩაწერები თავად ინახება Hotjar-ის სერვერებზე და სესიის იდენტიფიკატორთანაა დაკავშირებული — ამიტომ თანხმობის გაუქმება ასევე უნდა ატარებდეს წაშლის მოთხოვნის სიგნალს Hotjar-ის API-ს ან პროდუქტში მომხმარებლის წაშლის ნაკადის მეშვეობით.
Hotjar-ის მაპინგი თანხმობის ჩარჩოებზე
Hotjar ნატიურად არ ინტეგრირდება IAB TCF-ში ან IAB Global Privacy Platform-ში. ეს არ არის ad-tech მიმწოდებელი და არასოდეს ყოფილა ამისთვის განკუთვნილი. თუმცა, ის ინტეგრირდება Google Consent Mode v2-თან analytics_storage სიგნალის მეშვეობით და ავლენს საკუთარ ნატიურ თანხმობის API-ს, რომელსაც ნებისმიერი CMP შეუძლია დაუკავშიროს. შაბლონი, რომელიც მარეგულირებლის შემოწმებას გადარჩება, ყოველ Hotjar შესაძლებლობას ცალკე თანხმობის კარიბჭედ განიხილავს.
- სითბოს რუკები და კლიკების რუკები ანალიტიკის ან პროდუქტის კვლევის მიზანს უკავშირდება. TCF-ის თვალსაზრისით ეს ყველაზე ხშირად არის მიზანი 8 (კონტენტის შესრულების გაზომვა) მიზან 1-თან (ინფორმაციის შენახვა და/ან წვდომა) ერთად. Consent Mode-ისთვის ეს არის analytics_storage.
- სესიის ჩაწერა უფრო მკაცრი, ცალკე სიგნალის უკან უნდა ნახოს. ჩაწერა იპყრობს rendered DOM-ს და ნებისმიერ მოუფარავ ველს, და ცალსახა პრეფერენციის დონის opt-in — არა საერთო ანალიტიკის თანხმობა — არის დასაცავი პოზიცია EDPB-ის სესიის განმეორების სახელმძღვანელოს შესაბამისად.
- გამოკითხვები და გამოხმაურების ვიდჟეტები შეიძლება იმუშაოს სესიის ჩაწერის იგივე თანხმობის კარიბჭის ქვეშ, სადაც ისინი თავისუფალი ტექსტის შეყვანას აგროვებს, ან ანალიტიკის კარიბჭის ქვეშ, სადაც ისინი მხოლოდ რეიტინგ მონაცემებს აგროვებს.
- ძაბრები და კონვერსიის თვალყურის დევნება ანალიტიკის კარიბჭეს უკავშირდება; თუ რომელიმე მომხმარებლის იდენტიფიკატორი CRM-ში ან სარეკლამო პლატფორმაზე გადაეცემა, მარკეტინგის კარიბჭეც ვრცელდება.
ინტეგრაციის შაბლონი, რომელიც მუშაობს
საცნობარო განლაგებას ოთხი ნაწილი აქვს: CMP, რომელიც ახლავს real-time თანხმობის ცვლილების ივენთს, გადადებული სკრიპტის ჩამტვირთავი, რომელიც Hotjar სნიპეტს მხოლოდ ანალიტიკის თანხმობის გაჩაღების შემდეგ ჩასხავს, სესიის ჩაწერის ჩახშობის ფენა, რომელიც ნაგულისხმევად ჩაწერას გამორთული აქვს, სანამ ცალკე კარიბჭე გაიხსნება, და შეყვანის მასკირების კონფიგურაცია, რომელიც ხისტად ახშობს ნებისმიერ ველს, რომელსაც მარეგულირებელი სენსიტიურად ჩათვლიდა, თუნდაც თანხმობა გაცემული იყოს. მეოთხე პუნქტი ხშირად უგულებელყოფილია: შეყვანის მასკირება თანხმობის შემცვლელი არ არის, მაგრამ არის კატასტროფის შემცვლელი, სადაც თანხმობა ლეგიტიმური კვლევისთვის ენიჭება და მომხმარებელი შემთხვევით სენსიტიურ მონაცემებს ასხამს თავისუფალი ტექსტის ველში.
ვებ განხორციელება
ვებზე ყველაზე სუფთა შაბლონი არის CMP-ის თანხმობის ცვლილების ივენთზე გამოწერა, შემდეგ კი Hotjar სნიპეტის პირობით ჩასხმა, როდესაც ანალიტიკის მიზანი false-დან true-ზე გადადის. გამოიყენეთ document.createElement('script') თვალთვალის კოდის ჩასასხმელად async ატრიბუტის დაყენებით, და მიამაგრეთ onload handler, რომელიც hj('identify', userId, properties) მხოლოდ მაშინ ეძახის, თუ სერვერ-ვალიდირებული მომხმარებლის იდენტიფიკატორი არსებობს. თანხმობის გაუქმებისას, გამოიძახეთ hj('consent', 'revoke'), ვადა გაუსვით ყველა _hj cookie-ს document.cookie-ის გამოყენებით, და წაშლის მოთხოვნა გაგზავნეთ Hotjar Data API-ს მეშვეობით მომხმარებლის წინა სესიის ჩაწერებისთვის. ნუ ელოდებით Hotjar-ის ბანერის იგივე render pass-ში ზარმაცი ინიციალიზაციას — სკრიპტი ცალსახა გადაცემას უნდა ელოდოს, და გადაცემა timestamp-ითა და თანხმობის სტრიქონით უნდა დარეგისტრირდეს, სანამ სკრიპტი ამუშავდება.
შეყვანის მასკირება და სენსიტიური მონაცემების ჩახშობა
Hotjar-ის სესიის ჩამწერს სამი მასკირების რეჟიმი აქვს: Suppress mode, რომელიც ნაგულისხმევია პაროლის ველებისა და data-hj-suppress ატრიბუტით მოხსენიებული ნებისმიერი ელემენტისთვის; Whitelist mode, სადაც მხოლოდ ცალსახად opt-in-ად შეყვანა ჩაიწერება; და Mask mode, სადაც კლავიშთა დაჭერა ვარსკვლავებად ჩაიწერება. GDPR-ის სპეციალური კატეგორიის წესების და CCPA-ს სენსიტიური პერსონალური ინფორმაციის განმარტების შესაბამისად, ნებისმიერი ველი, რომელმაც შეიძლება ჯანმრთელობის ინფორმაცია, ფინანსური დეტალები, სამთავრობო იდენტიფიკატორები, ბიომეტრული მონაცემები, ზუსტი გეოლოკაცია ან პირადი კომუნიკაციების შინაარსი დაიჭიროს, უნდა გამოიყენოს Suppress mode მომხმარებლის თანხმობის მდგომარეობისგან დამოუკიდებლად. data-hj-suppress ველის დონის ნაცვლად ფორმის დონეზე დაყენება ყველაზე უსაფრთხო შაბლონია — ის მთელ ფორმს ახშობს, თუნდაც შემდეგ დეველოპერმა ახალი ველი დაამატოს, რომლის ინდივიდუალურად მოხსენიებაც მას ავიწყდება.
Single-page აპლიკაციები და მარშრუტის ცვლილებები
SPA-ებისთვის (React, Vue, Angular, Svelte) Hotjar სნიპეტი ნაგულისხმევად მხოლოდ პირველ გვერდის ჩატვირთვაზეა მიბმული. ვირტუალური გვერდის გარდამავლების თვალყურის დევნებისთვის bootstrap-მა ყოველ მარშრუტის ცვლილებაზე hj('stateChange', newPath) უნდა გამოიძახოს. ეს გამოძახება იმ თანხმობის მდგომარეობას პატივს სცემს, რომელსაც Hotjar იმ დროს ინახავს, ამიტომ CMP gating ლოგიკა გასამეორებელი არ არის — მაგრამ მარშრუტის ცვლილება თავად არ უნდა ახდენდეს ახალი სკრიპტის ჩატვირთვის გამოძახებას, თუ გვერდის ნახვებს შორის თანხმობა გაიქცა.
ინტეგრაციის ვალიდაცია
ვალიდაციის ნაბიჯი ის არის, რასაც მარეგულირებლები ამოწმებენ და რასაც გამომცემლები ყველაზე ხშირად გამოტოვებენ. სწორად ინტეგრირებული Hotjar განლაგება ოთხ ტესტს უნდა გაიაროს თანმიმდევრობით. პირველი, ახალი ბრაუზერის სესია ბანერით, მაგრამ არჩევანის გარეშე, ნული მოთხოვნა უნდა გამოიღოს static.hotjar.com-ის, script.hotjar.com-ის, ან vars.hotjar.com-ის მიმართ, და ნული _hj cookie document.cookie-ში. მეორე, ანალიტიკის უარყოფა ამ მდგომარეობის შენარჩუნება — სკრიპტის ჩატვირთვა არ, ჩაწერა არ, cookie-ები არ. მესამე, ანალიტიკის მიღება სკრიპტის ჩატვირთვა და მოსალოდნელი _hjSessionUser და _hjSession cookie-ები სწორი SameSite ატრიბუტებით, და სითბოს რუკის ჩაწერა Hotjar Dashboard-ში ხუთ წუთში გამოჩნდება. მეოთხე, შემდეგ თანხმობის გაუქმება დაუყოვნებლივ შემდგომი ჩაწერის შეწყვეტა, cookie-ების ვადის გასვლა, და წაშლის მოთხოვნის გამოძახება — გვიანი გამოსწორება ნაპოვნია.
ამ კვლევის ტვირთი ცალკე მნიშვნელოვანია. მარეგულირებლები ელოდებიან, რომ გამომცემელს შეეძლოს Hotjar-ის ანგარიშში ნებისმიერი ჩაწერისთვის დამტკიცება, რომ ამ ჩაწერის გამომქვეყნებელ მომხმარებელს გადაღების მომენტში მოქმედი თანხმობა ჰქონდა. სტანდარტული შაბლონი არის თანხმობის ვერსიისა და timestamp-ის Hotjar მომხმარებლის ჩანაწერში custom attribute-ად ჩასმა hj('identify', userId, { consent_version: 'v3', consent_ts: ts })-ის გამოყენებით. ეს ნებისმიერ კონკრეტულ ჩაწერას კონკრეტულ თანხმობის ჟურნალის ჩანაწერამდე მიკვლევად ხდის, რაც არის EDPB-ის მიერ დადგენილი სტანდარტი და სტანდარტი, რომელიც გამომცემლებმა უნდა მიიღონ, სადაც-ც ისინი არ იმუშავებდნენ. სწორად ჩაბოჭილი განლაგება, ნაგულისხმევად ჩახშობი შეყვანის მასკირებასთან და გაუქმებისას გააქტიურებულ წაშლის გზასთან დაწყვილებული, ის არის, რაც Hotjar-ს კვლევის სტეკის დასაცავ ნაწილად ხდის, ვიდრე შესაბამობის ვალდებულებად.