Heap自动捕获产品分析Cookie同意集成指南:2026年出版商实战手册
Heap在产品分析生态中独树一帜。Mixpanel、Amplitude和PostHog要求出版商手动埋点,而Heap自动捕获一切,供分析师事后从数据流中定义事件。这一自动捕获模式是产品的核心特性,也是其行为数据面极广的原因——每次点击、触摸、滚动、表单交互和页面跳转,都在页面加载后毫秒内与持久标识符绑定,每项操作均触发同意义务。好消息是,自Contentsquare收购以来,Heap提供了产品分析领域较为精细的同意API;难点在于如何将其正确接入自动捕获层、身份层和会话回放模块。
为什么Heap需要同意——且范围超出典型分析工具
默认Heap初始化在页面首次渲染时执行多项操作:写入包含持久用户标识符的一方Cookie _hp2_id.{envId}、会话Cookie _hp2_ses_id.{envId}、采样率Cookie _hp2_props.{envId},以及SDK已初始化的标记 _hp2_loaded。它生成唯一标识符,捕获含来源、UTM参数和点击标识符的初始页面浏览,并立即开始记录后续所有交互——点击、触摸、表单变更、路由变更、自定义事件;启用Contentsquare集成后,还会记录用于会话回放的完整DOM差异。
这些操作各自触发独立的同意关卡。根据ePrivacy指令Article 5(3),持久化用户标识符属于存储与访问操作,在EEA、UK及采用相同标准的司法管辖区需要事先获得自由、具体、知情且明确的同意。由于标识符、IP地址与行为轨迹的组合足以识别个人,自动捕获事件流属于GDPR下的个人数据处理。会话回放在EDPB会话回放指南中被列为更严格的独立类别——回放捕获渲染DOM及未遮盖的输入字段,需要独立于通用分析同意的明确、细化同意。CCPA和CPRA将相同处理视为销售或共享,除非出版商与Heap签有服务提供商合同,但该合同仅在集成配置为服务提供商模式时生效。
同意前Heap写入了什么——以及必须阻止什么
Heap仪表板提供的标准快速入门指南要求将跟踪代码片段直接安装到页面 <head>。这是最常见的合规失误:代码片段在Cookie横幅渲染前运行,_hp2_ Cookie在毫秒内写入,自动捕获流开始向 heapanalytics.com 传输,无论用户之后如何选择。欧洲各监管机构的裁决一致:同意前设置的Cookie不合法,出版商承担责任。
因此,合规集成必须阻止Heap代码片段在相关同意类别授权前加载。生产环境中可用的两种方案:一是条件脚本注入——仅在CMP发出同意信号后才将代码片段添加至DOM;二是预加载时使用 heap.load(appId, { disableTextCapture: true, secureCookie: true, autocapture: false }) 延迟引导,同意记录后再调用 heap.startAutoCapture()。条件注入方案更简洁,也是Heap文档目前推荐的方式。延迟引导方案适用于出版商需要稳定全局引用以进行身份拼接、但不允许在同意前触发自动捕获的场景。
Heap写入的Cookie与存储
Heap代码片段初始化时写入以下标识符,均为非必要项,需要同意:有效期14个月、包含用户标识符的 _hp2_id.{envId},有效期30分钟的会话Cookie _hp2_ses_id.{envId},用于采样率和属性传播的 _hp2_props.{envId},以及加载标记 _hp2_loaded。Contentsquare集成的会话回放模块还会添加内存中的录制缓冲区,每隔几秒向Heap端点刷新,并可能单独持久化一个回放会话标识符。因此,撤回同意必须同时使 _hp2_ Cookie过期,并通过Heap的GDPR API发送针对用户历史录制和事件流的删除请求。
将Heap映射到同意框架
Heap不原生实现IAB TCF或IAB全球隐私平台——它是一方产品分析平台,不是广告技术供应商——但它通过出版商端桥接与Google Consent Mode v2集成,暴露原生的选择加入和选择退出API,并支持不受同意状态影响的敏感属性遮盖层。能够通过监管审查的方案将每个Heap模块视为绑定特定CMP信号的独立关卡。
- 自动捕获和核心事件流绑定至分析用途。在TCF中通常为目的8(衡量内容效果)与目的1(存储和/或访问信息)的组合;在Consent Mode中映射至 analytics_storage。
- 通过Contentsquare集成的会话回放需要更严格的独立关卡,因为回放捕获渲染DOM及未遮盖的输入字段,EDPB指南将其视为需要独立于通用分析同意的明确、细化同意的类别。
- 通过heap.identify()进行用户识别在用户匿名时可基于合法利益使用临时会话标识符,但跨会话将识别与持久一方标识符绑定需要与分析相同的同意,因为此时标识符才成为可追溯的用户级数据点。
- 通过身份API进行跨站点或跨产品身份传播需要营销关卡,因为这已超出产品分析范畴,进入用户级营销归因领域。
有效的集成方案
参考部署包含四个部分:暴露实时同意变更事件的CMP;以禁用自动捕获方式加载Heap的延迟引导;在相关关卡开启时触发自动捕获并启动会话回放缓冲区的同意监听器;以及调用 heap.resetIdentity()、停止自动捕获、使 _hp2_ Cookie过期并通过Heap GDPR端点分发删除请求的撤回路径。
Web端实现
Web端最简洁的方案是条件加载Heap代码片段——仅在分析类别授权后才注入 <script> 标签。订阅CMP的同意变更事件。当分析类别变为true时,以 secureCookie: true、disableTextCapture: false(启用完整自动捕获)及任何环境特定配置注入Heap代码片段。当会话回放同意变为true且启用Contentsquare集成时,回放缓冲区自动激活。当任一关卡撤回时,调用 heap.resetIdentity(),移除Heap脚本元素,通过document.cookie使 _hp2_ Cookie过期,并为用户标识符调用GDPR删除API。
敏感属性遮盖
Heap内置遮盖层,不受同意状态影响,出版商即使在用户已授权的情况下也应使用。表单字段上的 data-heap-redact-text 属性可阻止捕获文本内容;data-heap-redact-attributes 属性可阻止捕获元素属性。根据GDPR特殊类别规则和CCPA敏感个人信息定义,任何可能捕获健康信息、财务详情、政府标识符、生物特征数据、精确地理位置或私人通信内容的字段,无论用户同意状态如何,均必须使用遮盖属性。在表单级别设置属性是最安全的做法——即使开发者新增字段时忘记单独标记,也能遮盖整个表单。
地区选择:EU与US数据驻留
Heap分别运营EU和US摄取端点。对于EEA和UK流量,EU端点是正确的默认选择;它将摄取、处理和存储保持在EEA内部,降低了US地区分析部署带来的Schrems II风险。端点通过代码片段配置设置,不可事后更改——现有数据保留在最初摄取的地区。因此,对于规划Heap上线的出版商,值得在扩展前确认地区选择,并在隐私声明中记录该选择,确保从采集到存储的合法依据链完整。
验证集成与审计追踪
验证步骤是监管机构重点审查而出版商最常跳过的环节。正确集成的Heap部署必须依次通过四项测试。第一,显示横幅但用户尚未选择的全新浏览器会话,必须在document.cookie中产生零个对 heapanalytics.com 的请求(SDK文件获取除外)和零个 _hp2_ Cookie。第二,拒绝分析后该状态必须保持——无自动捕获、无标识符、无录制。第三,接受分析后必须生成具有正确SameSite属性的预期 _hp2_id Cookie,事件流流向配置的地区端点。第四,撤回同意后必须立即停止自动捕获和回放,使 _hp2_ Cookie过期,并通过Heap的GDPR API触发删除请求。
根据EDPB 2023年Cookie横幅指南和2026年工作组最新优先事项,审计追踪要求出版商能够证明,对于Heap项目中的任何给定事件,生成该事件的用户在捕获时已给予有效同意。标准做法是通过 heap.addUserProperties({ consent_version: 'v3', consent_ts: ts }) 将同意版本和时间戳设为唯一ID的用户属性,使任何单个事件均可追溯至特定的同意日志条目。正确设置关卡的部署,配合默认遮盖敏感字段的遮盖属性和撤回时激活的删除路径,能将Heap的自动捕获模式从监管集中风险转变为出版商产品分析栈中最强大、最合规的部分之一。