在尝试设置跨域跟踪时,我遵循了本指南,但我们的网站对于 GA4 自动标记来说有点过于复杂,无法处理。尽管我已经成功地保留了
_gl
查询参数一直到其他站点,但仍然存在跨域跟踪无法正常运行的情况;可能是因为在某些情况下需要在会话开始后添加参数。
这就是说,我现在想尝试手动方法,其中涉及获取
client_id
和session_id
并将它们传递到另一个站点,然后在那里手动设置它们。但是,我们正在使用 GTM,文档中建议的方法在这种情况下似乎不起作用,因为全局 gtag
对象不可用。
如何获取和设置通过 GTM 实现的 GA4 中的
client_id
和 session_id
?
虽然没有明确针对此场景的文档,也没有任何文档表明您在使用标准片段时没有得到
gtag
,但我确实发现了一个解决方案隐藏在一些不相关的文档中。其他文档中提到的 gtag
只是一个将其参数直接传递给 push
的 dataLayer
函数的函数。
function gtag() {
window.dataLayer.push(arguments);
}
现在我们可以将其用于
gtag
的所有其他记录功能。
gtag("get", MEASUREMENT_ID, "client_id", (v) => console.log(v));