更新时间:2025年12月22号
什么是User ID?
当同一位用户分别使用手机、电脑和平板浏览网站时,GA4默认会将这些设备视为不同的使用者,因为每个浏览器都会产生不同的Client ID。
如果希望GA4能识别这些设备实际上属于同一位已登录会员,就需要使用User ID。
User ID 是网站、App或后台系统自行产生的唯一识别码,通常会在用户注册或登录后取得,并发送到GA4,用于识别同一位已登录用户。同时,它也可以作为GA4与后台CRM、数据库之间的数据关联键,方便进行更深入的用户分析。
注意事项:
- User ID不应包含任何个人识别信息(PII),如邮箱、手机号等。
- User ID最大长度为 256 字节。
为什么要使用User ID?
使用User ID可以带来以下优势:
- 跨设备识别同一位用户:同一位用户无论使用手机、平板还是电脑登录网站,GA4 都可以将这些行为识别为同一位用户,更完整地呈现用户旅程。
- 提高用户数据准确性:相较于依赖 Cookie 或 Client ID,User ID 更稳定,不会因为用户清除 Cookie、重新安装浏览器或更换设备而产生新的用户,因此能够减少重复计算,提高数据准确性。
- 与后台数据整合:User ID 可以作为网站后台系统的唯一识别码,将 GA4 的行为数据与 CRM、会员系统或数据库进行关联,方便分析会员价值、购买记录及生命周期等数据。
- 更完整的转化归因:在多渠道营销环境下,User ID 能将用户在不同设备、不同触点的行为整合起来,使转化路径更加完整,帮助提升归因分析的准确性。
User ID 的设置流程
Step 1:生成User ID
当用户注册或登录时,由后台系统为每位会员建立唯一且长期稳定的识别码,并作为 User ID 使用。
例如:
| 数据库帐号 | User ID |
|---|---|
| 1003289 | 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 变量 为例,需要前端开发协助,在用户登录后,于每个页面建立一个全域 JavaScript 变量,例如:
<script> window.userId = "c11e9d2df"; </script>
在GTM中点击「变量」—「新建」—「选择一个变量类型以开始设置」——「JavaScript 变量」,命名为“User ID”,做如下设置
Step 3:在GA4基础跟踪中设置User ID
在GA4的基础跟踪代码中「配置设置」里新增User ID设置:
参数名必须使用 user_id 或 uid,这是GA4系统保留参数,不可使用其他名称。
Step 4:预览调试
设置完成后,在GTM里点击右上角预览进行调试:
登录后,检查page_view事件上的User ID 参数合适否如预期触发,如果数据准确,可以发布到线上。
Step 5:验证数据
由于GA4报表通常会有数小时至一天左右的数据延迟,因此建议隔天再进行验证。
可以看用户探索报告,如果有 User ID,就表示设定成功。
Step 6:设定报告中使用的ID
- 混合:优先级顺序是用户ID>设备ID>建模。
- 观测对象:优先级顺序是用户ID>设备ID。
- 基于设备:仅使用设备ID,并忽略收集的所有其他任何 ID。
如果你有开启Consent Mode,那么使用“混合”,否则选择“观察对象”
注意:如果没有在「报告中使用的ID」里做设置,User ID不会在报告中生效。
常见问题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被截断的情况,如:
实际上,这并不是被截断,而是因为GA4将该值识别为数字类型,并自动进行四舍五入。
这种情况属于偶发问题,并非所有网站都会发生。
转化都归因为 Direct(直接流量)
过去曾有开发者误将User ID同时作为事件参数发送,导致部分转化错误归因为 Direct(直接流量)。
Google 已于2024年9月修复此问题,目前一般情况下无需额外处理。





