我通过 GTM 加载了 google Analytics 4,并且我一直在努力向“增强测量”事件添加自定义维度。阅读完 some other answers 后,我确定是的,在
'config'
调用跟踪 id 时设置尺寸(我可以在 GTM 中的“要设置的字段”下执行此操作),但是 'config'
似乎它不会对已使用 GA4 配置的跟踪器进行后续调用(使用 UA 会执行某些操作)。
正如其他问题中所讨论的,
'set'
操作似乎没有执行任何操作,并且我没有手动调度“增强收集”事件,因此我无法手动指定调用中的参数。
配置跟踪器后,有什么方法可以为“增强测量”事件添加参数吗?
一个最小的例子:
gtag('set', {'dimension1': 'test1'})
gtag('config', 'G-XXXXX', {dimension2: 'test2'})
gtag('set', {'dimension3': 'test3'})
gtag('event', 'test', {send_to: 'G-XXXXXX', foobar: 'baz'})
调试器显示事件参数: en: 测试 _ee:1 ep.dimension2:测试2 ep.foobar: baz
在页面导航上,自动增强收集事件如下所示: en: 页面视图 ep.dimension2:测试2 _等:922
但是,当使用旧的 GA 帐户时:
gtag('config', 'UA-XXXXXX')
gtag('event', 'test', {send_to: 'UA-XXXX', foobar: 'baz'})
它显示所有设置的尺寸: “维度1”:“测试1” “维度3”:“测试3” "&jsscut": "1" “hitCallback”:[功能] “hitType”:“事件” “事件类别”:“一般” “事件动作”:“测试”
为什么 G4 集成无法按设定尺寸进行?配置跟踪器后,除了将尺寸包含在事件调用中之外,还有什么方法可以修改尺寸
好的,把问题挖出来。 Google 对于推送与 GA4 相关的新内容的方式有点奇怪。去年八月,谷歌推出了一项新功能。忽略“重复”的配置调用。并默认启用它。虽然这个想法似乎有点荒谬,但当您意识到这是一次偷偷更新而没有通知我们或记录它时,它会变得更加荒谬。
无论如何:
是的,gtag.js 的行为是根据 GA4 媒体资源的配置进行配置的。您可以通过此用户界面在库中配置更多内容。其中之一是跨域链接规则。
感谢 Angela Grammatas 和 Todd Bullivant 在 Measure slack 上帮助解决这个问题:)
除此之外,并行使用 GTM 和 gtag() 有点奇怪。将导致技术债务的聚集。最好通过 dataLayer 将所有直接 gtag() 调用迁移到 GTM。
除了来自 @bnazaruk 的正确信息(尚未记录)之外,我还发现对
gtag('config',...)
的后续调用会覆盖先前调用中的值,而不是合并它们。文档似乎表明它们是合并而不是替换,我觉得这就是几年前我上次不得不设置这样的东西时所做的事情。为了保留以前的config
对象,我还必须这样做
const oldConfig =
window.dataLayer.find((args) => args['0'] === 'config')?.['2'] ?? {};
gtag('config', '<GA_KEY>', {
...oldConfig,
new_prop: 'blahblah'
});
仅添加配置调用的第一个实例,因为这是我唯一关心的,但您可以轻松更改对过滤器的
find
调用或减少以获取所有这些