从 GA 迁移到 GTM - 需要哪些跟踪代码?



我不确定需要哪些跟踪代码才能让Google Analytics(GA(和Google Tag Manager(GTM(正常工作。我目前正在将以下脚本与 GA 一起使用 ->

<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-xxx-x');
</script>

现在我正在设置 GTM,它也要求我添加以下跟踪代码 ->

<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=
'https://www.googletagmanager.com/gtm.js? 
id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-xxx');</script>

<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-xxx"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

我需要所有这些片段吗?重要的是能够设置事件跟踪并且不丢失任何以前的 GA 数据。

从技术上讲,您正在从 gtag.js 迁移到 GTM(GTM 是一个标签管理器,虽然它本身可用于部署 GA,但它不会跟踪任何内容(。

如果您想通过GTM集成Google Analytics,那么您帖子中的第二个片段是第一个片段的替代品,而不是添加。您需要第二个代码段,然后配置 GTM 以将 Google Analytics 部署到您的页面。对于大多数用例,您甚至不需要 noscript 标签(除非您专门配置在 noscript 模式下运行的标签(。

对于去抖动事件,您可以使用超时将事件推送到数据层,然后使用它来触发 Google Analytics(分析(事件。您可以在网页代码中的某个位置执行此操作,也可以在网页浏览(或 DOM 就绪(事件中触发的自定义 HTML 标记中执行此操作。

setTimeout(dataLayer.push({'event':'deBounce'}),20000);

然后,您创建一个"自定义事件"类型的触发器,并在"事件名称"字段中输入"去抖动"(不带引号(。然后,您可以使用该触发器触发在GTM中设置为事件跟踪的Google Analytics代码(您已经注意到这并不比gtag.js简单,但它还允许您控制非Google代码,因此可能值得付出努力(。

"Event"键在dataLayer对象中很特殊 - Google覆盖了datalayer数组中的本机push-method,以侦听名为"event"的对象键。每当它点击"事件"键时,它都会更新来自 dataLayer 的所有内部变量(这会添加所有新推送的值(,然后允许触发标签。

是的,您需要两个脚本来设置 GTM。 第一个代码最好在网站的头部部分,第二个代码在网站的正文部分。该代码使标签管理器能够通过在页面中插入 gtm.js 来触发标签。 设置GTM后,为了进行跟踪,您可以创建通用分析标签来跟踪事件。查看下面的网址,了解如何使用 GTM 跟踪事件。

https://www.gravitatedesign.com/blog/google-tag-manager-analytics-event-tracking-2018/

最新更新