google-analytics - 如何使用 GTM 更新 Google Analytics 用户 ID?

标签 google-analytics google-tag-manager

使用 gtag.js 我可以通过以下方式更改用户 ID:

gtag('config', 'G-XXXXXX', {
  'user_id': '12345'
});

如果使用 GTM,如何更改 Google Analytics 使用的用户 ID?

我目前所做的是在GTM中添加一个变量,并将其作为用户属性“user_id”的值插入到分析的TAG中。

问题在于,通过这种方式,Analytics 会使用初始 user_id 值进行初始化。但就我而言,在单页应用程序上使用它时,用户 ID 可以在初始化 GTM 和 Analytics 后更改,并且 dataLayer.push({ 'user_id': 'xxx' }) 对 Analytics 没有影响。

最佳答案

dataLayer.push({ 'user_id': 'xxx' }) 本身可能没有效果,但这是因为您没有告诉 GTM 更新其内部状态。

GTM 使用一些自定义代码覆盖数据层数组的“push”方法,其中包括扫描推送的对象以查找具有保留名称“event”的键。仅当它找到该键时,才会实际评估已推送到数据层的数据,并且在 GTM 界面的“变量”选项卡中配置的变量会采用新值(如果确实已在其中设置了新值)新添加的数据层对象。 “事件”键还允许您创建一个触发器来触发具有更新值的标签。

如果你这样做

dataLayer.push(
{ 
  'user_id': 'xxx',
  'event': 'updateUserId' 
}); 

您在 GTM 中的 user_id 变量将被分配新值,并且您可以创建一个事件名称为“updateUserId”的“自定义事件触发器”。例如,您可以使用新值向 Google Analytics 发送请求(我不得不说变量名“user_id”对于您显然希望进行大量更改的内容有点不满意)。

如果推送后发生自动事件,例如,该值也会更新。有效的点击触发器或类似触发器。

关于google-analytics - 如何使用 GTM 更新 Google Analytics 用户 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70203758/

相关文章:

php - 如何在Wordpress中添加Google的utm_source变量?

google-analytics - Google Analytics 和标签管理器,支持自定义页面路径吗?

google-analytics - 在 Google Tag Manager 上设置 Live 环境的正确方法是什么?

google-tag-manager - Google 标签管理器丢失 "Click Elements"

php - 跟踪网站中的用户事件 - 谷歌分析

google-analytics - 谷歌分析(或标签管理器)卡在 Debug模式

google-analytics - Google Analytics API 中关键字访问和 API 关键字访问之间的差异

ios - Google Analytics(分析):GANTrackerError 195946409-原因?

google-analytics - Google Tag Manager + Analytics 似乎不起作用

java - 无法获取设备 IMEI