Javascript Google Tag Manager多次加载Analytics.js

Javascript Google Tag Manager多次加载Analytics.js,javascript,google-analytics,google-tag-manager,Javascript,Google Analytics,Google Tag Manager,当我检查源代码时,我会在我的Google Tag Manager代码块中看到多个analytics.js实例,请参阅: “我的网络”选项卡中的类似结果: 这就是我在Joomla模板代码中实现GTM的方式(GTM后端的复制/粘贴): (函数(w,d,s,l,i){w[l]=w[l]||【】;w[l]。推送({'gtm.start': new Date().getTime(),事件:'gtm.js'});var f=d.getElementsByTagName[0], j=d.createEl

当我检查源代码时,我会在我的Google Tag Manager代码块中看到多个
analytics.js
实例,请参阅:

“我的网络”选项卡中的类似结果:

这就是我在Joomla模板代码中实现GTM的方式(GTM后端的复制/粘贴):


(函数(w,d,s,l,i){w[l]=w[l]||【】;w[l]。推送({'gtm.start':
new Date().getTime(),事件:'gtm.js'});var f=d.getElementsByTagName[0],
j=d.createElement,dl=l!=“数据层”?“&l=”+l:“”;j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(窗口、文档、“脚本”、“数据层”、“GTM-K5XJCWX”);
有谁能告诉我这里发生了什么,以及如何阻止
analytics.js
被多次加载


非常感谢

查看“网络”选项卡屏幕截图中的“启动器”选项卡,因为它看起来像是从几个不同的地方调用analytics.js。i、 e.-
gtm.js?id.
js?id.


您应该能够单击每个启动器行,并准确查看调用它的位置。

查看“网络”选项卡屏幕截图中的“启动器”选项卡,因为它看起来像是从几个不同的地方调用analytics.js。i、 e.-
gtm.js?id.
js?id.


您应该能够单击每个启动器行,并准确地查看调用它的位置。

您有两个不同的GTM实例。在第一个屏幕截图中,一个加载在顶部的第三行(GTM-W9SLVSl),另一个加载在底部的第三行(GTM-W9SLVSl)

我假设这两个实例都配置了Google Analytics标签


如果您不是故意这样做的,那么很可能有第三方扩展加载了它们自己的实例。扩展的开发人员有时这样做是为了跟踪他们的扩展是如何使用的(其合法性是有争议的)。

您有两个不同的GTM实例。在第一个屏幕截图中,一个加载在顶部的第三行(GTM-W9SLVSl),另一个加载在底部的第三行(GTM-W9SLVSl)

我假设这两个实例都配置了Google Analytics标签


如果您不是故意这样做的,那么很可能有第三方扩展加载了它们自己的实例。扩展的开发人员有时这样做是为了跟踪他们的扩展是如何使用的(其合法性是有争议的)。

当我评论Tag Manager代码块时,
analytics.js
根本没有加载,所以它必须是一个GTM标签导致了这一点

当我看的时候,我看到了一个Google Optimize的标签,经过检查,Google Optimize的容器ID是
GTM-W9SLVSL


仍然希望找到一种方法来避免多次加载
analytics.js
,同时仍然使用Google Optimize。

当我评论Tag Manager代码块时,
analytics.js
根本没有加载,所以它必须是一个GTM标签导致了这种情况

当我看的时候,我看到了一个Google Optimize的标签,经过检查,Google Optimize的容器ID是
GTM-W9SLVSL


仍然希望找到一种方法来避免多次加载
analytics.js
,同时仍然使用Google Optimize。

还有两个不同的GTM ID(第一个调用中是K5XJCW,第二个调用中是W9SLVSL)。也许某个扩展或第三方小部件正在加载它自己的GTM实例。我自己的GTM ID是
K5XJCW
,不知道另一个来自哪里。在代码中的任何地方都找不到引用,
发起者是
VM142
,这显然“没有特殊意义。它是一个虚拟名称,帮助我们区分没有直接绑定到文件名的代码,例如使用
eval
和friends创建的代码。”。因此没有明确的线索,但会继续挖掘。还有两个不同的GTM ID(第一个调用中为K5XJCW,第二个调用中为W9SLVSL)。也许某个扩展或第三方小部件正在加载它自己的GTM实例。我自己的GTM ID是
K5XJCW
,不知道另一个来自哪里。在代码中的任何地方都找不到引用,
发起者是
VM142
,这显然“没有特殊意义。它是一个虚拟名称,帮助我们区分没有直接绑定到文件名的代码,例如使用
eval
和friends创建的代码。”。所以没有明确的线索,但会继续挖掘。我遇到了一个类似的问题:实现是使用谷歌指南()完成的。此设置要求在Google Analytics(GA)标记之前加载Google Optimize(GO)标记(通过tag seq),因此意味着GA标记将在GO标记之后加载。因此,我猜围棋没有触发器。但是,查看Devtools的“网络中的链”选项卡,我可以看到GO JS作为GA JS的子链接。。我太迷路了。。这是否真的是这种行为的默认值;有人知道吗?我遇到了一个类似的问题:实现是使用GoogleGuide()完成的。此设置要求在Google Analytics(GA)标记之前加载Google Optimize(GO)标记(通过tag seq),因此意味着GA标记将在GO标记之后加载。因此,我猜围棋没有触发器。但是,查看Devtools的“网络中的链”选项卡,我可以看到GO JS作为GA JS的子链接。。我太迷路了。。这是否真的是这种行为的默认值;有人知道吗?
<!-- Google Tag Manager -->
<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=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-K5XJCWX');</script>
<!-- End Google Tag Manager -->