结合 Google 分析 (gtag.js) 和 Google 跟踪代码管理器 (gtm.js)
Combining Google Analytics (gtag.js) and Google Tag Manager (gtm.js)
Google 使用 Google 标签管理器将 Analytics 新迁移到 "Global site tag" 让我很困惑。它是跟踪代码管理器,但它不是!?
常规 Google 跟踪代码管理器 集成如下所示:
<!-- 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','GTM-XXXXXXX');
</script>
Google Analytics Global 站点代码 集成如下:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXXX-X"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXXXXX-X');
</script>
它们加载不同的资源。但是都发起了dataLayer的push方法。创建对象的方式不同(假设这两种方式可以互换)。尽管一个实现中的 dataLayer 对象与另一个实现冲突,我们是否应该并排使用这两个集成?
旁注。这两种资源都与 jQuery 1.9.1 捆绑在一起。虽然加载和实例化 jQuery 两次并不是最佳选择,(如果我们在此之上有自己的 jQuery 则三次)。有任何解决方法或建议吗?
If you are already using Tag Manager, you should continue to do so. If you don't need a tag management system, it is fine to use the gtag.js tracking codes provided by each product.
Tag Manager and gtag.js are built on the same infrastructure, and should work properly if deployed on the same page.
全局站点代码 (gtag.js
) 是使用 analytics.js
与其他代码的新方法Google AdWords 或 DoubleClick 等产品。
事实上,gtag.js
会加载与其他库相邻的旧 analytics.js
,具体取决于您配置的服务。如果您使用 gtag('config', 'AW-XXXXXXXX-X');
的 AdWords 帐户配置它,脚本也会自动加载 conversions.js
。此外,gtag.js
还对服务进行一些基本的初始化,例如触发 Analytics 的网页浏览命中或 AdWords 的再营销命中。
话虽如此,它确实有点像标签管理器。但是,它仅适用于 Google 产品。因此,它更像是通过将所有标签包装成一个标签来简化各种 Google 标签的配置。
请务必注意,如果您要设置新的 Google Analytics(分析)帐户,您将获得全局网站代码格式的跟踪代码!你别无选择。
另一方面,与大多数标签管理系统一样,Google 标签管理器 使您能够管理 Google 产品套件之外的标签。它带有用户界面、版本控制、访问管理和所有其他花哨的东西。与 analytics.js
一样,gtag.js
只是另一个 JavaScript 库,标签管理器可以与之通信。
Google 使用 Google 标签管理器将 Analytics 新迁移到 "Global site tag" 让我很困惑。它是跟踪代码管理器,但它不是!?
常规 Google 跟踪代码管理器 集成如下所示:
<!-- 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','GTM-XXXXXXX');
</script>
Google Analytics Global 站点代码 集成如下:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXXX-X"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXXXXX-X');
</script>
它们加载不同的资源。但是都发起了dataLayer的push方法。创建对象的方式不同(假设这两种方式可以互换)。尽管一个实现中的 dataLayer 对象与另一个实现冲突,我们是否应该并排使用这两个集成?
旁注。这两种资源都与 jQuery 1.9.1 捆绑在一起。虽然加载和实例化 jQuery 两次并不是最佳选择,(如果我们在此之上有自己的 jQuery 则三次)。有任何解决方法或建议吗?
If you are already using Tag Manager, you should continue to do so. If you don't need a tag management system, it is fine to use the gtag.js tracking codes provided by each product.
Tag Manager and gtag.js are built on the same infrastructure, and should work properly if deployed on the same page.
全局站点代码 (gtag.js
) 是使用 analytics.js
与其他代码的新方法Google AdWords 或 DoubleClick 等产品。
事实上,gtag.js
会加载与其他库相邻的旧 analytics.js
,具体取决于您配置的服务。如果您使用 gtag('config', 'AW-XXXXXXXX-X');
的 AdWords 帐户配置它,脚本也会自动加载 conversions.js
。此外,gtag.js
还对服务进行一些基本的初始化,例如触发 Analytics 的网页浏览命中或 AdWords 的再营销命中。
话虽如此,它确实有点像标签管理器。但是,它仅适用于 Google 产品。因此,它更像是通过将所有标签包装成一个标签来简化各种 Google 标签的配置。
请务必注意,如果您要设置新的 Google Analytics(分析)帐户,您将获得全局网站代码格式的跟踪代码!你别无选择。
另一方面,与大多数标签管理系统一样,Google 标签管理器 使您能够管理 Google 产品套件之外的标签。它带有用户界面、版本控制、访问管理和所有其他花哨的东西。与 analytics.js
一样,gtag.js
只是另一个 JavaScript 库,标签管理器可以与之通信。