我们的Google跟踪代码管理器正在我们的网站上运行。我曾经将它以及其他一些非紧急脚本放在页面加载时间为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-###'});
}());
答案 0 :(得分:1)
您可以使用GTM来利用页面上的各种触发器,并将不同的标签链接到这些事件。初始化GTM后,启动页面浏览触发器。加载页面时将启动DOM触发器,而加载所有资源时将启动“窗口加载”触发器。您可以使用它们推迟非时间紧迫的标签,脚本和工具的启动。 support article中提供了有关这些触发器的更多详细信息。