Html5-boilerplate: 现在推荐使用 Google gtag.js 而不是 analytics.js

创建于 2018-01-12  ·  10评论  ·  资料来源: h5bp/html5-boilerplate

在向 Google Analytics 添加新站点时,提供的跟踪代码现在是 gtag.js,它的工作方式与之前推荐的 analytics.js 有点不同。

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-X"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'UA-XXXXXX-X');
</script>

Google Universal Analytics (Analytics.js) 仍然可供用户使用,但我认为我们需要在文档中阐明我们目前在 H5BP 中拥有的有用跟踪片段(匿名 IP 地址、跟踪 jQuery AJAX 请求、跟踪 JavaScript 错误和跟踪页面滚动) 用于analytics.js 而不是gtag.js。

今天我正在将一个站点从 analytics.js 迁移到 gtag.js(遵循本指南:https://developers.google.com/analytics/devguides/collection/gtagjs/migration)所以看看我们有没有可以更新以使用 gtag.js。

如果有人对此有任何其他想法,请加入。

documentation has-pr html

最有用的评论

我发现菲利普沃尔顿的这个评论是一个令人信服的论点,不要切换到gtag.js

关于gtag要注意的另一件事是它并不是真正的analytics.js替代品,它是analytics.js (和其他)之上的包装库,这意味着gtag库仍然需要加载analytics.js ,它需要将所有相关的gtag命令转换为analytics.js命令并运行它们。

截至目前, gtag是 54.5K, analytics.js是 33.7K,而且由于gtag也会加载analytics.js ,所以代码少了 262%功能。 还有一个问题是gtag是特定于站点的(因为您将跟踪 ID 添加为查询字符串),因此您的用户不太可能将其缓存; 另一方面, analytics.js用于整个网络,因此当他们加载您的网站时,它很可能已经在您的访问者缓存中。

因此,出于所有这些原因,我不打算切换到gtag ,因为它最终只会使我的网站需要更长的时间来加载并消耗更多用户的带宽。

所有10条评论

报告你的发现。 (除了更新文档)我已经离开网站工作多年了(相对于超级秘密的 doubleplus 花哨的网络应用程序),我对这些东西一无所知。

我们在哪里着陆?

@coliff

实际上, anonymize_ip适用于 gtag.js 代码片段。

gtag.js 安装:
https://developers.google.com/analytics/devguides/collection/gtagjs/

使用 gtag.js 进行 IP 匿名化:
https://developers.google.com/analytics/devguides/collection/gtagjs/ip-anonymization

例子:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'GA_TRACKING_ID', { 'anonymize_ip': true });
</script>

@Malvoz - 是的,我确信我们为analytics.js 提供的许多跟踪片段脚本(匿名IP 地址、跟踪jQuery AJAX 请求、跟踪JavaScript 错误和跟踪页面滚动)也可以以某种形式使用对于 gtag.js,但实现是不同的......所以使用 gtag 它将是:
gtag('config', 'GA_TRACKING_ID', { 'anonymize_ip': true });
但对于analytics.js,它将是:
ga('create', 'UA-XXXXX-X', 'auto'); ga('set', 'anonymizeIp', true);

跟踪出站链接的脚本也不同,我们拥有的“跟踪 javascript 错误”脚本 (https://github.com/h5bp/html5-boilerplate/blob/master/src/doc/extend.md#track-javascript- errors-in-google-analytics)不适用于 gtag.js,因此需要重写。

总的来说,我发现如果您网站上唯一需要的 Google 脚本/服务是 Google Analytics,那么使用analytics.js会更简单,而不必费心gtag.js

因此,对于 H5BP,我们要么需要更新我们的跟踪脚本以使用gtag.js ,要么添加一个注释,这些脚本仅适用于analytics.js 。 我喜欢添加注释,因为我没有相应的工作脚本。

我发现菲利普沃尔顿的这个评论是一个令人信服的论点,不要切换到gtag.js

关于gtag要注意的另一件事是它并不是真正的analytics.js替代品,它是analytics.js (和其他)之上的包装库,这意味着gtag库仍然需要加载analytics.js ,它需要将所有相关的gtag命令转换为analytics.js命令并运行它们。

截至目前, gtag是 54.5K, analytics.js是 33.7K,而且由于gtag也会加载analytics.js ,所以代码少了 262%功能。 还有一个问题是gtag是特定于站点的(因为您将跟踪 ID 添加为查询字符串),因此您的用户不太可能将其缓存; 另一方面, analytics.js用于整个网络,因此当他们加载您的网站时,它很可能已经在您的访问者缓存中。

因此,出于所有这些原因,我不打算切换到gtag ,因为它最终只会使我的网站需要更长的时间来加载并消耗更多用户的带宽。

我最近做了一些深入的研究,以了解 analytics.js 和 gtag.js 之间的一些差异 - 值得考虑的一件小事是 gtag 不支持 analytics.js 支持的插件格式,所以转向这个可能会破坏一些未来的实施计划,但对于样板来说可能很好。

终于通过 PR 解决了这个问题。 (#2118) - 感谢@jcutrell@TheDancingCode的反馈!
此外,我们将ga('set','transport','beacon');添加到默认分析片段中,以提高性能。

在向 Google Analytics 添加新站点时,提供的跟踪代码现在是 gtag.js,它的工作方式与之前推荐的 analytics.js 有点不同。

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXX-X"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'UA-XXXXXX-X');
</script>

Google Universal Analytics (Analytics.js) 仍然可供用户使用,但我认为我们需要在文档中阐明我们目前在 H5BP 中拥有的有用跟踪片段(匿名 IP 地址、跟踪 jQuery AJAX 请求、跟踪 JavaScript 错误和跟踪页面滚动) 用于analytics.js 而不是gtag.js。

今天我正在将一个站点从 analytics.js 迁移到 gtag.js(遵循本指南:https://developers.google.com/analytics/devguides/collection/gtagjs/migration)所以看看我们有没有可以更新以使用 gtag.js。

如果有人对此有任何其他想法,请加入。

以下扩展可能有用

Magento 1 Gtag 扩展

Magento 2 Gtag 扩展

我用了几年的 ga,今天我发现 google 分析代码推荐从 ga 更改为 gtag。 我很困惑为什么谷歌将 ga 更新为 gtag,有什么好处?

@fbens ,它使用一个跟踪添加所有谷歌跟踪,包括 GA、AdWords、再营销、优化器等。它用于多个跟踪,而不仅仅是 GA。 希望能帮助到你

此页面是否有帮助?
0 / 5 - 0 等级