Google Analytics自定义变量(Custom Variables)应用两例

自定义变量 (Custom Variables)是Google Analytics 2009年10月推出的一个功能,可以用来对网站用户细分,实现的功能与自定义访客群体(Custom Visitor Segments)差不多,可以算是后者的升级版。这两天正好用到这个功能,而网上关于它的应用案例又少得可怜,这里就介绍一下具体应用过程,如有不同意见,欢迎拍砖。

和Custom Visitor Segments需要使用_setVar()方法类似,Custom Variables也是通过_setCustomVar()方法来实现应用的,下面我们对这个方法做个简要说明:

_setCustomVar(index, name, value, opt_scope)

  • index:变量序号,可选范围1~5
  • name:自定义变量名,GA自定义变量报告中看到最顶级报告类目就是变量名
  • value:为自定义变量赋值,和前面的自定义变量名搭配使用,点击自定义变量报告名后的下一级数据就是变量值,通常,一个自定义变量会有两个或更多的值,比如,一个自定义变量name是gender,那value就有male和female两个可能的值
  • opt_scope:自定义变量的范围,可选范围是1~3,1 (visitor级别) ,2(session级别),3(page级别)。如果留空,默认值是3。

这里不再做更多说明,详情请参考GA官方说明,下面我们看应用案例。

应用一:某电子商务网站监测 A类商品页面(包括列表页和详情页)的人均访问页面数

为什么要使用自定义变量(Custom Variables)实现?
GA的默认报告中是不提供A类商品页面的Pages/Visit的,在Custom Variables出现之前,我能想到的只有一个办法,通过高级群体或过滤器统计该群体的Visits,然后再手动查询A类商品页面的PageViews,相除计算得出结果,比较麻烦。

具体实现方法
1、部署代码

A类商品的所有列表页中部署代码     pageTracker._setCustomVar(1, “Page-Type”, “listpage“, 3);
A类商品的所有详情页中相关代码     pageTracker._setCustomVar(1, “Page-Type”, “detail“, 3);

简要说明:

  • 自定义变量序号为1
  • 自定义变量命名为Page-Type
  • 列表页自定义变量赋值Page- Type=listpage,详情页变量赋值Page-Type=detail
  • 该自定义变量应用层级是Page

完整代码传统版:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-91xxxxxx-1");
pageTracker._setCustomVar(1, "Page-Type", "detail", 3);
pageTracker._trackPageview();
} catch(e){;};
</script>

完整代码异步跟踪版:

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-91xxxxxx-1']);
_gaq.push(['_setCustomVar', 1, 'Page-Type', 'detail',3]);
_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>

2、报告结果
报告查看位置   Visitors——Custom Variables

(图一、A类商品页面总数据)

其中Hits数就是A类商品页面总的点击次数,我们选择的自定义变量应用范围是page level,所以这里的数据实际上就是Pageviews,后面的Pages/Visit就是我们要的数据了。
第一目标已达成,我们再点击进去,看一下A类商品列表页和详情页数据的具体数据.

(图二、A类商品列表页和详情页数据)

3、列表页与详情页间的访问转化

可能细心的网友已经看到图一的Visits是40,091,而图二的Visits是52,111,这两者间的差值就是同时访问了列表页和详情页的Visits 数,这个数值可以用来衡量列表页和详情页间的引导是否顺畅友好。如果想进一步了解这类用户行为,可以使用高级群体细分,详细分析这部分用户的行为。

(图三、同时访问了列表页和详情页的用户-高级群体设置)

应用二:某电子商务网站A类商品列表页的翻页情况统计

1、部署代码

假设A类商品有500件,列表页每页默认显示50件商品,在列表页中部署相应的代码
第1页:pageTracker._setCustomVar(2, “Page-Flip”, “1″, 3);
第2页:pageTracker._setCustomVar(2, “Page-Flip”, “2″, 3);
………
第50页: pageTracker._setCustomVar(2, “Page-Flip”, “50″, 3);

异步跟踪代码格式参考应用一

2、报告分析
访问列表页的用户每次访问的平均翻页数是3.11

(图四、A类商品列表页翻页数情况)

列表页具体翻页访问数分布

(图五、列表页翻页访问量分布)

注意事项:

  • 自定义变量名和变量值的长度都不能超过64 bytes
  • 变量名不能重复
  • _setCustomVar()需要放置在_trackPageview()前面
  • 报告延时很严重,今天配置好,数据要两天后才能看到
  • 自定义变量名和值尽量不要使用中文,否则显示的是编码后的形式,报告易读性会比较差。

您可能感兴趣的文章

Comments

  1. Kevin says:

    自变量定义的用户 cookie有效期是多久呢?
    当次访问结束后,以后的访问都是带标记的吗?

    [回复]

  2. 老菜鸟 says:

    基于Visitor-level的变量的Cookie有效期是两年

    [回复]

  3. sum says:

    自定义变量配置好了,变量能马上显示在报告中吗(不是数据)?
    变量名是随便取的吗?
    谢谢!

    [回复]

  4. 老菜鸟 says:

    这个倒没有注意,但个人感觉应该自定义变量名不会马上显示在报告中,就好象页面不产生流量就不会显示在报告中是一个道理。自定义变量不同于自定义报告和高级群体,后者是对已经形成的报告进行数据展示形式和数据展示范围的操作,所以可以马上看到结果, 而自定义变量是在进行原始数据的搜集。
    自定义变量名是可以随意设置的,但目前中文显示会有问题,是没有解码的形式,会影响报告的易读性,建议使用字母和数字来命名。

    [回复]

  5. sum says:

    如果我想设一个自定义变量跟踪user id, 应该怎么设?
    谢谢!

    [回复]

  6. 老菜鸟 says:

    传统版本:pageTracker._setCustomVar(1, “Userid”, “提取用户id”, 1);
    异步版本:_gaq.push(['_setCustomVar', 1, 'Userid', '提取用户id',1]);

    可以在用户的登录成功页加入上面的自定义变量相关代码,这样就可以跟踪每个登录用户的行为了。

    [回复]

  7. sum says:

    谢谢。不过我加的自定义变量没显示出来,不知道要多就才能看到

    [回复]

  8. 老菜鸟 says:

    呵呵,有问题加我QQ:7214005,这快成版聊了。

    [回复]

  9. sum says:

    好的,我加你QQ了。我加了三个自定义变量,前两个都显示出来了,但是userid那个还是显示不出来,是要加在_gaq.push(['_trackPageview']);的前面还是后面?
    我是这样用的: _gaq.push(['_setCustomVar', 3, 'userid', '', 1]);

    [回复]

  10. sum says:

    sorry, 是_gaq.push(['_setCustomVar', 1, 'userid', '提取用户id',1]);

    [回复]

  11. eco-小罗 says:

    如何 将 用户ID或者用户名传递到 _setCustomVar??
    这个必须求助于网站程序员了吧,GA不会自动提取用户ID传送到 _setCustomVar吧

    [回复]

    admin 回复:

    直接把 _setCustomVar 对应的值写成动态的参数。这个确实需要求助于程序员提供支持了

    [回复]

Speak Your Mind

*