Panduan Integrasi Persetujuan Cookie Heatmap dan Rekaman Sesi Hotjar: Buku Panduan Publisher 2026
Hotjar memegang tempat unik dalam tumpukan alat. Ini bukan platform analitik web seperti Google Analytics, bukan platform analitik produk seperti Amplitude atau Mixpanel, dan bukan pengelola tag. Ini adalah alat riset pengalaman pengguna yang ada khusus untuk merekam apa yang dilakukan pengguna individu di halaman — di mana mereka menggerakkan mouse, apa yang mereka klik, di mana mereka menggulir, di mana mereka ragu, dan dalam kasus rekaman sesi, tepatnya apa yang mereka ketik dan lihat dirender di layar. Granularitas itu adalah produknya. Itulah juga mengapa regulator telah menyoroti pemutaran ulang sesi sebagai salah satu kategori pemrosesan perilaku berisiko tertinggi, dan mengapa penerapan Hotjar yang ceroboh adalah salah satu cara termudah bagi situs web yang sebelumnya patuh untuk keluar dari kepatuhan. CNIL, Garante, dan EDPB semuanya telah menerbitkan panduan yang secara khusus menargetkan perilaku pemutaran ulang sesi, dan gugus tugas banner cookie EDPB 2026 memperlakukannya sebagai kategori prioritas. Kabar baiknya adalah Hotjar adalah salah satu alat yang lebih baik dirancang dalam kategori ini untuk penerapan consent-first — asalkan publisher benar-benar menggunakan kontrol yang ada.
Mengapa Hotjar memerlukan persetujuan eksplisit
Profil pengumpulan Hotjar adalah yang memicu kewajiban persetujuan di setiap kerangka yang penting. Pada inisialisasi default, skrip pelacakan Hotjar menulis setidaknya tiga cookie pihak pertama — _hjSessionUser_{siteId}, _hjSession_{siteId}, dan serangkaian cookie penindasan dan sumber masuk — ke browser dalam milidetik setelah halaman dimuat. Skrip kemudian mulai mengalirkan rekaman berkelanjutan dari koordinat kursor, koordinat klik, posisi gulir, ukuran viewport, dan saat rekaman sesi diaktifkan, DOM yang dirender penuh dibandingkan dengan baseline.
Di bawah Pasal 5(3) Direktif ePrivacy setiap cookie tersebut adalah operasi penyimpanan dan akses yang memerlukan persetujuan sebelumnya, diberikan secara bebas, spesifik, terinformasi, dan tidak ambigu di EEA, UK, Swiss, dan yurisdiksi mana pun yang telah mengimpor standar yang sama. Di bawah GDPR aliran perilaku merupakan pemrosesan data pribadi karena kombinasi jejak kursor, alamat IP, sidik jari perangkat, dan pengidentifikasi sesi cukup untuk mengidentifikasi seorang individu. Di bawah CCPA dan CPRA pengumpulan yang sama dihitung sebagai penjualan atau berbagi kecuali publisher memiliki kontrak penyedia layanan yang relevan dengan Hotjar — yang ditawarkan Hotjar melalui DPA-nya yang patuh CCPA, tetapi hanya berlaku ketika integrasi dikonfigurasi dengan benar. Di bawah panduan pemutaran ulang sesi EDPB standarnya lebih tinggi lagi: pemutaran harus dikaitkan dengan tujuan riset UX yang spesifik dan sah, periode retensi harus sesedikit mungkin, dan subjek data harus diinformasikan bukan hanya bahwa rekaman ada tetapi bahwa sesi mereka sendiri dapat diputar ulang oleh seorang analis.
Apa yang dikumpulkan Hotjar sebelum persetujuan — dan apa yang harus ditindas
Kesalahan implementasi paling umum adalah yang dikirimkan dengan panduan cepat mulai Hotjar sendiri: menempel skrip pelacakan langsung ke <head> halaman. Itu berhasil, tetapi memuat Hotjar sebelum banner cookie bahkan dirender, yang berarti cookie ditetapkan dan perekaman perilaku dimulai pada tampilan halaman pertama — terlepas dari apa yang kemudian diputuskan pengguna. Setiap regulator EU yang telah memutuskan pola ini memutuskan dengan cara yang sama: cookie yang ditetapkan sebelum persetujuan adalah melanggar hukum, dan publisher bertanggung jawab.
Oleh karena itu integrasi yang patuh harus mencegah skrip Hotjar memuat sama sekali hingga kategori persetujuan yang relevan telah diberikan. Cara paling bersih untuk melakukan ini adalah dengan membungkus cuplikan Hotjar di dalam tag <script> yang diblokir persetujuan yang hanya diinjeksikan CMP setelah pengguna memilih ke kategori analitik atau riset produk. Jika skrip dimuat melalui pengelola tag, yang setara adalah mengatur pemicunya ke acara persetujuan yang diberikan daripada ke Semua Halaman. Dokumentasi Hotjar sendiri sekarang merekomendasikan pola ini secara eksplisit, dan platform mengekspos API hj('consent', 'grant') untuk kasus-kasus di mana skrip harus ada tetapi harus tetap tidak aktif hingga persetujuan dicatat.
Cookie dan penyimpanan yang ditulis Hotjar
Hotjar Tracking Code 6.x menulis pengidentifikasi berikut, yang semuanya tidak esensial dan memerlukan persetujuan: _hjSessionUser_{siteId} dengan kedaluwarsa 365 hari yang berisi pengidentifikasi pengguna, _hjSession_{siteId} dengan kedaluwarsa 30 menit yang berisi pengidentifikasi sesi, _hjFirstSeen, _hjIncludedInSessionSample_{siteId}, _hjAbsoluteSessionInProgress, dan sejumlah cookie atribusi kampanye ketika survei atau widget umpan balik aktif. Rekaman sesi itu sendiri disimpan di server Hotjar dan dikunci ke pengidentifikasi sesi — mencabut persetujuan karenanya juga harus memberi sinyal permintaan penghapusan melalui API Hotjar atau alur penghapusan pengguna dalam produk.
Memetakan Hotjar ke kerangka persetujuan
Hotjar tidak secara asli berintegrasi dengan IAB TCF atau IAB Global Privacy Platform. Ini bukan vendor ad-tech dan tidak pernah dimaksudkan untuk menjadi salah satu. Namun, ini berintegrasi dengan Google Consent Mode v2 melalui sinyal analytics_storage, dan mengekspos API persetujuan aslinya sendiri yang dapat diikat oleh CMP mana pun. Pola yang bertahan dari tinjauan regulator memperlakukan setiap kemampuan Hotjar sebagai gerbang persetujuan terpisah.
- Heatmap dan peta klik terikat pada tujuan analitik atau riset produk. Dalam istilah TCF ini paling umum adalah tujuan 8 (mengukur kinerja konten) dikombinasikan dengan tujuan 1 (menyimpan dan/atau mengakses informasi). Untuk Consent Mode ini adalah analytics_storage.
- Rekaman sesi harus berada di belakang sinyal yang lebih ketat dan terpisah. Perekaman menangkap DOM yang dirender dan bidang apa pun yang tidak tertutup, dan opt-in tingkat preferensi yang eksplisit — bukan persetujuan analitik menyeluruh — adalah postur yang dapat dipertahankan di bawah panduan pemutaran ulang sesi EDPB.
- Survei dan widget umpan balik dapat berjalan di bawah gerbang persetujuan yang sama dengan rekaman sesi ketika mengumpulkan input teks bebas, atau di bawah gerbang analitik ketika hanya mengumpulkan data penilaian.
- Corong dan pelacakan konversi terikat pada gerbang analitik; jika pengidentifikasi pengguna apa pun disebarkan ke CRM atau platform iklan, gerbang pemasaran juga berlaku.
Pola integrasi yang berhasil
Penerapan referensi memiliki empat bagian: CMP yang mengekspos acara perubahan persetujuan real-time, pemuat skrip yang ditangguhkan yang hanya menginjeksikan cuplikan Hotjar setelah persetujuan analitik terpicu, lapisan penindasan rekaman sesi yang secara default mematikan rekaman hingga gerbang terpisah terbuka, dan konfigurasi penyembunyian input yang secara keras menindas bidang apa pun yang dianggap sensitif oleh regulator bahkan ketika persetujuan telah diberikan. Poin keempat sering diabaikan: penyembunyian input bukan pengganti persetujuan, tetapi merupakan pengganti bencana ketika persetujuan diberikan untuk penelitian yang sah dan pengguna kebetulan menempelkan data sensitif ke bidang teks bebas.
Implementasi web
Di web pola paling bersih adalah berlangganan acara perubahan persetujuan CMP, lalu secara bersyarat menginjeksikan cuplikan Hotjar ketika tujuan analitik berubah dari false menjadi true. Gunakan document.createElement('script') untuk menginjeksikan kode pelacakan dengan atribut async yang ditetapkan, dan lampirkan penangan onload yang memanggil hj('identify', userId, properties) hanya jika pengidentifikasi pengguna yang divalidasi server ada. Ketika persetujuan ditarik, panggil hj('consent', 'revoke'), kedaluwarsakan semua cookie _hj melalui document.cookie, dan kirimkan permintaan penghapusan melalui Hotjar Data API untuk rekaman sesi sebelumnya pengguna. Jangan inisialisasi Hotjar secara malas dalam pass render yang sama dengan banner — skrip harus menunggu pemberian eksplisit, dan pemberian harus dicatat dengan stempel waktu dan string persetujuan sebelum skrip pernah terpicu.
Penyembunyian input dan penindasan data sensitif
Perekam sesi Hotjar hadir dengan tiga mode masking: Suppress mode, yang merupakan default untuk bidang kata sandi dan elemen mana pun yang ditandai dengan atribut data-hj-suppress; Whitelist mode, di mana hanya input yang secara eksplisit diikutsertakan yang direkam; dan Mask mode, di mana penekanan tombol direkam sebagai tanda bintang. Di bawah aturan kategori khusus GDPR dan definisi informasi pribadi sensitif CCPA, bidang mana pun yang dapat menangkap informasi kesehatan, detail keuangan, pengidentifikasi pemerintah, data biometrik, geolokasi tepat, atau konten komunikasi pribadi harus menggunakan Suppress mode terlepas dari status persetujuan pengguna. Menetapkan data-hj-suppress di tingkat formulir daripada tingkat bidang adalah pola paling aman — ini menindas seluruh formulir bahkan jika pengembang kemudian menambahkan bidang baru yang lupa mereka tandai secara individual.
Aplikasi halaman tunggal dan perubahan rute
Untuk SPA (React, Vue, Angular, Svelte) cuplikan Hotjar secara default hanya terikat pada pemuatan halaman awal. Untuk melacak transisi halaman virtual, bootstrap harus memanggil hj('stateChange', newPath) pada setiap perubahan rute. Panggilan ini menghormati status persetujuan apa pun yang dipegang Hotjar saat itu, sehingga logika gating CMP tidak perlu diduplikasi — tetapi perubahan rute itu sendiri tidak boleh memicu pemuatan skrip baru jika persetujuan telah ditarik di antara tampilan halaman.
Memvalidasi integrasi
Langkah validasi adalah apa yang diperiksa regulator dan apa yang paling sering dilewati publisher. Penerapan Hotjar yang terintegrasi dengan benar harus lulus empat tes secara berurutan. Pertama, sesi browser baru dengan banner ditampilkan tetapi tidak ada pilihan yang dibuat harus menghasilkan nol permintaan ke static.hotjar.com, script.hotjar.com, atau vars.hotjar.com, dan nol cookie _hj di document.cookie. Kedua, menolak analitik harus mempertahankan keadaan itu — tidak ada pemuatan skrip, tidak ada perekaman, tidak ada cookie. Ketiga, menerima analitik harus menghasilkan pemuatan skrip dan cookie _hjSessionUser dan _hjSession yang diharapkan dengan atribut SameSite yang benar, dan rekaman heatmap harus muncul di dasbor Hotjar dalam lima menit. Keempat, mencabut persetujuan setelahnya harus segera menghentikan perekaman lebih lanjut, mengedaluwarsakan cookie, dan memicu permintaan penghapusan — pembersihan yang tertunda adalah temuan.
Jejak audit penting secara terpisah. Regulator mengharapkan publisher dapat membuktikan, untuk rekaman tertentu di akun Hotjar, bahwa pengguna yang menghasilkannya telah memberikan persetujuan yang valid pada saat pengambilan. Pola standar adalah menyematkan versi persetujuan dan stempel waktu sebagai atribut khusus pada catatan pengguna Hotjar melalui hj('identify', userId, { consent_version: 'v3', consent_ts: ts }). Itu membuat rekaman tertentu dapat ditelusuri kembali ke entri log persetujuan tertentu, yang merupakan standar yang telah ditetapkan EDPB dan standar yang harus diadopsi publisher terlepas dari di mana mereka beroperasi. Penerapan yang benar-benar diblokir, dipasangkan dengan penyembunyian input yang secara default menindas dan jalur penghapusan yang aktif pada penarikan, adalah apa yang membuat Hotjar menjadi bagian yang dapat dipertahankan dari tumpukan penelitian daripada kewajiban kepatuhan.