将用户 ID 从 Google 跟踪代码管理器发送到 Google Analytics 4
Send User ID from Google Tag Manager to Google Analytics 4
我已经使用我的 GA4 属性
设置了 google 标签管理器
(不是旧版 Universal Analytics)
根据官方指南:
https://support.google.com/tagmanager/answer/6103696?hl=en&ref_topic=3441530#zippy=%2Cweb-pages
我已经弄清楚如何使用
将 custom/recommended 事件发送到 GA4
dataLayer.push({}) 个对象,在触发器和标签中使用它们的“事件”字段,
基于 Universal Analytics 指南
(https://www.analyticsmania.com/post/track-logins-with-google-tag-manager/),
因为这在官方指南中似乎是一个黑洞:
https://support.google.com/tagmanager/answer/9442095
仅简要描述了故事的 GTM 方面。
发送用户 ID 也是如此:文档只告诉
创建 Google Analytics 4 配置标签时:
To set a user ID, add a row to Fields to Set.
Set the Field Name to user_id, and the Value to
a Tag Manager Variable that returns the user ID.
我只从外部用户获取指南中获取知识
使用从数据层读取 user_id 字段的数据层变量,
并在 Google Analytics 上创建相应的 user_id 用户 属性,
在 Universal Analytics 中用于
具有不再存在的相关设置
(https://www.analyticsmania.com/post/google-analytics-user-id-with-google-tag-manager/).
所以我已经使用 user_id
数据层变量
部署了我的 GA4 事件
在他们的配置中引用(它在调试视图的数据层上可见),
在 GA 中创建了相应的用户 属性,并启用了用户 ID 报告。
然而,在我的实时视图中,user_id
字段总是得到一些奇怪的“gtm.js”值
(好像我的数据层变量值被事件名称替换了
从默认 dataLayer.push({event:"gtm.js",user_id:"ignored value"))。
要识别我的 user_id 字段,到底缺少什么?
谢谢!
所以最后结果是,
因为配置标记是由 Page View 事件触发的,
那是在我将 user_id 推到数据层之前发生的,
所以它用事件名称填充了不存在的值。
我给 user_id 事件命名来创建一个自定义事件触发器,
重新触发配置标签。
这样 user_id-s 终于可见了。
谢谢@bpstrngr!兜兜转转了好久才找到答案。
逐步阐明步骤,以防其他人遇到此问题;
- 在
dataLayer
中发送 userId 时添加事件名称:
window.dataLayer.push({
'userId' : '{{ myUserId }}',
'event': 'userIdSet',
})
在 GTM 中,创建一个 Custom Event
触发器来侦听该事件(将事件名称设置为您在步骤 1 中编写的任何事件):
将此事件作为触发触发器添加到您的代码中:
我已经使用我的 GA4 属性
设置了 google 标签管理器
(不是旧版 Universal Analytics)
根据官方指南:
https://support.google.com/tagmanager/answer/6103696?hl=en&ref_topic=3441530#zippy=%2Cweb-pages
我已经弄清楚如何使用
将 custom/recommended 事件发送到 GA4
dataLayer.push({}) 个对象,在触发器和标签中使用它们的“事件”字段,
基于 Universal Analytics 指南
(https://www.analyticsmania.com/post/track-logins-with-google-tag-manager/),
因为这在官方指南中似乎是一个黑洞:
https://support.google.com/tagmanager/answer/9442095
仅简要描述了故事的 GTM 方面。
发送用户 ID 也是如此:文档只告诉
创建 Google Analytics 4 配置标签时:
To set a user ID, add a row to Fields to Set.
Set the Field Name to user_id, and the Value to
a Tag Manager Variable that returns the user ID.
我只从外部用户获取指南中获取知识
使用从数据层读取 user_id 字段的数据层变量,
并在 Google Analytics 上创建相应的 user_id 用户 属性,
在 Universal Analytics 中用于
具有不再存在的相关设置
(https://www.analyticsmania.com/post/google-analytics-user-id-with-google-tag-manager/).
所以我已经使用 user_id
数据层变量
部署了我的 GA4 事件
在他们的配置中引用(它在调试视图的数据层上可见),
在 GA 中创建了相应的用户 属性,并启用了用户 ID 报告。
然而,在我的实时视图中,user_id
字段总是得到一些奇怪的“gtm.js”值
(好像我的数据层变量值被事件名称替换了
从默认 dataLayer.push({event:"gtm.js",user_id:"ignored value"))。
要识别我的 user_id 字段,到底缺少什么?
谢谢!
所以最后结果是, 因为配置标记是由 Page View 事件触发的, 那是在我将 user_id 推到数据层之前发生的, 所以它用事件名称填充了不存在的值。
我给 user_id 事件命名来创建一个自定义事件触发器, 重新触发配置标签。 这样 user_id-s 终于可见了。
谢谢@bpstrngr!兜兜转转了好久才找到答案。
逐步阐明步骤,以防其他人遇到此问题;
- 在
dataLayer
中发送 userId 时添加事件名称:
window.dataLayer.push({
'userId' : '{{ myUserId }}',
'event': 'userIdSet',
})
在 GTM 中,创建一个
Custom Event
触发器来侦听该事件(将事件名称设置为您在步骤 1 中编写的任何事件):将此事件作为触发触发器添加到您的代码中: