首页 > 解决方案 > 差异 ClientId - FullVisitorId

问题描述

fullvisitorId 的文档指出它是“唯一的访问者 ID(也称为客户端 ID)”。但是,在比较 BQ 中的 clientId 和 fullvisitorId 时,fullvisitorId 的值的结构不同。一个问题指出 fullvisitorId 是 clientId 的散列版本,但是我找不到说明这一点的官方文档。

我的问题是为什么有两个参数说明相同的信息,如果它们不相同,有什么区别?

标签: google-analytics

解决方案


他们现在也添加clientId到了导出模式中。那里说:

与任何给定访问/会话关联的给定用户的客户端 ID 的未散列版本。

测量协议参考中,他们指出:

如果请求中未指定用户 ID (uid),则此字段是必需的。这匿名识别特定用户、设备或浏览器实例。对于网络,这通常存储为具有两年有效期的第一方 cookie。对于移动应用程序,这是为应用程序安装的每个特定实例随机生成的。此字段的值应为http://www.ietf.org/rfc/rfc4122.txt中所述的随机 UUID(版本 4) 。

所以,它是随机生成的——对于网络它是一个 cookie,对于应用程序它是在每次安装时设置的(或者如果 IDFA 发生变化)。在用户 ID 文档中,他们通过对比两个 ID 来确认这种随机化:

由 Analytics 库随机生成并与所有命中一起自动发送。

散列算法未知。但原则上,两者之间的唯一区别是散列。

但是,自 2018 年 7 月 17 日起,您可以使用管理 API 提供的hashClientId 方法将散列算法应用于您的客户端 ID 。为此,API 需要一个客户端 ID 和一个网络属性 ID。尽管提供网络资产 ID 可能意味着他们使用它来对哈希进行加盐——但他们并没有这样做。fullVisitorId 对于不同的属性是相同的(使用管理 API 测试)。

这基本上意味着他们不希望您使用客户端 ID 连接数据并且基本上对其进行伪/匿名化。现在他们允许了,您可以通过以下方式连接来自不同来源的数据

  • 使用 Management API 创建 fullvisitorid(用于旧数据)
  • 或使用新字段中的客户端 ID(对于较新的数据)

推荐阅读