谷歌标签管理器和页面加载性能:在PageSpeed Insights中它会降低性能吗?

5
我知道这可能有点模糊,但是我将提供更多的背景信息:在我工作的公司中,我们使用(我个人认为我们误用了)Google Tag Manager (GTM)来注入一些第三方脚本到GTM标签中。我们通常使用它来操纵某些页面模板(例如产品页面)中的DOM,并注入第三方脚本(例如Zopim聊天,Facebook像素等)。我们通常会在页面加载时,当DOMContentLoaded和/或load事件发生时操纵DOM,因此我认为如果没有这些GTM标签,我们的网站在PageSpeed InsightsChrome DevTools' Lighthouse中会得到更好的分数。由于它已经无处不在地存在于网站上,因此我无法在未激活GTM标签的情况下测试网站。
这种使用GTM的方式会对我们的网站速度造成多大的影响?
3个回答

6

您可以通过几种不同的方式了解GTM和第三方标签的性能影响。

通过开发人员工具
您可以在浏览器开发人员工具中阻止gtm.js。这将防止加载Google标签管理器和相关标签。您可以在此处了解更多有关该功能的信息完成后,您可以从浏览器运行Google Lighthouse,以查看得分如何改善。

通过Webpagetest
您还可以使用Webpagetest来了解没有第三方标签的性能。 Webpagetest具有请求拦截功能,或者您可以使用以下Webpagetest脚本仅测试您的第一方域的性能。

blockDomainsExcept   yourwebsite.com
navigate  https://yourwebsite.com

这是为了衡量第三方脚本对性能的影响。如果直接在网站中包含第三方脚本而不使用GTM,则可能会得到类似的结果。话虽如此,有方法可以为性能优化您的GTM设置,并充分利用标签管理器的功能来提高网站性能。如果您有兴趣优化您的GTM设置,可以查看此文章。


关于 DevTools 中的资源阻塞器的观点很好,非常有用! :)我正在阅读您提供的文章,并且对使用 <img /> 标签放在 <noscript>…</noscript> 块中这样的解决方案的浏览器兼容性很感兴趣,您是否直接进行过测试?感谢您在解释所有这些方面的努力! - vcoppolecchia

4
注入标签是GTM的用途,因此这并不构成滥用。
GTM本身只是一种传递机制;它是一个JS文件(如果您的浏览器支持压缩,则我认为空容器未经压缩约为100KB,下载时约为30KB),具有异步加载标签的机制。单独使用它对页面加载时间的贡献非常小。
当然,您通过GTM部署的内容可能会严重拖慢您的网站 - 部分原因是它会下载外部库,部分原因是DOM操作可能会迫使浏览器进行回流/重绘。但是这不是由于GTM,而是由于您使用的标签,如果您通过其他方式集成Zopim等,情况也将完全相同。
那么,使用大量(可能是糟糕的[1])JavaScript会使您的网站变慢吗?很可能是的。这是GTM的错吗?不是,除了在GTM使整合这些不良内容变得更容易的意义上。
[1] 并不是指责您,只是因为营销标签通常使用过时的JavaScript编写。

1
我的主要关注点之一与这个问题有关:Lighthouse/PageSpeed Insights是否忽略或不使用gtm.js我记得以前Google PageSpeed会抛出与他们自己的分析JavaScript文件相关的性能问题,所以我认为他们不会忽略自己的js文件,但说实话...谁知道呢!:D感谢您的回答! - vcoppolecchia
@vcoppolecchia - 我完全同意。但是谷歌仍然没有忽略GTM文件。移除GTM可以提高我的PSI(页面速度洞察)得分5分。 - Vimal Maheedharan

2
是的,它会降低Lighthouse性能得分,特别是移动端。我们在向网站添加GTM时必须非常小心,特别是对于首页。对于我的网站,GTM从不同的域注入了另外5个JS文件。这增加了我们应用程序的往返时间(RTT),反过来又给浏览器增加了更多负载。
当我从我的主页中删除GTM时,它将Lighthouse性能得分提高了5个点。因此,GTM本身应该提供某种建议/见解,无论它是否会影响我们的网站。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接