多个可以是 user_id 的 GTM 变量 - 如何将正确的变量发送到 GA4?

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

我管理的网站会根据用户的旅程在多个不同的地方公开用户的唯一 ID。用户 ID 可以从数据层、引用 URL 参数或页面参数中检索。

在 GTM 中,我检索用户 ID 并存储在 5 个不同的变量中,其中只有 1 个具有实际 ID - 其他将为 NULL 值。

如果我想使用

user_id
事件参数将实际用户 ID 发送到 GA4,如何选择可能位于 5 个变量之一中的值而不用 NULL 覆盖正确的值?

我可以想象 JS 脚本可以做到这一点,但我不知道它会在哪里运行和执行。

google-tag-manager google-analytics-4
1个回答
0
投票

您可以在 GTM 中创建自定义 Javascript 变量 - 它采用必须返回值的匿名函数的形式,并且您可以在其中运行一些 if/else 子句。

自定义 Javascript 变量使用 eval 运行,速度有点慢,并且可能无法在所有内容安全策略下工作,但除非您专门设置 CSP,否则可能并不重要。

GTM 更“原生”的方式是默认值。在一个变量中,如果某个值未定义(不确定它是否适用于空值),您可以使用另一个变量作为默认值。

所以你会有一个数据层变量“user_id_from_dl”。然后将默认值设置为 url 变量“user_id_from_url”。然后将该默认值设置为“user_id_from_global_var”或任何您的来源。

然后你可以使用 user_id_from_dl 变量,如果该值未定义,它将默认为下一个,级联所有默认值,直到最终找到一个未定义的值。

缺点是这不一定是最透明的解决方案。

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