对 Analytics 和 Tag Manager JavaScript 片段的混淆
Confusion over Analytics and Tag Manager JavaScript snippets
我已将以下代码粘贴到我所有页面的 <head>
部分以连接到 Google Analytics:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-*********-*"></script>
<!-- Google Analytics -->
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-*********-*');
</script>
<!-- End Google Analytics -->
我看到 this article 谈到从 Analytics.js 升级到 gtag.jas。我相信我已经在使用新版本,所以我相信我不需要做任何更新...
同时,我创建了一个 Google 标签管理器帐户,并为我的 Google 分析创建了一个标签。跟踪代码管理器要求我将以下代码添加到我的 <head>
和 <body>
<!-- Google Tag Manager -->
<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', 'G**-*******');</script>
<!-- End Google Tag Manager -->
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=G**-*******"
height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
问题
前一个和后一个 .js 片段有什么区别?我是否需要将它们都包含在我的页面上,或者其中一个就可以完成这项工作?
目前,我只使用以前的代码,我的 Google 分析工作正常...我只是搞不清楚跟踪代码管理器代码段的用途是什么,以及是否需要将其包含在我的代码?
第一个是全局站点代码 (gtag.js)。它使用类似的基础设施,因此引用 https://www.googletagmanager.com。但是,它仅适用于 Google 标签,并且您在代码中配置它们,而不是在 Web UI 中配置它们。如果您只有 Google Analytics(分析)和 Google 广告,并且不要经常更改您的设置,那就太好了。
第二个代码段用于 Google 标签管理器 (GTM),这是一个 Google 工具,它提供了一个用户界面来通过网络界面部署和删除跟踪标签(通常它们被捆绑到一个 Javascript 文件,然后注入到页面中)。稍微多一点开销(在页面性能和所需的学习曲线方面),但如果您的跟踪要求经常变化,您可以进行所有必要的更改,而无需触及代码或重新部署您的站点。 GTM 还提供几种不同的容器类型,例如对于 AMP 页面(没有 运行 gtag),或服务器端标签管理。
我已将以下代码粘贴到我所有页面的 <head>
部分以连接到 Google Analytics:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-*********-*"></script>
<!-- Google Analytics -->
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-*********-*');
</script>
<!-- End Google Analytics -->
我看到 this article 谈到从 Analytics.js 升级到 gtag.jas。我相信我已经在使用新版本,所以我相信我不需要做任何更新...
同时,我创建了一个 Google 标签管理器帐户,并为我的 Google 分析创建了一个标签。跟踪代码管理器要求我将以下代码添加到我的 <head>
和 <body>
<!-- Google Tag Manager -->
<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', 'G**-*******');</script>
<!-- End Google Tag Manager -->
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=G**-*******"
height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
问题
前一个和后一个 .js 片段有什么区别?我是否需要将它们都包含在我的页面上,或者其中一个就可以完成这项工作?
目前,我只使用以前的代码,我的 Google 分析工作正常...我只是搞不清楚跟踪代码管理器代码段的用途是什么,以及是否需要将其包含在我的代码?
第一个是全局站点代码 (gtag.js)。它使用类似的基础设施,因此引用 https://www.googletagmanager.com。但是,它仅适用于 Google 标签,并且您在代码中配置它们,而不是在 Web UI 中配置它们。如果您只有 Google Analytics(分析)和 Google 广告,并且不要经常更改您的设置,那就太好了。
第二个代码段用于 Google 标签管理器 (GTM),这是一个 Google 工具,它提供了一个用户界面来通过网络界面部署和删除跟踪标签(通常它们被捆绑到一个 Javascript 文件,然后注入到页面中)。稍微多一点开销(在页面性能和所需的学习曲线方面),但如果您的跟踪要求经常变化,您可以进行所有必要的更改,而无需触及代码或重新部署您的站点。 GTM 还提供几种不同的容器类型,例如对于 AMP 页面(没有 运行 gtag),或服务器端标签管理。