谷歌分析跟踪代码无法正常工作

8

我设置了一个Google Analytics账户,然后设置了网站并获取了Analytics代码,该代码如下:

 <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','//www.google-analytics.com/analytics.js','ga');

      ga('create', 'UA-4XXXXXXX-1', 'mydomain.com');
      ga('send', 'pageview');
 </script>

我把代码粘贴到所有页面的头部,但是Analytics一直显示“未安装跟踪”。

我查看并验证了主页源代码中是否包含代码,代码确实存在。该站点基于Classic ASP(default.asp),我还在GA中设置了几个其他站点,它们都工作正常。所以我不知道为什么这不起作用。以上代码由GA提供。

请问有人能告诉我为什么这不起作用吗?


你正在哪个国家测试这个函数? - Vicky Gonsalves
@VickyGonsalves 美国东海岸。 - Frank G.
1
我希望那里没有禁止谷歌。 - Vicky Gonsalves
@VickyGonsalves 为什么会这样?我有很多其他在 GA 中运行良好的账户! - Frank G.
尝试添加另一个GA代码并在实时跟踪中检查。 - Vicky Gonsalves
显示剩余2条评论
8个回答

15

给这个一个尝试。

<script>
    var _gaq = _gaq || [];  
    _gaq.push(['_setAccount', 'UA-4XXXXXXX-1']);  
    _gaq.push(['_trackPageview']);

    (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>

如果您刚刚设置完成,您应该能够在“实时”面板中看到分析数据。许多其他面板可能需要超过一天才能看到分析数据。
如果您使用的是Google Chrome浏览器,您还可以尝试由ObservePoint提供的标签调试插件或者Google官方标签助手插件

3
很久以后,但这也解决了我的问题。为什么谷歌提供的原始脚本不起作用?为什么我们需要使用不同的版本(如果我没有在这里找到它,我就无法让事情正常工作)?有任何线索都可以。 - Patrick

2
你尝试过使用像HTTPFox(火狐浏览器)或者Google Analytics Debugger(谷歌浏览器)这样的工具来监控http请求吗?这会告诉你是否有触发。如果有触发,请检查评论中提到的实时报告。如果没有触发,那么问题就在于代码或你的页面上了。

1

新的分析意味着新的API

您正在使用“通用分析”片段,这是谷歌正在尝试将所有人转移到的新系统。一些API已经发生了改变,包括事件跟踪。

请确保您正在使用此版本:

ga('send', 'event', category, action, label);

不要用这个:

_gaq.push(['_trackEvent', category, action, label]);

用于事件跟踪。以下是一篇详细的博客文章 http://blog.tylerbuchea.com/tracking-events-in-googles-new-universal-analytics/


1
我找到了问题所在。我使用GA的新Beta功能设置了一个账户,但是我猜测这个账户不能与他们给我的代码一起工作。因此,我删除了该账户并重新创建了一个经典账户,并使用我上面发布的代码,它运行良好。感谢大家的帮助!

0

我曾经遇到过类似的问题,我访问了错误的URL,所以我将somedomain.com重定向到www.somedomain.com

请参考:https://support.google.com/tagmanager/answer/6103683?vid=1-635771588228302150-2080886913&rd=1

请确保您已发布标签,并且您的触发器被正确设置,以便在测试页面上触发它。请注意,容器发布可能需要几秒钟时间,而且您应该通过硬刷新页面(例如ctrl+F5)来查看更改。
检查您的触发器是否不必要地具体化。例如,如果您定义了基于URL的触发器,并以“http://www.example.com”开头的URL,则标签将不会对使用“https”的URL“https://www.example.com”和没有“www”的“http://example.com”进行触发。
Google Tag Manager只能在浏览器的能力范围内触发标签。大多数浏览器一次不会打开超过六到八个HTTP请求到同一个域名。如果在相同条件下在同一个域名上有大量标签触发,那么标签只会在此浏览器限制范围内触发。

0
我发现在我的情况下,我的内容拦截器(Safari 上的 Wipr)正在阻止跟踪请求。禁用内容拦截器可以解决这个问题。

0

刚遇到了“不跟踪”问题的新版本。

显然,现在使用新的Google网站标签(gtag.js)跟踪代码时,只有当您也注册了Google标签管理器并在那里启用域名时,分析才会开始跟踪。

我添加跟踪代码后,我的新分析属性半天没有跟踪。在Google标签管理器中启用域名后,它立即开始跟踪。

我认为这可能是一个错误。希望他们能够修复。


-1
在你的代码中添加一个 type="text/javascript"
  <script type="text/javascript" >
    (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','//www.google-analytics.com/analytics.js','ga');

    ga('create', 'UA-XXXXXXXX-X', 'auto');
    ga('send', 'pageview');
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接