尝试修改在Google Analytics中显示的网址

时间:2011-03-23 06:47:24

标签: google-analytics

您好我使用以下ga代码来修改在Google Analytics中显示的网址,但它不起作用。

<script type="text/javascript">    
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-22140531-1']);
_gaq.push(['_trackPageview']);

var pageTracker = _gat._getTracker("UA-22140531-1");
pageTracker._trackPageview("change_password");

(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搜索引擎代码中的热门内容时,会显示所访问页面的网址,但我希望显示我在pageTracker._trackPageview()方法中使用的名称。 上面的代码对我不起作用。上面代码中的问题是什么?

1 个答案:

答案 0 :(得分:3)

您正在使用跟踪代码的异步版本,然后尝试从pageTracker对象获取_gat。但是,在ga.js脚本未加载的情况下运行时,它不会存在。这就是异步代码使用名为_gaq的对象的原因。这是在ga.js完成加载时要执行的操作队列。您需要按如下方式添加跟踪调用:

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
  _gaq.push(['_trackPageview', 'change_password']);


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

您可以从中看到原始pageTracker._trackPageview("change_password");来电已更改为_gaq.push(['_trackPageview', 'change_password']);。您将要调用的方法名称作为数组的第一个元素,并将参数放在后续部分中。

注意:我已将帐号更改为UA-XXXXXXXX-X,因此不会公开显示。您需要将其更改回原始版本。

您可以在http://code.google.com/apis/analytics/docs/tracking/asyncUsageGuide.html

了解有关使用异步跟踪代码的详情