同步加载 Google 跟踪代码管理器

2024-01-15

我搜索了 Google 跟踪代码管理器 (GTM) 文档,但没有找到解决此问题的任何内容。我正在与一个联属网络合作,该网络希望同步加载其跟踪像素,以确保它在页面内容加载之前触发。这仅适用于我们的订单确认页面。我们已经实施了 GTM,因此我们可以在 5 分钟内启动并修复标签,而不是 2 周。

GTM 安装在我们的订单确认页面的顶部,并异步加载标签,因此我知道联属网络的标签加载速度非常快,但网络仍然担心某些数据可能会丢失。 GTM 没有任何选项或文档表明可以同步加载脚本,但我注意到其代码中的 j.async=true 名称-值对。

如果我将这部分代码更改为 j.async=false,代码会同步加载还是会破坏它?

这是完整的代码供参考。

<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(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=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','myNewName','GTM-XXXX');</script>
<!-- End Google Tag Manager -->

文章关于基本路径 http://www.cardinalpath.com/controlling-tag-firing-order-with-google-tag-manager/非常适合学习如何设置同步标签。

然而,至于确保不丢失数据的担忧,我想强调一下 Mickael 在该文章底部的评论。由于 dataLayer.push 可能在 gtm.dom 事件发生之前尚未完成,因此您应该在 dataLayer.push 中包含自定义事件,这样您就不会依赖 gtm.dom 来触发标签。

下面是一个示例标签,其中包含特定于页面加载的自定义事件。

标签名称: 页面加载

标签类型:自定义 HTML 标签

HTML:

<script type="text/javascript">
var tid = setInterval( function () {
    if ( document.readyState !== 'complete' ) return;
    clearInterval( tid );       
    dataLayer.push({ "event": "pageLoaded" });
}, 100 );
</script>

添加以下触发规则。

规则名称:所有页面

条件:{{url}} 与 RegEx 匹配。*

然后,在您想要触发的联属标签​​上,您所要做的就是包含此自定义事件(即 pageLoaded)作为触发规则的条件。在此示例中,条件为:{{event}} 等于 pageLoaded

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同步加载 Google 跟踪代码管理器 的相关文章

随机推荐