attributionreporting api 是 html5 中隐私优先的原生归因方案,通过操作系统级接口实现点击→转化的匿名关联;需客户端注册来源与触发器、服务端接收解析加密报告,并在 android 和 ios 分别适配 adservices 与 skadnetwork。

AttributionReporting API 是 HTML5 生态中专为隐私优先归因设计的原生能力,它不依赖第三方 Cookie 或跨应用用户 ID,而是通过操作系统级接口(如 Android 的 AdServices)完成点击→转化路径的匿名化关联。实际使用时需兼顾客户端注册、服务端接收与合规配置三方面。
注册归因来源与触发器
归因流程始于广告曝光或点击(归因来源),结束于用户完成目标行为(如安装、购买),后者由触发器上报。关键操作包括:
- 在广告展示页调用
navigator.attributionReporting.registerSource(),传入destination(如应用包名)、expiry(最长 30 天)和priority等参数,声明本次曝光可被后续转化归因 - 在转化发生页(如安装后首次打开、支付成功页)调用
navigator.attributionReporting.registerTrigger(),指定sourceEventId匹配来源,并设置triggerData(如转化类型编码)和debugKey(仅调试用) - 触发器必须在来源注册后 2 天内注册才有效,且同一来源最多匹配一个触发器
服务端接收与解析报告
浏览器或系统会自动将归因结果以加密 HTTP POST 请求发送至你配置的端点(reportingOrigin),无需前端主动发送。需注意:
- 报告格式为 JSON,包含
source_event_id、trigger_data、source_registration_time和report_time等字段,不含任何设备标识或用户身份信息 - 服务端需验证请求头中的
Content-Type: application/json和来源域名是否在reportingOrigin白名单内 - 建议对
trigger_data做哈希映射(如 1→注册、2→付费),避免在日志中明文记录业务含义
Android 集成与权限控制
在 Android 平台,Attribution Reporting 由系统 AdServices 框架承载,需适配 SDK 版本并管理权限:
- Google Mobile Ads SDK 22.4.0+ 默认启用该功能,会自动声明
ACCESS_ADSERVICES_ATTRIBUTION权限;若不参与测试,需在AndroidManifest.xml中添加tools:node="remove"移除该权限 - 确保 targetSdkVersion ≥ 33,否则系统将降级使用旧版归因机制(如 Play Install Referrer)
- 调试阶段可通过
adb shell cmd adservices attribution get-debug-report查看本地触发记录,确认来源与触发器是否成功配对
与 SKAdNetwork 协同保护 iOS 用户
iOS 不支持 AttributionReporting API,需同步配置 SKAdNetwork 作为补充方案:
- 在
Info.plist的SKAdNetworkItems中加入 Google 及合作买方的标识符(如cstr6suwn9.skadnetwork),确保广告点击能触发系统级归因回传 - SKAdNetwork 报告同样不携带用户 ID,只返回带噪声的转化值(0–63)、归因窗口(如 7 天)和签名验证数据
- 建议将 AttributionReporting(Android)与 SKAdNetwork(iOS)的转化数据统一映射到相同业务维度(如“首日付费”“七日留存”),便于跨平台效果对比
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











