Google Analytics中trackPageview函数的5种使用策略

_trackPageview函数用来记录页面的PV,在页面安装的GA追踪代码中,_trackPageview用来记录当前页面的相对URL地址。并记录在汇报给GA服务器的&utmp参数中。

基本的工作的流程就像是这样:当用户浏览http://bluewhale.cc/123.html这个页面时。页面中的_trackPageview函数就会将/123.html作为_trackPageview函数的值,并将这个值通过调用__utm.gif文件的的形式汇报给GA的服务器,最终显示在我们的报告里。

_trackPageview不仅可以记录当前页面URL,还可以记录任何我们想追踪的数据,并将它显示在我们的GA报告里。

下面介绍5种_trackPageview函数的使用策略。

1使用_trackPageview函数自定义页面名称

这是最常用的一种方法。通常页面里的GA追踪代码只会记录当前页面的相对URL地址。如果要在报告中看到更详细的页面信息,可以对页面的名称进行自定义。比如要将页面http://bluewhale.cc/123.html命名为:”5fo_trackPageview”,只需要把这个名字作为_trackPageview的函数值就可以了。

pageTracker._trackPageview("5fo_trackPageview");

如果想要看到再具体一点的信息,比如当前页面在网站结构中的位置,可以在名字前面加入上一及页面或频道的名称。例如这个页面是属于首页下的GA频道的文章页:

pageTracker._trackPageview("home/GA/5fo_trackPageview");

home/GA/5fo_trackPageview比/123.html附带了更多的信息,也更容易理解。并且方便以后对数据的分类和过滤操作。

注意:这里填入_trackPageview的值是要加引号的。而在另一种使用方法中是不能加引号的,这个在后面会提到。

2使用_trackPageview函数追踪出站链接

默认情况下_trackPageview只汇报当前页面的URL,并且页面里必须含有本站的GA追踪代码,对于指向外部站点的链接无法进行追踪和记录。(如:友情链接,各种形式的广告等等)。

我们通过自定义_trackPageview函数的值,并配合JS事件可以对这部分的点击进行有效记录。

例如我首页上的twitter follow me链接:

<a target="_blank" href="http://www.twitter.com/askcliff"><img src="http://www.bluewhale.cc/image/twitter.jpg" alt="twitter" /></a>

通过加入JS的onClick事件并定义_trackPageview的值就可以追踪到用户的点击。

<a target="_blank" href="http://www.twitter.com/askcliff" onClick="javascript:pageTracker._trackPageview('/home/twitter');"><img src="http://www.bluewhale.cc/image/twitter.jpg" alt="twitter" /></a>

这个数据将通过utmp参数汇报给GA服务器,并最终显示在我的报告里。

http://www.google-analytics.com/__utm.gif?……utmp=%2Fhome%2Ftwitter……

追踪出站链接报告

3使用_trackPageview函数记录时间维度

_trackPageview函数不仅可以自定义页面名称和追踪出站链接,还可以从时间维度记录页面的表现。比如用户在特定页面的停留时间,页面加载时间等等。在进行时间维度记录前需要编写一段JS来配合_trackPageview一起工作。

这里以追踪用户在页面的停留时间为例。

JS代码:

<script type="text/javascript">
pageopen = new Date();
function bluewhale ()
{
pageClose = new Date();
minutes = (pageClose.getMinutes() - pageOpen.getMinutes());
seconds = (pageClose.getSeconds() - pageOpen.getSeconds());
bluewhaletime = (seconds + (minutes * 60)+"seconds");
pageTracker._trackPageview(bluewhaletime);
}
</script>

注意:这里填入_trackPageview的值是一个变量名,不能加引号,否则时间将不会被显示在报告里。

然后在<body>里加入unonload事件。

<body unonload=" bluewhale ()">

当用户离开页面时_trackPageview就会向GA服务器发送一条页面停留时间的数据。

PS: 如果将unonload事件替换为onload事件,_trackPageview就会记录页面的加载时间。

http://www.google-analytics.com/__utm.gif? ……utmp=1%2520seconds……….

在GA的报告中看到的数据就像这样:

追踪页面时间维度报告

4使用_trackPageview函数记录页面状态

_trackPageview还可以用来监测关键页面在用户浏览器中的状态。比如页面里的焦点图是否被正确显示。

使用JS的onload和onerror两个事件就可以完成监测。

代码如下:

<img src="http://www.bluewhale.cc/image/twitter.jpg " onload="javascript:pageTracker._trackPageview('imgloaded');" >
<img src="http://www.bluewhale.cc/image/twitter.jpg " onerror="javascript:pageTracker._trackPageview('imgerror');" >

5使用_trackPageview函数记录用户行为

最后是通过_trackPageview与JS事件对用户行为的记录。比如用户的鼠标行为。当用户将鼠标移到某个焦点图或按钮上时进行记录。

<img src=""http://www.bluewhale.cc/image/twitter.jpg"onmouseover="javascript:pageTracker._trackPageview('jsevent/mouseover');" >

在GA的报告中看到的数据就像这样:

用户鼠标行为监测报告

用户把鼠标放在图片或按钮上大部分可能是无意识的行为,并不能表明用户对这个页面或这个按钮的活动感兴趣。所以单纯记录这个行为没有太大意义,不过可以做一下改进来使这个数据有参考作用。这将在我的下一篇文章里的内容。

——【所有文章及图片版权归 蓝鲸(王彦平)所有。欢迎转载,但请注明转自“蓝鲸网站分析博客”。】——

Comments

  1. 深蓝 says:

    很有启发性的文章。不过我觉得在_trackPageview这个函数太过频繁使用会影响GA统计到的页面停留时间。

    • 蓝鲸 says:

      感谢你的评论,_trackPageview函数确实会影响到一些其他的数据,我感觉还是要根据追踪的目标有所取舍

  2. rivershan says:

    {

    pageClose = new Date();

    minutes = (pageClose.getMinutes() – pageOpen.getMinutes());

    seconds = (pageClose.getSeconds() – pageOpen.getSeconds());

    bluewhaletime = (seconds + (minutes * 60)+”seconds”);

    pageTracker._trackPageview(bluewhaletime);

    }

    —————
    pageTracker._trackPageview(bluewhaletime);
    这个可以用event代替么?

  3. 蓝鲸 says:

    @rivershan: 可以的,不过event里面共有4个参数。

  4. 黑猫 says:

    GA太强大了。谢谢蓝鲸

  5. updatex says:

    使用_trackPageview函数记录页面状态

    这个代码没有显示出来。

  6. April says:

    不好意思我问的问题可能非常初阶,不过还是希望能够得到指点:
    1.)上面写的js代码都是要放到页面的code里么?
    2.)第3点中的例子,0seconds 117pageview; 1second 71pageview;指的是访问者在117个页面停留了0秒,在71个页面停留了1秒,对么?
    如能回答,非常感谢!

  7. jackion says:

    针对第2点中跟踪出站的URL怎么举的例子看的有点不明白,后面的链接怎么没有给出utmp,还有一点,听别人说onClick 句必须使用 return false.不知道有没有这回事

  8. 千山暮雪 says:

    再看一遍这一系列的文章,一定要精通这个。

  9. 动漫论坛 says:

    在一个xml文件里发现trackPage=”
    这是什么情况?

  10. 石头 says:

    蓝鲸:
    配合JS自定义trackPageview函数的确可以做到很多事儿,但严格的来说这属于hack的形式,自定义trackPageview函数实现本文中的各项功能,应该会对整站的PV统计带来影响,比如在鼠标移到图片上时就触发trackPageview增加一次PV统计,但其实用户并没有访问一个新页面。

    为什么使用trackPageview函数统计出站链接点击次数呢?直接用事件统计不可以么?

    使用trackPageview做页面访问时间监测,是因为GA只提供某页面的平均停留时间么?

  11. 根号三 says:

    _trackPageview可以统计到ajax页面的上游页和来源URL和关键词吗?

Trackbacks

  1. […] 上一篇文章的最后一个策略中提到,可以使用_trackPageview函数与JS的onmouseover事件配合。当用户将鼠标移到某个焦点图或按钮上时进行记录。但有一个问题就是收集到的大部分数据可能是用户无意识的行为(如鼠标划过或无意识的将鼠标停放在某个图标上),这并不能表明用户对这个焦点图或action按钮感兴趣。所以单纯记录这个行为并没有太大意义。 […]

  2. […] « Google Analytics中trackPageview函数的5种使用策略 自定义Google Analytics报告中导出数据的多少 […]

  3. […] Google Analytics中trackPageview函数的5种使用策略« 蓝鲸的Web … […]

  4. […] Google Analytics中trackPageview函数的5种使用策&#300… […]

  5. […] Google Analytics中trackPageview函数的5种使用策略 […]

  6. […] Google Analytics中trackPageview函数的5种使用策略 […]

  7. 精英分析说道:

    […] 上一篇文章的最后一个策略中提到,可以使用_trackPageview函数与JS的onmouseover事件配合。当用户将鼠标移到某个焦点图或按钮上时进行记录。但有一个问题就是收集到的大部分数据可能是用户无意识的行为(如鼠标划过或无意识的将鼠标停放在某个图标上),这并不能表明用户对这个焦点图或action按钮感兴趣。所以单纯记录这个行为并没有太大意义。 […]

  8. […] trackPageview函数是一个非常强大并且有用的功能,我曾经写过一篇文章《Google Analytics中trackPageview函数的5种使用策略》来介绍trackPageview函数的使用方法。通过对trackPageview函数和JavaScript事件的配合使用,我们几乎可以追踪到访客在页面中的任何行为。下面是常用的JavaScript事件列表。可以看到无论是鼠标点击,移动,悬停,图像加载,还是页面关闭,通过对trackPageview函数设定适当的JavaScript事件都可以被我们追踪到。 […]

  9. […] Google Analytics中trackPageview函数的5种使用策略 […]

Speak Your Mind

*