Google 跟踪代码管理器冲突,因为在我的 HTML 中我有一个名称为 "ga" 且 id="ga" 的元素?
Google Tag Manager conflict because in my HTML I have an element with name="ga" and id="ga"?
我的 GTM 代码是否可能因为与 Google Analytics 和我与 <input id="ga" name="ga">
的 HTML 元素发生冲突而失败?
我的 Google 分析标签是:
<style>.async-hide { opacity: 0 !important} </style>
<script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
(a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;
})(window,document.documentElement,'async-hide','dataLayer',4000,
{'GTM-XXXXXXXXXXXXX':true});</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXXXXXX', 'auto');
ga('send', 'pageview');
</script>
我是否应该将 'ga'
更改为其他内容并且它仍然有效但没有冲突?
我找到了这个答案,但我不确定它是否是同一个问题,但我会尝试这样做(我不尝试自己测试的原因是因为它会花费很多时间营销团队可以检查它的时间)。
Changing the Global GA Object in google tag manager
是的,这当然是一个原因。
它将产生的错误是:
Uncaught TypeError: ga is not a function
您可以在此 JSFiddle 中看到它(请参阅控制台中的错误)。
正如Michele Pisani的回答所说,确实有冲突,可以用这个回答解决(更改全局函数名):
Changing the Global GA Object in google tag manager
我的 GTM 代码是否可能因为与 Google Analytics 和我与 <input id="ga" name="ga">
的 HTML 元素发生冲突而失败?
我的 Google 分析标签是:
<style>.async-hide { opacity: 0 !important} </style>
<script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
(a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;
})(window,document.documentElement,'async-hide','dataLayer',4000,
{'GTM-XXXXXXXXXXXXX':true});</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXXXXXX', 'auto');
ga('send', 'pageview');
</script>
我是否应该将 'ga'
更改为其他内容并且它仍然有效但没有冲突?
我找到了这个答案,但我不确定它是否是同一个问题,但我会尝试这样做(我不尝试自己测试的原因是因为它会花费很多时间营销团队可以检查它的时间)。
Changing the Global GA Object in google tag manager
是的,这当然是一个原因。
它将产生的错误是:
Uncaught TypeError: ga is not a function
您可以在此 JSFiddle 中看到它(请参阅控制台中的错误)。
正如Michele Pisani的回答所说,确实有冲突,可以用这个回答解决(更改全局函数名):
Changing the Global GA Object in google tag manager