Google Analytics (GA4) 未从 Google 标签管理器数据层变量读取 userId

问题描述 投票:0回答:3

我正在使用 nextJs 开发一个网站。在实现 GTM 和 Google 分析时,我遇到了 GA4 无法从 Google 标签管理器读取 user_id 属性的问题..

我的代码正在推送事件并触发标签:

标签正在读取正确的值。

这里是以下数据层变量。 Datalayer variables

当我检查 GA4 调试视图时,我看不到正在设置的 user_id。

User Properties
选项卡保持空白,没有任何内容可以填充它..

我尝试过使用第一方cookie来设置实际上有效的user_id,但我面临的问题是当用户注销并清除所述cookie时,GA4仍然设法保存user_id并且不会从未来的事件中清除它。

有人可以指出我正确的方向吗?

next.js google-analytics google-tag-manager
3个回答
0
投票

我也面临着同样的问题,并对此进行了研究。我现在怀疑“GA4 配置”标签只能工作一次,并且无论我触发多少次,它也会设置 user_id 字段。 我认为唯一的方法是重新加载页面刷新GTM标签,但我对这个结论不满意,所以当我找到更好的方法时我会回来。


0
投票

它不起作用,因为您的身份验证事件标记在容器加载后被触发。您可以通过确保在声明 Google 标签管理器容器之前推送到数据层来解决此问题。

我在第 16 行声明我的容器之前推送了我的变量。


0
投票

我找到了解决这个问题的方法。默认情况下,Google Tag 配置为忽略重复的配置调用。当页面初始化期间调用第一个 GA4 Config 时,您的 dataLayer 变量尚未初始化。如果您关闭此标志并使用 user_id 再次触发配置标记,它将像魅力一样工作。 查看此处的文档

© www.soinside.com 2019 - 2024. All rights reserved.