当我使用 Google 标签管理器时,我遇到了 ga() 函数的问题。
我将谷歌标签管理器插入到我的脚本中。这是演示脚本:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- 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-00000');
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-00000"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<a href='#' onClick="ga('send', 'event', 'TESTBUTTON', 'klick', 'test1' ,1);">click</a>
</body>
</html>
如果我点击链接,我想跟踪该事件。但事实并非如此。 分析显示有人在该页面上,但没有跟踪点击。
然后我尝试插入谷歌分析而不是谷歌标签管理器,例如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- Google Tag Manager -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<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-0000000-0', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<a href='#' onClick="ga('send', 'event', 'TESTBUTTON', 'klick', 'test1' ,1);">click</a>
</body>
</html>
通过分析,它可以发挥作用。我向标签管理器添加了分析功能,所以我不明白问题出在哪里。
最佳答案
如果您使用 GTM,您应该考虑删除所有页面上的 GA 代码,以避免这些问题,但如果绝对有必要,请继续阅读。当您使用 GTM 并创建标签时,GTM 会自动为每个标签使用自己的内部跟踪器名称(例如 gtm22345677664
)。您的其他页面代码虽然引用了 ga 对象,但没有使用 GTM 给出的跟踪器名称之一,因此在某种程度上存在沟通不畅,并且在某种程度上“未命名”(尽管从技术上讲它仍然有一个名称,但出于所有意图和目的,我们可以说它没有名称)。您的“未命名”跟踪器正在向其他地方发送数据。要纠正此问题,您需要告诉 GTM 标签不要使用自己的命名约定,并保留标签未命名或使用其原始名称。为此,只需选中显示设置跟踪器名称
的框,但不要在框中放入任何内容。完成此操作后,您应该会看到页面跟踪器也开始收集数据。
关于javascript - 分析已插入标签管理器,但 ga() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42092182/