您好我使用以下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()方法中使用的名称。 上面的代码对我不起作用。上面代码中的问题是什么?
答案 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
了解有关使用异步跟踪代码的详情