Hướng dẫn tích hợp đồng ý cookie Hotjar Heatmap và Ghi phiên: Sách lược 2026 cho nhà xuất bản
Hotjar chiếm một vị trí độc đáo trong ngăn xếp công cụ. Đây không phải là nền tảng phân tích web như Google Analytics, không phải nền tảng phân tích sản phẩm như Amplitude hay Mixpanel, và không phải trình quản lý thẻ. Đây là công cụ nghiên cứu trải nghiệm người dùng tồn tại đặc biệt để ghi lại những gì người dùng cá nhân làm trên một trang — họ di chuyển chuột đến đâu, họ nhấp vào gì, họ cuộn đến đâu, họ do dự ở đâu, và trong trường hợp ghi phiên, chính xác những gì họ đã gõ và những gì được hiển thị trên màn hình. Mức độ chi tiết đó chính là sản phẩm. Đó cũng là lý do tại sao các cơ quan quản lý đã chỉ ra phát lại phiên là một trong những danh mục xử lý hành vi có rủi ro cao nhất, và tại sao một triển khai Hotjar bất cẩn là một trong những cách dễ nhất để một trang web tuân thủ trở nên không tuân thủ. CNIL, Garante và EDPB đều đã công bố hướng dẫn nhắm cụ thể vào hành vi phát lại phiên, và lực lượng đặc nhiệm banner cookie EDPB 2026 đang xem xét đây là danh mục ưu tiên. Tin tốt là Hotjar là một trong những công cụ được thiết kế tốt hơn trong danh mục này cho việc triển khai ưu tiên đồng ý — miễn là nhà xuất bản thực sự sử dụng các biện pháp kiểm soát đã tồn tại.
Tại sao Hotjar yêu cầu đồng ý rõ ràng
Hồ sơ thu thập của Hotjar là thứ kích hoạt các nghĩa vụ đồng ý trong mọi khung quy định quan trọng. Khi khởi tạo mặc định, script theo dõi của Hotjar ghi ít nhất ba cookie bên thứ nhất vào trình duyệt trong vòng mili giây sau khi tải trang — _hjSessionUser_{siteId}, _hjSession_{siteId} và một loạt cookie ngăn chặn và nguồn đến. Script sau đó bắt đầu phát trực tuyến bản ghi liên tục về tọa độ con trỏ, tọa độ nhấp chuột, vị trí cuộn, kích thước cổng xem và khi ghi phiên được bật, toàn bộ DOM đã hiển thị được so sánh với đường cơ sở.
Theo Điều 5(3) của Chỉ thị ePrivacy, mỗi cookie đó là một hoạt động lưu trữ và truy cập yêu cầu sự đồng ý trước, tự nguyện, cụ thể, có thông tin và rõ ràng ở EEA, Vương quốc Anh, Thụy Sĩ và bất kỳ khu vực pháp lý nào đã áp dụng cùng tiêu chuẩn. Theo GDPR, luồng hành vi cấu thành việc xử lý dữ liệu cá nhân vì sự kết hợp của dấu vết con trỏ, địa chỉ IP, dấu vân tay thiết bị và mã định danh phiên là đủ để phân biệt một cá nhân. Theo CCPA và CPRA, cùng việc thu thập đó được tính là bán hoặc chia sẻ trừ khi nhà xuất bản có hợp đồng nhà cung cấp dịch vụ liên quan với Hotjar — Hotjar cung cấp điều này qua DPA tuân thủ CCPA của mình, nhưng chỉ có hiệu lực khi tích hợp được cấu hình chính xác. Theo hướng dẫn phát lại phiên của EDPB, tiêu chuẩn còn cao hơn: phát lại phải được gắn với mục đích nghiên cứu UX cụ thể, hợp pháp, thời gian lưu giữ phải là mức tối thiểu cần thiết và chủ thể dữ liệu phải được thông báo không chỉ rằng bản ghi tồn tại mà còn rằng phiên của họ có thể được nhà phân tích phát lại.
Hotjar thu thập gì trước khi đồng ý — và điều gì phải bị ngăn chặn
Lỗi triển khai phổ biến nhất là lỗi đi kèm với hướng dẫn khởi động nhanh của chính Hotjar: dán script theo dõi trực tiếp vào <head> của trang. Điều đó có tác dụng, nhưng nó tải Hotjar trước khi banner cookie thậm chí được hiển thị, có nghĩa là cookie được đặt và ghi hành vi bắt đầu ngay ở lần xem trang đầu tiên — bất kể người dùng quyết định gì sau đó. Mọi cơ quan quản lý EU đã phán quyết về mô hình này đều phán quyết theo cùng một cách: cookie được đặt trước khi đồng ý là bất hợp pháp và nhà xuất bản phải chịu trách nhiệm.
Do đó, một tích hợp tuân thủ phải ngăn script Hotjar tải hoàn toàn cho đến khi danh mục đồng ý liên quan đã được cấp. Cách sạch nhất để thực hiện điều này là bọc đoạn mã Hotjar bên trong thẻ <script> được kiểm soát bởi đồng ý mà CMP chỉ chèn vào sau khi người dùng đã chọn tham gia danh mục phân tích hoặc nghiên cứu sản phẩm. Nếu script được tải qua trình quản lý thẻ, tương đương là đặt trigger thành sự kiện consent-granted thay vì All Pages. Tài liệu của chính Hotjar hiện nay khuyến nghị rõ ràng mô hình này và nền tảng cung cấp API hj('consent', 'grant') cho các trường hợp mà script phải có mặt nhưng nên ở trạng thái chờ cho đến khi đồng ý được ghi lại.
Cookie và bộ lưu trữ mà Hotjar ghi
Hotjar Tracking Code 6.x ghi các định danh sau, tất cả đều không thiết yếu và yêu cầu đồng ý: _hjSessionUser_{siteId} với thời gian hết hạn 365 ngày chứa mã định danh người dùng, _hjSession_{siteId} với thời gian hết hạn 30 phút chứa mã định danh phiên, _hjFirstSeen, _hjIncludedInSessionSample_{siteId}, _hjAbsoluteSessionInProgress và một số cookie phân bổ chiến dịch khi khảo sát hoặc widget phản hồi đang hoạt động. Bản ghi phiên được lưu trữ trên máy chủ của Hotjar và được khóa với mã định danh phiên — việc thu hồi đồng ý do đó cũng phải gửi yêu cầu xóa thông qua API của Hotjar hoặc luồng xóa người dùng trong sản phẩm cho các bản ghi phiên trước đó của người dùng.
Ánh xạ Hotjar với các khung đồng ý
Hotjar không tích hợp gốc với IAB TCF hoặc IAB Global Privacy Platform. Đây không phải là nhà cung cấp công nghệ quảng cáo và không bao giờ có ý định trở thành. Tuy nhiên, nó tích hợp với Google Consent Mode v2 thông qua tín hiệu analytics_storage và cung cấp API đồng ý gốc của riêng mình mà bất kỳ CMP nào cũng có thể liên kết. Mô hình vượt qua đánh giá của cơ quan quản lý coi mỗi khả năng của Hotjar như một cổng đồng ý riêng biệt.
- Bản đồ nhiệt và bản đồ nhấp liên kết với mục đích phân tích hoặc nghiên cứu sản phẩm. Theo thuật ngữ TCF, đây thường là mục đích 8 (đo lường hiệu suất nội dung) kết hợp với mục đích 1 (lưu trữ và/hoặc truy cập thông tin). Đối với Consent Mode, đây là analytics_storage.
- Ghi phiên nên đứng sau một tín hiệu nghiêm ngặt hơn, riêng biệt. Ghi lại nắm bắt DOM đã hiển thị và bất kỳ trường nào không bị che giấu, và theo hướng dẫn phát lại phiên của EDPB, một tùy chọn chọn tham gia rõ ràng ở cấp độ preferences — không phải đồng ý phân tích toàn diện — là lập trường có thể bảo vệ được.
- Khảo sát và widget phản hồi có thể chạy dưới cùng cổng đồng ý với ghi phiên khi chúng thu thập đầu vào văn bản tự do, hoặc dưới cổng phân tích khi chúng chỉ thu thập dữ liệu xếp hạng.
- Phễu và theo dõi chuyển đổi liên kết với cổng phân tích; nếu bất kỳ mã định danh người dùng nào được truyền đến CRM hoặc nền tảng quảng cáo thì cổng tiếp thị cũng áp dụng.
Mô hình tích hợp hoạt động
Triển khai tham chiếu có bốn phần: CMP cung cấp sự kiện thay đổi đồng ý theo thời gian thực, bộ tải script bị trì hoãn chỉ chèn đoạn mã Hotjar sau khi đồng ý phân tích được kích hoạt, lớp ngăn chặn ghi phiên mặc định tắt ghi lại cho đến khi một cổng riêng biệt mở, và cấu hình che giấu đầu vào cứng ngăn chặn bất kỳ trường nào mà cơ quan quản lý sẽ coi là nhạy cảm ngay cả khi đồng ý đã được cấp. Điểm thứ tư thường bị bỏ qua: che giấu đầu vào không phải là sự thay thế cho đồng ý, nhưng đó là sự thay thế cho thảm họa khi đồng ý được cấp cho nghiên cứu hợp pháp và người dùng tình cờ dán dữ liệu nhạy cảm vào trường văn bản tự do.
Triển khai web
Trên web, mô hình sạch nhất là đăng ký sự kiện thay đổi đồng ý của CMP, sau đó có điều kiện chèn đoạn mã Hotjar khi mục đích phân tích chuyển từ false sang true. Sử dụng document.createElement('script') để chèn mã theo dõi với thuộc tính async được đặt, và đính kèm handler onload gọi hj('identify', userId, properties) chỉ khi có mã định danh người dùng được xác thực bởi máy chủ. Khi thu hồi đồng ý, gọi hj('consent', 'revoke'), hết hạn tất cả cookie _hj qua document.cookie và gửi yêu cầu xóa qua Hotjar Data API cho các bản ghi phiên trước đó của người dùng. Đừng khởi tạo Hotjar một cách lười biếng trong cùng lượt hiển thị với banner — script phải chờ đợi một sự cấp phép rõ ràng, và sự cấp phép đó phải được ghi lại với dấu thời gian và chuỗi đồng ý trước khi script bao giờ kích hoạt.
Che giấu đầu vào và ngăn chặn dữ liệu nhạy cảm
Trình ghi phiên của Hotjar đi kèm với ba chế độ che giấu: Suppress mode, là mặc định cho các trường mật khẩu và bất kỳ phần tử nào được đánh dấu bằng thuộc tính data-hj-suppress; Whitelist mode, nơi chỉ các đầu vào được chọn tham gia rõ ràng mới được ghi lại; và Mask mode, nơi các lần nhấn phím được ghi lại dưới dạng dấu hoa thị. Theo các quy tắc dữ liệu đặc biệt của GDPR và định nghĩa thông tin cá nhân nhạy cảm của CCPA, bất kỳ trường nào có thể nắm bắt thông tin sức khỏe, chi tiết tài chính, mã định danh của chính phủ, dữ liệu sinh trắc học, vị trí địa lý chính xác hoặc nội dung của thông tin liên lạc riêng tư phải sử dụng Suppress mode bất kể trạng thái đồng ý của người dùng. Đặt data-hj-suppress ở cấp độ form thay vì cấp độ trường là mô hình an toàn nhất — nó ngăn chặn toàn bộ form ngay cả khi nhà phát triển sau này thêm một trường mới mà họ quên đánh dấu riêng lẻ.
Ứng dụng trang đơn và thay đổi tuyến đường
Đối với các SPA (React, Vue, Angular, Svelte), đoạn mã Hotjar chỉ liên kết với lần tải trang ban đầu theo mặc định. Để theo dõi các chuyển đổi trang ảo, bootstrap phải gọi hj('stateChange', newPath) trên mỗi lần thay đổi tuyến đường. Lệnh gọi này tôn trọng bất kỳ trạng thái đồng ý nào mà Hotjar đang giữ vào thời điểm đó, vì vậy logic kiểm soát cổng CMP không cần phải được nhân đôi — nhưng sự thay đổi tuyến đường tự nó không được kích hoạt tải lại script nếu đồng ý đã bị thu hồi giữa các lần xem trang.
Xác thực tích hợp
Bước xác thực là điều các cơ quan quản lý kiểm tra và nhà xuất bản thường bỏ qua nhất. Triển khai Hotjar được tích hợp đúng cách phải vượt qua bốn bài kiểm tra theo thứ tự. Thứ nhất, một phiên trình duyệt mới với banner được hiển thị nhưng không có lựa chọn nào được thực hiện sẽ tạo ra không yêu cầu nào đến static.hotjar.com, script.hotjar.com hoặc vars.hotjar.com và không có cookie _hj nào trong document.cookie. Thứ hai, từ chối phân tích sẽ giữ trạng thái đó — không tải script, không ghi lại, không cookie. Thứ ba, chấp nhận phân tích sẽ tạo ra một lần tải script và các cookie _hjSessionUser và _hjSession dự kiến với các thuộc tính SameSite chính xác, và bản ghi bản đồ nhiệt sẽ xuất hiện trong bảng điều khiển Hotjar trong vòng năm phút. Thứ tư, thu hồi đồng ý sau đó phải ngay lập tức dừng việc ghi lại thêm, hết hạn các cookie và kích hoạt yêu cầu xóa — dọn dẹp chậm trễ là một phát hiện.
Nhật ký kiểm toán quan trọng riêng biệt. Các cơ quan quản lý kỳ vọng nhà xuất bản có thể chứng minh, đối với bất kỳ bản ghi nhất định nào trong tài khoản Hotjar, rằng người dùng đã tạo ra nó đã cho đồng ý hợp lệ vào thời điểm ghi lại. Mô hình tiêu chuẩn là nhúng phiên bản đồng ý và dấu thời gian như một thuộc tính tùy chỉnh trên bản ghi người dùng Hotjar qua hj('identify', userId, { consent_version: 'v3', consent_ts: ts }). Điều đó làm cho bất kỳ bản ghi cụ thể nào có thể truy tìm lại đến một mục nhật ký đồng ý cụ thể, đây là tiêu chuẩn mà EDPB đã đặt ra và tiêu chuẩn mà các nhà xuất bản nên áp dụng bất kể họ hoạt động ở đâu. Một triển khai được kiểm soát cổng chính xác, kết hợp với che giấu đầu vào ngăn chặn theo mặc định và đường xóa kích hoạt khi thu hồi, là điều làm cho Hotjar trở thành một phần có thể bảo vệ được của ngăn xếp nghiên cứu thay vì nghĩa vụ tuân thủ.