我特定环境的背景:我正在尝试设置GA来跟踪用React Native编写的iOS本机应用程序的用户旅程。该应用程序仅在内部,所有用户同意以这种方式进行跟踪。
据我了解,测量协议允许客户端ID(cid
)或用户ID(uid
)。在文档中,两者都是可选的,但至少需要一个。到目前为止有道理。客户端ID是匿名UUIDv4,用于跟踪浏览器或设备,但不一定是用户。另一方面,用户ID是用户的唯一标识值,但可能跨设备/浏览器。
最初我使用cid
编写了我的应用程序(因为我还没有阅读uid
上的文档)。每次用户登录时,用户的uuid都将被存储并作为cid
参数发送。我还使用了会话控制sc
。这工作 - 我看到会话进来,用户浏览器向我展示了个人用户uuids和会话等。但在重新阅读文档时,这似乎是对cid
的错误使用。似乎cid
意味着一致,而不是在您登录和退出时发生变化。
由于我的应用上的人可以登录和退出(并且可能会 - 工作人员可能会共享设备),因此使用特定于设备的持久cid
将无法跟踪如上所述,个人用户的习惯以及每次登录会话的更改都会让他感觉不对。
所以我为cid
切换了uid
。文档说两者都是可选的,只有在不使用另一个时才需要一个,所以我想我可以使用uid
并在该字段中使用用户的uuid,否则它的行为相同。
然而,当这样做时,似乎根本没有注册点击 - 在“实时数据”和用户浏览器中。
我做错了什么还是这个设计? (如果按照设计,说cid
和uid
的文档都是可选的,或者我读错了吗?)
无论哪种方式,最好的做法明智,我:
回到使用仅在人们登录和退出时更改的短暂cid
。应用中的各个会话不会更改cid,但我会使用sc
通过导航推断显式启动和结束会话(点击'home'= sc=end
,从'home'导航,{{1 }})。
在我尝试时使用sc=start
(即切换uid
的当前cid
),但也包括永不改变的随机uid
(无论会话生命周期,登录和退出等等。)
还有别的吗?
我看过this question and its answer但它并没有真正回答我关于cid
和cid
应该实际如何使用的实际问题,如果我的问题是我或GA的工作方式。
答案 0 :(得分:0)
Oki所以client-id是随机生成的值,必须与所有命中一起发送。 在非用户ID启用的视图中,Client-ID用于计算唯一用户。在启用User-ID的视图中,User-ID用于计算唯一用户
参考您的应用,您可以发送唯一的Device id
值代替client-id 的随机值。这将解决您的所有问题,并且确保客户端ID与所有匹配一起发送,否则它将不会在GA中注册