客户端 ID and/or 用户 ID - 使用哪个?
Client ID and/or User ID - which to use?
Background of my specific environment: I am trying to set up GA to track the user journeys around an iOS native app written in React Native. The app is in-house only and all users consent to being tracked in this way.
据我了解,测量协议允许客户端 ID (cid
) 或用户 ID (uid
)。在文档中,两者都是可选的,但至少有一个是必需的。到目前为止是有道理的。客户端 ID 是一个匿名的 UUIDv4,它跟踪浏览器或设备,但不一定是用户。另一方面,用户 ID 是用户的一些唯一标识值,但可能跨越 devices/browsers.
最初我使用 cid
编写我的应用程序(因为我还没有阅读 uid
上的文档)。每次用户登录时,用户的 uuid 将作为 cid
参数存储和发送。我还使用了会话控制 sc
。这行得通——我看到会话进入,用户资源管理器向我显示了各个用户的 uuid 和会话等。但是在重新阅读文档后,这似乎是对 cid
的错误使用。 cid
似乎是为了保持一致,而不是在您登录和注销时发生变化。
因为我的应用程序上的人可以登录和注销(并且可能会 - 工作人员很可能会共享设备),使用特定于设备的持久 cid
将不允许我如上所述,跟踪单个用户的习惯并根据登录会话更改它,感觉不对。
所以我把 cid
换成了 uid
。文档说两者都是可选的,只有在不使用另一个的情况下才需要一个,所以我想我可以只使用 uid
并在该字段中使用用户的 uuid,否则它的行为相同。
然而,当这样做时,在 "real time data" 以及用户资源管理器中似乎根本没有记录任何点击。
是我做错了什么还是设计使然? (如果按照设计,文档说 cid
和 uid
都是可选的是错误的还是我读错了?)
无论哪种方式,在最佳实践方面,我是否:
只需返回使用仅在人们登录和注销时才会更改的临时 cid
。应用程序中的各个会话不会更改 cid,但我确实使用 sc
通过导航推理明确开始和结束会话(单击 'home' = sc=end
,从 'home' 导航, sc=start
).
像我尝试的那样使用 uid
(即将当前的 cid
换成 uid
),但也包括一个随机的 cid
永远不会改变(无论会话生命周期、登录和注销等)。
还有别的吗?
我看过 this question and its answer 但它并没有真正回答我关于 cid
和 uid
应该如何 实际上 使用的实际问题,如果我的问题是我自己或 GA 的工作方式。
好的,所以 client-id 是随机生成的值,必须与所有点击一起发送。
在未启用 User-ID 的视图中,Client-ID 用于计算唯一用户。在启用 User-ID 的视图中,User-ID 用于计算唯一用户
关于您的应用,您可以发送唯一的 Device id
值来代替 client-id 的随机值。这将解决您的所有问题,并确保客户端 ID 与所有匹配一起发送,否则它不会在 GA
中注册
Background of my specific environment: I am trying to set up GA to track the user journeys around an iOS native app written in React Native. The app is in-house only and all users consent to being tracked in this way.
据我了解,测量协议允许客户端 ID (cid
) 或用户 ID (uid
)。在文档中,两者都是可选的,但至少有一个是必需的。到目前为止是有道理的。客户端 ID 是一个匿名的 UUIDv4,它跟踪浏览器或设备,但不一定是用户。另一方面,用户 ID 是用户的一些唯一标识值,但可能跨越 devices/browsers.
最初我使用 cid
编写我的应用程序(因为我还没有阅读 uid
上的文档)。每次用户登录时,用户的 uuid 将作为 cid
参数存储和发送。我还使用了会话控制 sc
。这行得通——我看到会话进入,用户资源管理器向我显示了各个用户的 uuid 和会话等。但是在重新阅读文档后,这似乎是对 cid
的错误使用。 cid
似乎是为了保持一致,而不是在您登录和注销时发生变化。
因为我的应用程序上的人可以登录和注销(并且可能会 - 工作人员很可能会共享设备),使用特定于设备的持久 cid
将不允许我如上所述,跟踪单个用户的习惯并根据登录会话更改它,感觉不对。
所以我把 cid
换成了 uid
。文档说两者都是可选的,只有在不使用另一个的情况下才需要一个,所以我想我可以只使用 uid
并在该字段中使用用户的 uuid,否则它的行为相同。
然而,当这样做时,在 "real time data" 以及用户资源管理器中似乎根本没有记录任何点击。
是我做错了什么还是设计使然? (如果按照设计,文档说 cid
和 uid
都是可选的是错误的还是我读错了?)
无论哪种方式,在最佳实践方面,我是否:
只需返回使用仅在人们登录和注销时才会更改的临时
cid
。应用程序中的各个会话不会更改 cid,但我确实使用sc
通过导航推理明确开始和结束会话(单击 'home' =sc=end
,从 'home' 导航,sc=start
).像我尝试的那样使用
uid
(即将当前的cid
换成uid
),但也包括一个随机的cid
永远不会改变(无论会话生命周期、登录和注销等)。还有别的吗?
我看过 this question and its answer 但它并没有真正回答我关于 cid
和 uid
应该如何 实际上 使用的实际问题,如果我的问题是我自己或 GA 的工作方式。
好的,所以 client-id 是随机生成的值,必须与所有点击一起发送。 在未启用 User-ID 的视图中,Client-ID 用于计算唯一用户。在启用 User-ID 的视图中,User-ID 用于计算唯一用户
关于您的应用,您可以发送唯一的 Device id
值来代替 client-id 的随机值。这将解决您的所有问题,并确保客户端 ID 与所有匹配一起发送,否则它不会在 GA