HotjarヒートマップとセッションレコーディングのCookie同意統合ガイド:2026年パブリッシャー向けプレイブック
Hotjarはツールスタックの中で独自の位置を占めています。Google Analyticsのようなウェブ解析プラットフォームでも、AmplitudeやMixpanelのような製品分析プラットフォームでも、タグマネージャーでもありません。個々のユーザーがページで何をするかを記録することを目的としたユーザーエクスペリエンス調査ツールです。マウスを動かす場所、クリックする内容、スクロールの位置、躊躇する場所、そしてセッション録画の場合は、ユーザーが入力した内容と画面に表示されたものが正確に記録されます。その詳細さが製品そのものです。それはまた、規制当局がセッションリプレイを行動処理の中で最も高リスクなカテゴリーの一つとして挙げてきた理由でもあり、不注意なHotjarの展開が、それまで準拠していたウェブサイトが不準拠に陥る最も簡単な方法の一つである理由でもあります。CNIL、Garante、EDBPはすべて、セッションリプレイの動作を特に標的とするガイダンスを公表しており、2026年のEDPBクッキーバナータスクフォースは優先カテゴリーとして扱っています。良いニュースは、Hotjarはこのカテゴリーの中でコンセントファースト展開のために最もよく設計されたツールの一つであるということです。ただし、パブリッシャーが実際に存在するコントロールを使用する必要があります。
HotjarがなぜExplicit Consentを必要とするか
Hotjarの収集プロファイルが、重要なすべてのフレームワークで同意義務を引き起こします。デフォルトの初期化では、Hotjarトラッキングスクリプトはページ読み込みのミリ秒以内にブラウザへ少なくとも3つのファーストパーティCookie — _hjSessionUser_{siteId}、_hjSession_{siteId}、および一連の抑制・流入元Cookie — を書き込みます。次にスクリプトはカーソル座標、クリック座標、スクロール位置、ビューポートサイズの継続的な記録をストリーミングし始め、セッション録画が有効な場合はベースラインに対して差分を取った完全なレンダリングDOMも送信します。
ePrivacyディレクティブ第5条(3)の下では、これらのCookieはすべて、EEA、UK、スイス、および同じ基準を採用した管轄区域において、事前の、自由に与えられた、特定の、informed、かつ明確な同意を必要とするストレージおよびアクセス操作です。GDPRの下では、カーソルトレース、IPアドレス、デバイスフィンガープリント、セッション識別子の組み合わせが個人を特定するのに十分であるため、行動ストリームは個人データの処理を構成します。CCPAとCPRAの下では、パブリッシャーがHotjarとの適切なサービスプロバイダー契約を持っていない限り、同じ収集は販売または共有と見なされます。Hotjarはそれを CCPA準拠のDPAを通じて提供しますが、統合が正しく設定された場合にのみ有効になります。EDPBのセッションリプレイガイダンスの下では、さらにハードルが高くなります。リプレイは特定の正当なUXリサーチ目的に結びついていなければならず、保持期間は必要最小限でなければならず、データ主体は録画が存在することだけでなく、自分自身のセッションがアナリストによってリプレイされる可能性があることを知らされなければなりません。
同意前にHotjarが収集するもの—そして抑制しなければならないもの
最も一般的な実装ミスは、Hotjar独自のクイックスタートに付属するものです。ページの<head>にトラッキングスクリプトを直接貼り付けることです。これは機能しますが、クッキーバナーがレンダリングされる前にHotjarを読み込みます。つまり、Cookieが設定され、ユーザーが後で何を決定するかに関わらず、最初のページビューで行動録画が開始されます。このパターンについて判断を下したすべてのEU規制当局は同じ結論に達しています。同意前に設定されたCookieは違法であり、パブリッシャーに責任があります。
したがって、準拠した統合は、関連する同意カテゴリーが付与されるまで、Hotjarスクリプトがまったく読み込まれないようにする必要があります。これを行う最もクリーンな方法は、ユーザーが分析または製品調査カテゴリーにオプトインした後にのみCMPが注入する同意ゲートの<script>タグの中にHotjarスニペットをラップすることです。スクリプトがタグマネージャー経由で読み込まれる場合は、All Pagesではなく同意付与イベントにトリガーを設定することと等価です。Hotjar独自のドキュメントでは、このパターンが明示的に推奨されるようになり、スクリプトが存在しなければならないが同意が記録されるまで休眠状態を保つ必要があるケースのために、hj('consent', 'grant') APIが公開されています。
Hotjarが書き込むCookieとストレージ
Hotjar Tracking Code 6.xは以下の識別子を書き込み、これらはすべて非必須であり同意を必要とします。ユーザー識別子を含む365日有効期限の_hjSessionUser_{siteId}、セッション識別子を含む30分有効期限の_hjSession_{siteId}、_hjFirstSeen、_hjIncludedInSessionSample_{siteId}、_hjAbsoluteSessionInProgress、そしてアンケートやフィードバックウィジェットがアクティブな場合のキャンペーンアトリビューションCookieが複数あります。セッション録画自体はHotjarのサーバーに保存され、セッション識別子に紐付けられています。そのため、同意を撤回する場合はHotjar APIまたは製品内のユーザー削除フローを通じて削除リクエストを送信する必要があります。
HotjarをConsentフレームワークにマッピングする
HotjarはIAB TCFまたはIAB Global Privacy Platformとネイティブに統合されていません。広告テクノロジーベンダーではなく、そのように設計されたことも一度もありません。ただし、analytics_storageシグナルを通じてGoogle Consent Mode v2と統合されており、任意のCMPがバインドできる独自のネイティブ同意APIを公開しています。規制当局のレビューを乗り越えるパターンは、各Hotjar機能を個別の同意ゲートとして扱います。
- ヒートマップとクリックマップは分析または製品調査の目的に紐付きます。TCF的には、これはほとんどの場合、目的8(コンテンツパフォーマンスの測定)と目的1(情報の保存またはアクセス)の組み合わせです。Consent Modeの場合はanalytics_storageです。
- セッション録画は、より厳格な別個のシグナルの後ろに置かれるべきです。録画はレンダリングされたDOMとマスクされていないフィールドをキャプチャし、EDPBのセッションリプレイガイダンスの下では、包括的な分析同意ではなく明示的な設定レベルのオプトインが守れるスタンスです。
- アンケートとフィードバックウィジェットは、自由記述の入力を収集する場合はセッション録画と同じ同意ゲートの下で実行でき、評価データのみを収集する場合は分析ゲートの下で実行できます。
- ファネルとコンバージョントラッキングは分析ゲートに紐付きます。ユーザー識別子がCRMまたは広告プラットフォームに伝達される場合は、マーケティングゲートも適用されます。
機能する統合パターン
リファレンス展開には4つの部分があります。リアルタイムの同意変更イベントを公開するCMP、分析同意が発火した後にのみHotjarスニペットを注入する遅延スクリプトローダー、別個のゲートが開くまでデフォルトで録画をオフにするセッション録画抑制レイヤー、そして同意が付与されていても規制当局が機密と見なすフィールドをハードサプレスする入力マスキング設定です。4番目のポイントは見落とされがちです。入力マスキングは同意の代替ではありませんが、正当な調査目的で同意が付与され、ユーザーが偶然機密データを自由入力フィールドに貼り付けた場合の惨事の代替となります。
Web実装
WebではCMPの同意変更イベントをサブスクライブし、分析目的がfalseからtrueに切り替わったときにHotjarスニペットを条件付きで注入するパターンが最もクリーンです。async属性を設定したdocument.createElement('script')を使用してトラッキングコードを注入し、サーバー検証済みのユーザー識別子が存在する場合にのみhj('identify', userId, properties)を呼び出すonloadハンドラーをアタッチします。同意が撤回された場合は、hj('consent', 'revoke')を呼び出し、document.cookieを通じてすべての_hjCookieを期限切れにし、ユーザーの過去のセッション録画についてHotjar Data APIを通じて削除リクエストを送信します。バナーと同じレンダリングパスでHotjarを遅延初期化しないでください。スクリプトは明示的な付与を待たなければならず、スクリプトが発火する前にタイムスタンプと同意文字列とともに付与が記録されなければなりません。
入力マスキングと機密データの抑制
Hotjarのセッションレコーダーには3つのマスキングモードが付属しています。パスワードフィールドおよびdata-hj-suppress属性でマークされた要素のデフォルトであるSuppress mode、明示的にオプトインされた入力のみが記録されるWhitelist mode、そしてキーストロークがアスタリスクとして記録されるMask modeです。GDPRの特別カテゴリー規則とCCPAの機密個人情報の定義の下では、健康情報、財務詳細、政府識別子、生体データ、正確な位置情報、またはプライベートコミュニケーションのコンテンツをキャプチャする可能性のあるフィールドは、ユーザーの同意状態に関わらず Suppress modeを使用しなければなりません。フィールドレベルではなくフォームレベルでdata-hj-suppressを設定することが最も安全なパターンです。開発者が後で個別にマークするのを忘れた新しいフィールドを追加した場合でも、フォーム全体を抑制します。
シングルページアプリケーションとルート変更
SPA(React、Vue、Angular、Svelte)では、Hotjarスニペットはデフォルトで初期ページロードのみにバインドされます。仮想ページ遷移を追跡するには、すべてのルート変更時にブートストラップがhj('stateChange', newPath)を呼び出す必要があります。この呼び出しはその時点でHotjarが保持している同意状態を尊重するため、CMPのゲーティングロジックを重複させる必要はありません。ただし、ページビュー間で同意が撤回された場合、ルート変更自体が新しいスクリプトロードをトリガーしてはなりません。
統合の検証
検証ステップは規制当局がチェックし、パブリッシャーが最も頻繁にスキップするものです。正しく統合されたHotjar展開は、順番に4つのテストに合格しなければなりません。まず、バナーが表示されているが選択がない新しいブラウザセッションは、static.hotjar.com、script.hotjar.com、またはvars.hotjar.comへのリクエストがゼロで、document.cookieの_hjCookieもゼロでなければなりません。次に、分析を拒否するとその状態が維持されなければなりません。スクリプトロードなし、録画なし、Cookieなし。3番目に、分析を受け入れるとスクリプトロードが生成され、正しいSameSite属性を持つ予想される_hjSessionUserと_hjSessionCookieが生成され、5分以内にHotjarダッシュボードにヒートマップ録画が表示されなければなりません。4番目に、事後に同意を撤回すると、即座にそれ以上の録画を停止し、Cookieを期限切れにし、削除リクエストをトリガーしなければなりません。遅れたクリーンアップは違反です。
監査証跡は別途重要です。規制当局は、Hotjarアカウントの任意の録画について、それを生成したユーザーがキャプチャの瞬間に有効な同意を与えていたことをパブリッシャーが証明できることを期待しています。標準パターンは、hj('identify', userId, { consent_version: 'v3', consent_ts: ts })を通じてHotjarユーザーレコードにカスタム属性として同意バージョンとタイムスタンプを埋め込むことです。これにより、特定の録画を特定の同意ログエントリーに追跡可能にします。これはEDPBが設定した基準であり、パブリッシャーが運営する場所に関わらず採用すべき基準です。正しくゲートされた展開は、デフォルトで抑制する入力マスキングと撤回時に有効化される削除パスとの組み合わせにより、Hotjarを準拠義務ではなく研究スタックの守れる部分にします。