javascript - 分析已插入标签管理器,但 ga() 不起作用

标签 javascript google-analytics google-tag-manager

当我使用 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 标签不要使用自己的命名约定,并保留标签未命名或使用其原始名称。为此,只需选中显示设置跟踪器名称的框,但不要在框中放入任何内容。完成此操作后,您应该会看到页面跟踪器也开始收集数据。

比照。 Source 1Source 2

关于javascript - 分析已插入标签管理器,但 ga() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42092182/

相关文章:

javascript - 如何自定义JCoverFlip的大小?

javascript - 使用 Javascript 获取 PHP 数据并将其分配给数组

javascript - Jquery 脚本不引起任何交互

javascript - 文本区域值从选择选项值开始不断递增

google-analytics - Google Analytics API 用于获取元素的总点击次数和印象

php - (403) 您的项目无权访问此功能

iOS:Google Analytics 重复符号错误

google-analytics - 检查我不拥有的页面的分析设置

javascript - Google 跟踪代码管理器未加载 JavaScript,错误消息 "anonymous function"

javascript - 如何让 Google 跟踪代码管理器跟踪事件?