_setCustomVar说明
###API介绍
通过设置接口的作用范围,可用于获得不同类型访客、访次和页面的流量数据。
###适用场景
接口的作用范围可分为三个级别:访客级别、访次级别和页面级别,不同的级别具有不同的使用场景。
1.访客级别:该标签跟该访客的整个活动周期是绑定的,同一个浏览器在网站上的所有活动,会被认为是来自于同一个访客。
2.访次级别:当访客在连续的一段时间内处于活动状态,我们会认识这是处于同一个访次内。如果访客一段时间没有访问任何页面,我们就会认为当前访次结束了。
3.页面级别:当访客在一个页面内活动时,就属于页面级别。
在需要对不同类别的访客的一系列行为做区分筛选的时候建议使用访客级别,比如“VIP会员的等级”等标签;
在需要对本访次的用户行为或状态做区分筛选的时候建议使用访次级别,比如“本次访问是否登陆账户”等标签;
在需要对本访次的访问内容或访问路径做区分筛选的时候建议使用页面级别,比如看了“体育频道”还是“财经频道”等标签。
###设置步骤
1.申请帐号并在站点上安装百度统计访问分析代码。更多关于代码安装的信息请查看帮助。
2.在加载统计分析代码之前,调用设置自定义变量接口。
_hmt.push(['_setCustomVar', index, name, value, opt_scope]);
- index:是自定义变量所占用的位置。取值为从1到5。该项必选。
- name:是自定义变量的名字。该项必选。
- value:就是自定义变量的值。该项必选。
- opt_scope:是自定义变量的作用范围。该项可选。1为访客级别(对该访客始终有效),2为访次级别(在当前访次内生效),3为页面级别(仅在当前页面生效)。默认为3。
3.查看"自定义变量"报告,就能看到指定变量的对应数据。
###举例
1.例如统计登录用户的账户类型(Baidu、QQ、Weibo等):
当一个来自百度的用户成功登录时,可以这样设置
_hmt.push(['_setCustomVar', 1, 'visitor', 'baidu', 1]);
同样的,当其他来源的用户登录后,把’baidu’替换成对应的来源就可以了。
2.以某个php页面为例,统计已登录用户的访次数量:
// isLogin是服务端输出的用户登录状态,登录用户为1,未登录用户为0
var isLogin = <?php echo $isLogin; ?>;
_hmt.push(['_setCustomVar', 1, 'login', isLogin, 2]);
3.例如统计来到某个页面的访客中,哪些是VIP客户,哪些是普通客户:
当vip客户加载页面时,页面中输出
_hmt.push(['_setCustomVar', 1, 'customer', 'vip', 3]);
当普通客户加载页面时,页面中输出
_hmt.push(['_setCustomVar', 1, 'customer', 'normal', 3]);
###参数
名称 | 必选/可选 | 类型 | 功能 | 备注 |
index | 必选 | Int | 自定义变量所占用的位置 | 索引的范围是从1到5 |
name | 必选 | String | 自定义变量的名字 | 每个索引对应的名字在使用一次后就会固定 以后无法更改 |
value | 可选 | String | 自定义变量的值 | |
opt_scope | 可选 | Int | 自定义变量的作用范围 | "1"为访客级别(对该访客始终有效) "2"为访次级别(在当前访次内生效) "3"为页面级别(仅在当前页面生效) 默认为3 |
opt_scope参数说明:
_setCustomVar
的数据报表是基于session的统计,包含了使用接口页面的访次都会在不同的槽位上 (index) 被打上数个形如name=value的标签,而opt_scope参数则定义了这些标签的有效期。opt_scope的合法可选值有3个,分别表示了3不同的级别:
访客级别:为当前访客打上标签,此访客以后的所有访问的指定槽位(index)上都会打上这个标签。
访次级别:为当前访次打上标签,只有当前访次的指定槽位(index)会打上这个标签,不影响此访客的后续访问。
页面级别:给当前访次打上第一个有标签页面的标签。只有当前访次的指定槽位(index)会打上这个标签,不影响此访客的后续访问。
opt_scope参数的覆盖规则:
由于对一个访次来说每一个槽位(index)最终只会保留一个标签,所以当一个访次的同一个槽位(index)上出现多个标签时,将出现冲突的情况。对一个访次,统计逻辑会根据以下三步来决定一个访次的最终标签:
如果槽位中有访客级别标签,以时序上最后一个访客级别标签为最终标签。
如果槽位中无访客级别标签但有访次级别标签,以时序上最后一个访次级别标签为最终标签
如果槽位中既无访客级别标签又无访次级别标签,以时序上第一个页面级别标签为最终标签
建议在使用本接口时,尽量把不同级别的标签设置在不同的槽位(index)上,以免造成标签冲突引起的数据不一致。
opt_scope参数使用建议
在需要对不同类别的访客的一系列行为做区分筛选的时候建议使用访客级别,比如“VIP会员的等级”等标签;
在需要对本访次的用户行为或状态做区分筛选的时候建议使用访次级别,比如“是否登陆”等标签;
在需要对本访次的访问内容或访问路径做区分筛选的时候建议使用页面级别,比如看了“体育频道”还是“财经频道”等标签。
###使用限制和常见问题
每个索引对应的名字在使用一次后就会固定,以后无法更改。