3

我们的网站上运行着谷歌标签管理器。我曾经将它以及其他一些非紧急脚本放在页面加载时 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-###'});
        }());
4

1 回答 1

1

您可以使用 GTM 来利用页面上的各种触发器,并将不同的标签链接到这些事件。初始化 GTM 时会启动页面视图触发器。页面加载时启动 DOM 触发器,加载所有资源时启动 Window Loaded 触发器。您可以使用这些来推迟非时间关键标签、脚本和工具的启动。此支持文章中提供了有关这些触发器的更多详细信息。

于 2019-07-11T10:24:04.120 回答