在使用 Google Analytics 4 (GA4) 时,“User ID” 和 “Client ID” 是最常被提及的两个概念。对于数字营销和数据分析领域的从业者来说,清晰地理解这两个概念至关重要。
这两个概念为什么如此重要?因为 GA4 究竟如何识别访客并追踪其行为,主要取决于这些 ID。如果你想让自己的追踪配置达到“完美”状态,那么在开始配置之前,深入了解 User ID 和 Client ID 的技术细节是必不可少的。缺乏正确的专业知识,几乎不可能通过数据层 (Data Layer) 或 GTM (Google Tag Manager) 以专业的方式完成这些配置。
本文将用通俗易懂的语言为你解释这些 ID 到底是什么,展示它们在实时报告中的样式,并逐步引导你完成配置,以优化你的追踪系统。首先,让我们从 Client ID 开始。
客户端 ID (Client ID)
假设你已经成功在网站上安装了 Google Analytics 4 (GA4)——无论是直接在 header 区域添加全局网站标签 (gtag.js),还是通过 Google Tag Manager (GTM) 完成的。配置完成后,每当有访客首次访问你的网站时,GA4 就会自动在该访客的浏览器中植入一个第一方 Cookie(我们通常称之为 _ga Cookie)。
这个 Cookie 包含一个独特的标识符,也就是 Client ID。为什么这个 ID 如此重要?
页面跳转追踪:当访客在你的网站上从一个页面跳转到另一个页面时,这个 Cookie 可以帮助 GA4 确认这是同一个人。
回访用户识别:如果该访客稍后使用相同的浏览器再次访问你的网站,GA4 可以通过读取其浏览器中之前的 Cookie,轻松识别出这是“老用户”或“回访”流量。
简单来说,Client ID 是一个浏览器级别的标识符。
但是 (But)
到目前为止,我们已经了解到 Client ID 是通过浏览器 Cookie 来发挥作用的。但坦白地说,仅仅依靠 Client ID 来分析数据可能会让你得出许多错误的结论。为什么呢?因为这种方法存在一些固有的局限性,会降低我们追踪的准确性:
1. 设备或浏览器的更换会产生偏差:假设一名用户在早上上班途中用手机访问了你的网站,然后在下午回到家后,又用笔记本电脑再次访问了该网站。在这里,虽然实际上只有一个人,但 GA4 会将其显示为两个不同的“新用户”。为什么?因为 Client ID 仅绑定在首次设置 Cookie 的特定浏览器中。一个设备上的 Cookie 是无法传输到另一个设备上并继续发挥作用的。
2. 一旦清除 Cookie,一切就结束了:我们许多人都会定期清理浏览器的缓存或 Cookie。每当用户手动删除 Cookie 时,旧的 Client ID 也会随之被删掉。这样一来,当他再次访问该网站时,GA4 将无法识别他,并会将其视为一个完全陌生的新访客。这会导致你的“回访用户”数量减少,同时错误地增加了“新用户”的数量。
3. 广告拦截程序与隐私保护:如今,许多浏览器和插件默认都会拦截 Cookie。对于那些非常注重隐私的用户来说,Client ID 无法很好地发挥作用。正因如此,我们很难持续关注他们的行为轨迹。
4. 苹果或 iOS 设备的挑战:对于 iPhone 或 Mac 用户来说,这个问题要更为严重。由于苹果的 ITP(智能追踪预防)功能,Safari 或 iOS 浏览器中的 Cookie 寿命现在已被大大缩短。
虽然一般情况下 Cookie 应该保存很长时间,但在 iOS 设备上,你会发现它在短短几天(例如 7 天,甚至在某些情况下只有 24 小时)后就会被自动删除。结果就是,如果一个常客在 10 天后重新访问你的网站,GA4 同样会将其视为新用户。也就是说,想要获取回访用户的真实数据,正在变得一天比一天困难。
请看下方的截图。如果在浏览网站时,你通过浏览器的“检查元素”(Inspect Element)进入“Application”标签页,并点击左侧的“Cookies”选项,你就会看到一个名为 _ga 的 Cookie。

你在该 _ga Cookie 旁边看到的这串长数字(例如 1778537719.1775972641),基本上就是你该次会话的 Client ID。GA4 就是通过这个独特的数字来识别你的。
一个有趣的小实验:如果你从浏览器中删掉这个 _ga Cookie 并重新加载页面,你会发现原处立即出现了一个全新的 ID。这意味着,只要你删除了 Cookie,你在 GA4 中的所有过往身份就会被当场抹去,它会把你当成一个全新的访客。
简单来说,Client ID 是一个仅针对特定设备或浏览器的唯一标识符。它追踪的并不是某个具体的人或“人类本身”,而是一个浏览器会话。而 GA4 中的 User ID 功能,正是为了解决这一痛点而生的。
用户 ID (User ID)
我们前面所看到的 Client ID 的种种局限性,正是通过 User ID 得到了解决。Client ID 只能识别浏览器,而 User ID 则能直接识别一个有血有肉的真实用户(从而实现跨设备追踪)。
它是如何工作的?
通过 User ID 进行追踪的核心前提是能够识别用户。而这只有在用户登录你的网站时才有可能实现。简而言之,User ID 的全部意义与你网站的登录系统直接相关。
简单了解一下其技术流程:
当用户注册或登录你的网站时,你的网站后端会为该用户生成一个唯一的 ID。随后,你的开发人员会把这个 ID 作为 user_id 或 visitor_id 推送到 GTM(Google Tag Manager)的数据层(Data Layer)中。接下来,我们就可以轻松地使用 GTM 将这个 ID 发送给 GA4。
为什么这是最佳解决方案?
1. 设备频繁更换也完全没问题:如果用户早上用手机登录,下午用笔记本电脑登录——只要他处于登录状态,GA4 就会将其识别为同一个人。
2. 哪怕删除了 Cookie 也无需担心:即便客户清空了浏览器 Cookie 或者换了一个全新的浏览器,也完全不会受到影响。因为这里的追踪不再依赖 Cookie,而是基于用户唯一的真实 ID。
最后,如果你能通过 GTM 专业地配置好这一 User ID 追踪系统,你的数据准确性将会得到成倍的提升。
User ID 的配置流程
理论知识我们就先聊到这里,接下来让我们看一个活生生的实际案例。请仔细观察下方的截图:

在这张图片中,我们可以看到 Google Tag Manager (GTM) 预览模式 (Preview Mode) 下的数据层 (Data Layer) 视图。红框内圈出的 visitor ID: 1 部分,正是我们想要的 User ID。为什么它会显示在这里呢?因为我们的网站拥有登录系统,每当有人登录时,该系统就会自动将这个唯一的 ID 发送到数据层中。
一个重要提示:
如果你的网站虽然有登录系统,但在数据层(Data Layer)中却没有找到类似的 ID,也完全不用担心。在这种情况下,你应该联系你的网站开发人员,让他协助在用户登录后,将一个唯一的 ID(例如 User ID 或 Visitor ID)推送到数据层中。一旦数据层中配置好了这个 ID,你接下来通过 GTM 完成剩余的设置就会变得非常轻松。
通过 Google Tag Manager 配置 User ID
在数据层(Data Layer)中获取到 ID 后,我们的首要任务是在 Google Tag Manager (GTM) 中创建一个变量。这样一来,GTM 就能读取该 ID 并将其发送给 GA4。
如何在 GTM 中创建变量?
-
首先,点击 GTM 容器左侧菜单中的“变量”(Variables)部分。
-
在“用户自定义变量”(User-Defined Variables)下方,点击“新建”(New)按钮。
-
选择“数据层变量”(Data Layer Variable)作为变量类型。
-
在“数据层变量名称”(Data Layer Variable Name)输入框中,输入你在数据层中看到的确切名称。例如,在我们的截图中,这里需要填写 “visitorId”。

5. 为该变量起一个清晰好记的名称(例如:DLV – User ID)并点击保存。现在,你的变量就准备就绪、可以投入使用了。
针对此 User ID 的 Google 标签配置
变量创建完成后,我们需要将其与我们的 GA4 标签进行关联。
1. 进入 GTM 的“标签”(Tags)部分。
2. 打开用于配置 GA4 的“Google 标签”(Google Tag,或旧版中的 GA4 配置标签)。
最后一步便是通过我们的 Google 标签将这个 ID 发送给 GA4。你可以通过观察下方的截图,非常清晰地理解这整个操作流程:

在“配置参数”(Configuration Parameter)一栏中,输入 user_id。(请牢记,这里必须全部使用小写字母,且拼写要完全一致。)
接着,在“值”(Value)一栏中,选择我们此前创建好的那个变量。
大功告成!设置就这么简单。从现在起,每当有用户登录你的网站,GTM 都会自动将该唯一 ID 发送至你的 GA4 媒体资源。得益于此,你现在将能够看到准确的跨设备追踪报告。
直奔主题
精准的追踪意味着正确的决策。通过在网站上专业地配置 User ID,你可以消除数据不一致的问题,并全面掌握完整的客户旅程。祝你的分析项目进展顺利!
如果你对 GA4 中的 User ID 和 Client ID 配置有任何疑问,或者在设置过程中遇到了任何问题,欢迎在下方留言评论。