Google Analytics 脚本片段 analytics.js 和 gtag.js 之间的区别

Difference between Google Analytics script snippets analytics.js and gtag.js

在其中一个网站上设置 Google Analytics 我发现提供用于嵌入 Analytics 设置的跟踪代码片段与我在设置另一个网站时使用的语法和链接的 JS 脚本不同属性几年前。

代码段 #1 (gtag.js) - 由 Analytics 设置提供

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXX-Y"></script>
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'UA-XXXX-Y');
</script>

片段 #2 (analytics.js) - 在旧网站中使用

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXX-Y', 'auto');
ga('send', 'pageview');

Documentation 一般是指从 analytics.js 到 gtag.js 的迁移,但没有任何具体的截止日期。因此,当我仍在旧网站上使用 analytics.js 时,问题出现了:

在收集的数据和网站性能方面,使用 gtag.js 与 analytics.js 有何不同(如果有)?

此外,当我迁移到旧站点上的 gtag.js 时,Google Analytics 在收集数据时是否存在任何已知的问题? 就像某些数据可能会丢失 "propagation" 期间或类似的...

提前致谢!

gtag.js 不是 analytics.js 的替代库,它是 analytics.js 库的新实现方法。当您查看使用 gtag.js 加载到页面上的 javascript 时,您会看到 analytics.js 正在通过 gtag.js 加载。所以数据收集是一样的。

我会说只有在需要时才更改它,否则,请保持原样。 analytics.js 没问题。我会说 gtag.js 在实施方面可能比 analytics.js 更复杂,只是因为它是新的并且有些人更习惯 analytics.js 并且会混淆 gtag() 和 ga()函数。

Gtag 是一个 javascript 库,用于将事件发送到各种标签,例如 google 分析、floadlight、google 广告等减少为发送数据的不同标签编写不同代码的负担。

另一方面,analytics.js 是一个仅用于将数据发送到 google 分析的 js 库。

最后我可以说,如果你只想在你的项目中使用 analytics.js 那么 analytics.js 就可以了,但是如果有计划添加任何其他 google 服务那么它最好使用 Gtag.js 让事情变得简单。

注意:您还可以关注GTM(google标签管理器),它会提供更多支持功能像第三方标签支持,而 Gtag 只支持 google 服务。