更新时间:2025年12月22号
什么是User ID
User ID 是你自己系统生成的唯一标识符,用于将Google Analytics 4(GA4)数据与 后台系统数据进行关联。
注意事项:
为什么要用User ID
使用User ID可以带来以下价值:
- 与后台数据打通:User ID相当于系统生成的外键,可以将GA4的行为数据和后台CRM/数据库数据进行关联,方便做更深度的用户分析。
- 跨设备用户追踪:同一个用户在手机、平板和电脑上的行为都可以被识别为同一人,完整重现用户旅程。
- 更准确的用户分析:相比依赖Cookie或设备ID,User ID更稳定,不会因用户清理Cookie 或更换设备而重复计数,从而提高数据准确性。
- 更好的归因模型:在多渠道营销场景下,User ID可以帮助准确归因转化,因为你能看到用户在不同触点、不同设备的所有互动。
User ID 的设置流程
下面以将User ID设置为GA4用户级别自定义维度为例进行说明。
Step 1:生成User ID
用户注册或登录时,由后台系统生成唯一账户ID,对账户 ID 进行加密或哈希生成 User ID,如当我注册用户时候,账户ID为haran.huang@gmail.com,同时在数据库中生成的加密的User ID为c11e9d2df。
注意:不要使用PII作为User ID,确保符合 GA4 隐私政策。
Step 2:在GTM中获取User ID
User ID可以通过多种方式传递给 GTM:
- JavaScript变量:前端登录后,将User ID写入JS变量
- 第一方Cookie: 存储在Cookie 中,通过GTM变量获取
- 数据层:让前端开发通过 dataLayer.push() 发送 User ID
- DOM元素:页面上某个元素包含User ID,通过DOM变量获取
这里以JavaScript变量的方式为例子,这个需要前端的同事协助,在用户登录后,将这个User ID设置JavaScript变量,需要在每个页面都能找到这个:
<script>
User_ID="<span style="font-size: 12pt;">c11e9d2df</span>";
</script>
在GTM中点击「变量」—「新建」—「选择一个变量类型以开始设置」——「JavaScript 变量」,命名为“User ID”,做如下设置
Step 3:在GA4基础跟踪中设置User ID
在GA4的基础跟踪代码中「配置设置」做如下设置:
参数名必须使用 user_id 或 uid,不可自定义,这个是系统定义。
Step 4:设置用户级别自定义维度(User Property)
在GTM中点击「变量」—「新建」—「选择一个变量类型以开始设置」——「Google 代码:事件设置」,命名为“Common Event Parameter”,在Google Analytics User Properties里设置属性名称user_id_cd(建议将属性名称命名为name_cd的结构,cd表示custom dimension),如下设置
如果你已经创建有Google 代码:事件设置变量,那么就在Google Analytics User Properties里增加user_id_cd的设置。
然后将Common Event Parameters设置到GA4的基础跟踪代码中共享事件设置里:
Step 5:预览调试
在GTM里预览调试:
访问网站,登录后,检查page_view事件上的User ID 参数合适否如预期触发,如果数据准确,可以发布到线上。
Step 6:在GA4注册自定义维度
要在GA4里注册user_id_cd,在GA4中点击「管理」」——「自定义设置」——「创建自定义维度」,然后做如下设置:
注意:范围是要选用户。
Step 7:验证数据
由于数据延时,一般隔天到GA4里查看数据。
常见问题FAQ
User ID对数据的处理机制
同个会话内,User ID会通过会话ID将其关联,如用户访问页面A,访问页面B,然后登录后有User ID,这几个访问都市通过会话内的,所以默认都会有User ID。
User ID问题,每个用户ID 存在大量活动
错误得将User ID设定为一个固定值,导致所有的数据共用一个User ID导致的数据异常。
处理方式:请确保每个登录用户的User ID都是不同的值,设置准确。
Client ID被四舍五入
将Client ID设置为用户级别自订维度,你可能会遇到Client ID被截断的情况,如:
其实,这并不是被截断,而是Client ID被四舍五入,如果Client ID被谷歌分析视为是数字类型,那么会自动的四舍五入,解决方式是在Client ID前面添加字符,欺骗谷歌分析。
这种情况不是所有人都会遇到,是偶发的。
转化划分到直接渠道
这是因为将Users ID设置为事件参数,这会导致转化都划分为直接渠道,这是bug。
官方在2024年9月25号公告,这个bug已经修复,延伸阅读:[GA4] 收集用户提供的数据里的Bug










