从 GTM 脚本中减少未使用的 JavaScript

Posted

技术标签:

【中文标题】从 GTM 脚本中减少未使用的 JavaScript【英文标题】:Reduce unused JavaScript from GTM script 【发布时间】:2021-11-25 16:34:01 【问题描述】:

如Google Tag Manager docs 中所述,我将 GTM javascript 包含在我的 Next.js 网站的 <head> 标记中,如下所示:

// pages/_app.js

  return (
    <>
      <Head>
      <script dangerouslySetInnerhtml= __html: `(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-xxxxxx');`  ></script>
      </Head>
...

这样做会在 Google PageSpeed Insights 上发出警告:

有什么建议吗?

【问题讨论】:

【参考方案1】:

可以使用 wp Rocket 解决渲染阻塞问题。因为它有这个选项来消除这些阻塞。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案2】:

您应该牢记,Google 页面速度分析非常通用。它们不是世界上最后一个真实的例子。虽然它对很多网站都很有用,但它旨在让您深入了解它计算出的可能有用的东西。相当通用的计算。

是的,Google 灯塔往往不赞成 TMS。也许是因为他们倾向于覆盖一些本机方法,也许是因为 TMses 在其中有评估,也许是由于他们在初始化时立即部署的事件侦听器的数量。如果要查看 TMS 性能,可以将空 GTM 容器与实际容器的性能结果进行比较。如果这种差异是真实且显着的,那么也许是时候开始优化 GTM 逻辑了。

【讨论】:

以上是关于从 GTM 脚本中减少未使用的 JavaScript的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用标签触发综合浏览量?

GTM 中的错误:此语言功能仅支持 ECMASCRIPT_2015 或更好的模式:const 声明

解析 xhr.responseText | GTM 数据层推送

从 SPA 中的 URL 中删除 PII (GTM/GA4)

以编程方式在页眉中添加javascrip引用(或完整脚本)

3.1 .1Google Tag Manager基础知识——GTM简介