在标记管理器中插入分析但ga()不起作用

时间:2017-02-07 14:19:57

标签: javascript google-analytics google-tag-manager

当我使用google标记管理器时,我遇到了ga()函数的问题。

我将google标记管理器插入到我的脚本中。这是演示脚本:

<!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>

如果我点击链接我想跟踪事件。但事实并非如此。 Google Analytics(分析)向我显示某人在页面上但未跟踪点击。

然后我尝试插入谷歌分析而不是谷歌标签管理器,如:

<!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>

通过分析,它可以正常运行。我将分析添加到我的标签管理器,所以我不明白问题是什么。

1 个答案:

答案 0 :(得分:1)

如果你使用GTM,你应该考虑删除所有的onpage GA代码,以便你避免这些问题,但如果它是绝对必要的,那么请继续阅读。当您使用GTM并创建标签时,GTM会自动为每个标签使用自己的内部跟踪器名称(类似gtm22345677664)。您的其他页面代码虽然引用了ga对象,但没有使用GTM提供的跟踪器名称之一,因此在某种程度上存在错误传达,并且在某种程度上是“未命名的”(尽管从技术角度来看)仍然有一个名字,但对于所有意图和目的,让我们说它没有。您的“未命名”跟踪器正在其他地方发送数据。要解决此问题,您需要告诉您的GTM标记不使用自己的命名约定并保留标记未命名或使用其原始名称。要做到这一点,只需选中Set tracker name框,但不要在框中放任何东西。完成此操作后,您应该会看到您的onpage跟踪器也开始收集数据。

比照。 Source 1Source 2