我们的网站上运行着谷歌标签管理器。我曾经将它以及其他一些非紧急脚本放在页面加载时 3.5 秒的 javascript“setTimeout”中,这是我用来在许多性能测试工具上给出出色性能分数的技巧。但是,由于 setTimeout 的延迟,同样在运行的 Google Optimize 不会在我们的网站上验证 - 它仅在页面加载时运行且没有计时器延迟时才有效。
在将 GTM 移出超时后,它使我们的性能得分从 90 左右下降到 20 到 40 之间。
我知道这可能是由于在 GTM 中加载了什么,但我没有能力不在那里加载其中的一些项目。
我想知道在这种情况下是否有其他方法可以提高页面速度性能,在这种情况下我需要 GTM 和 Google 优化页面加载。我们网站上的大多数其他性能项目已经优化,这就是为什么这个下降如此令人震惊。
我试图将此 GTM 标记移动到页脚,并将其设置为使用 window.onload 加载,但没有运气。此外,它已经使用异步进行了设置。
这就是我现在设置的,但它正在扼杀性能。
(function () {
var e = document.createElement('script');
e.async = true;
e.src = 'https://www.googletagmanager.com/gtag/js?id=UA-###';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(e, s);
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-###', {'optimize_id': 'GTM-###'});
}());