欢迎访问我的博客,有问题可以在任意文章底部留言评论

GTM中的Consent Mode (意见征求模式)完整解析

意见征求模块 Haran 5年前 (2021-06-02) 7545次浏览 1个评论
文章目录[隐藏]

更新时间:2025年7月19号

本文将详细介绍Google Tag Manager(GTM)中的Consent Mode (意见征求模式)。

什么是意见征求模式?

意见征求模式是Google提供的一套授权状态解析与传递机制,其作用是将用户在CMP(Consent Management Platform,同意管理平台)中的授权结果,统一转换为标准化的意见征求模式参数,GTM中的第三方跟踪代码能够读取并据此决定是否执行,从而降低第三方跟踪在隐私合规上的实现复杂度。

它们关系是:GTM中的Consent Mode (意见征求模式)完整解析

  • CMP:弹出Cookie Banner,告知用户的权利,获取用户授权,向Consent Mode传递用户授权信息
  • Consent Mode:把CMP传过来的授权信息转化为统一的参数,GTM中的第三方跟踪代码能够读取并据此决定是否执行,如同意,第三方代码就可以跟踪;如果拒绝,会发送不适用Cookie的ping,GA4可以基于此通过建模预测可补回60–70% 的数据(这是高级意见征求模式的功能)

 

CMP需要加入Consent Mode才可以实现上述机制,目前加入Consent Mode的CMP有Commanders ActConsentmanagerCookie Information A/SCookiebot (Cybot)DidomiiubendaLiveRampOneTrustOsano、SourcepointUsercentrics等。延伸阅读:TCF 、CMP和Consent Mode的关系?

 

意见征求模式有如下优势:

  • GTM上第三方代码的合规统一化:CMP向Consent  Mode传递用户授权信息,Consent  Mode将其转化为统一意见征求模式参数,GTM中的第三方跟踪代码能够读取并据此决定是否执行,降低合规的操作与成本
  • GA4可建模补数(高级意见征求模式独有):如果用户拒绝,会发送不使用Cookie的 ping,GA4会通过建模预测可找回60–70%的数据

 

意见征求模式的版本

意见征求模式分为两个版本:

  • Google Consent Status(gcs):也就是v1,也叫基本版
  • Google Consent Default(gcd):也就是v2,也叫高级版,这是主流使用版本

可以在GA4的网络请求中,查看基础版(gcs参数)和高级版(gcd参数)的授权情况:

GTM中的Consent Mode (意见征求模式)完整解析

基础意见征求模式

基础版的权限类型只有两个:

  • ad_storage:表示广告相关,如Google Ads
  • analytics_storage:表示分析相关,如Google Analytics 4

gcs的意见征求模式参数格式是G1xy,这个就是获取CMP中的授权结果,统一转换为标准化的意见征求模式参数,其中

  • x代表ad_storage,可以是1(授予)或0(拒绝)。
  • y代表analytics_storage,并且是1(授予)或0(拒绝)。
描述
G100 尚未获得同意。
G110 Google Ads已同意,但Google Analytics 4未同意。
G101 Google Analytics 4已同意,而Google Ads则没有。
G111 Google Ads和 Google Analytics 4均已同意。

这个已经弃用了。

 

高级意见征求模式

高级版将权限分成两类

  • 意见征求模式参数(广告/分析)
  • 隐私权参数(功能/个性化/安全)
用户意见征求参数 说明
ad_storage 是否可以收集数据用于广告,如再营销就需要这个
analytics_storage 是否可以收集数据用于分析,如GA4收集数据就需要这个
ad_user_data 是否可以收集第一方用户数据用于广告,如使用设置Users ID就需要这个
ad_personalization 是否可以收集数据用于广告个性化,如再营销就需要这个

 

隐私权参数 说明
functionality_storage 启用可为网站或应用的功能(例如语言设置)提供支持的存储机制。
personalization_storage 启用与个性化(例如视频推荐)相关的存储机制,,如再营销就需要这个
security_storage 启用与安全性(例如,身份验证功能、欺诈防范功能和其他用户保护功能)相关的存储机制。

 

gcd的参数结构通常表现为:1*<ad_storage>*<analytics_storage>*<ad_user_data>*<ad_personalization>*,它代表默认状态 + 用户更新结果的组合,包含的信息更多。

其中,* 为数字形式的占位或控制值,具体含义未在Google官方文档中公开;

ad_storageanalytics_storagead_user_dataad_personalization 对应的位置通常以小写字母表示,用于描述各授权项的默认状态及用户更新后的结果组合,如:

字母 含义
l 尚未设置 Consent Mode(未进入同意模式)
p 默认拒绝(未被用户更新)
q 默认拒绝,用户更新后仍拒绝
t 默认同意(未被用户更新)
r 默认拒绝,用户更新后同意
m 无默认值,用户更新后拒绝
n 无默认值,用户更新后同意
u 默认同意,用户更新后拒绝
v 默认同意,用户更新后仍同意

需要注意的是,虽然网上中通过大量样本分析,总结出部分字母(如 ptruv 等)可能对应的授权语义,但由于Google并未披露完整的编码规则,且这些字母是否同时承担校验或版本控制等内部用途尚不可知,因此相关解读(包括上面表格里)应仅作为调试参考,而不应作为实施或判断合规性的唯一依据。

 

基础版 VS 高级版

项目 基础版 高级版
权限类型 2 4+3
无Cookie ping
建模补数

GA4可建模补数是高级版独有,如果用户拒绝,会发送不使用Cookie的ping,GA4会通过建模预测可找回60–70%的数据。

 

GA4里用户意见征求设置(自检)

GA4里有个叫用户意见征求设置的功能,它是用于自检的,检查意见征求模式有哪些错误。

在GA4里点击「管理」——「媒体资源设置」——「数据收集和修改」——「用户意见征求设置」就可以看到,主要分为两部分:

第一部分是问题概况,显示存在多少问题:

GTM中的Consent Mode (意见征求模式)完整解析

这个会告诉你当前这资料流存在4个问题,15%~20%的里流量是来自EEA,需要遵循GDPR的要求去布署CMP。

 

第二部分问题详情,告诉你存在的具体问题:GTM中的Consent Mode (意见征求模式)完整解析

按提示修复即可。

 

配置意见征求模式

选择已经加入Consent Mode的CMP,配置的过程都大同小异的,可以看Cookiebot和Consentmanager的配置案例:

 

常见问题 FAQ

GA4的数据与BigQuery不一致?

这是因为使用Consent Mode v2,即时用户拒绝了跟踪,仍然会发送ping,GA4是基于ping的数据建模计算出来,而Bigquery是真实的ping数据计数计算,所以不同。延伸阅读:Consent Mode是如何影响GA4的数据收集

 

GA4没有数据

安装CMP后,默认不同意或用户拒绝,那么就不能跟踪用户的数据,所以GA4没有数据,如G100,G110,表示拒绝跟踪:

GTM中的Consent Mode (意见征求模式)完整解析

延伸阅读:Google Analytics 4 没数据的16个原因(2025)


有疑问可以在底部留言
喜欢 (7)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 博主对这个研究的太深刻了,代码应用如此熟练
    王光卫博客2021-06-09 10:38 回复 Mac OS X | Firefox浏览器 89.0