我一直在进行从Universal到Google 4的迁移,并且正在考虑同时切换到Google。我正在努力确保网站上的初始代码能够正常工作。
下面是我们以前在Analytics中使用的内容:
<script async src="https://www.googletagmanager.com/gtag/js?id=[analytics id]"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag( 'js', new Date() );
gtag( 'config', '[analytics id]', {"optimize_id":"[optimize id]"} );
gtag( 'config', '[ads id]' ); // this is a different ID than the Analytics one
</script>Google标记管理器如下所示:
<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.'+'js?id='+i+dl+'>m_auth=[environment auth code]>m_preview=[environment id]>m_cookies_win=x';f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','[tag manager id]');
</script>在Analytics代码中,我可以使用config方法为(通用)分析和谷歌广告提供ID。在新的标记管理器代码中,似乎只有一个Google标记管理器ID。
我知道我可以添加一些东西,比如Google Analytics 4,Universal Analytics,Google add,Google Ads转换等等,在Google标记管理器中,它们都有自己的ids。但是,是否有一个等价于这个初始的config方法?或者是标记管理器自己处理的东西?
发布于 2022-11-23 01:00:23
GTM负责处理。如果尚未加载,每个标记类型都将加载其各自的库(最好让GTM按需要加载其内容),如果它适用于库/标记类型并根据需要触发事件,则执行config方法。
如果没有定义,GTM也将定义dataLayer。它还将劫持gtag中的dataLayer,因此不需要定义gtag()函数。基本上,在代码中使用gtag所能做的任何事情都最好通过GTM来完成,所以如果您通过GTM正确地进行跟踪,您甚至都不会触摸gtag。
在GTM世界中,dataLayer成为前端和GTM逻辑之间的一种通信工具,而不是像gtag()所提供的那样,将无头脑的代理直接指向GA端点。
对于GA4对不同度量it的双重跟踪非常有用,Killan在测量松弛中刚刚发现了它。您可以在GA4配置标记中提供逗号分隔的度量ids,如下所示:

只需从该变量返回字符串中以逗号分隔的度量ids即可。但这似乎是一个无文档的、未完成的特性,所以要谨慎使用。
https://stackoverflow.com/questions/74540062
复制相似问题