GA代码定制:_TrackPageview时指定页面标题

大家都知道可以用_TrackPageview来提交一个虚拟页面请求,例如有一个商品列表页,当点击购买时,因为是Ajax回调,其实并没有产生页面跳转,这时可以在onClick事件里这样写:
_gaq.push([ "_TrackPageview", "/pruduct/10032/buy_succ"]);

但这样有个小问题,提交到GA服务器的页面标题,还是这个列表页的标题,而不是我们希望的:商品名称 – 购买成功。要想指定虚拟页面的标题,做法很简单,在TrackPageview前,先改变一下页面的标题,提交后,再恢复原有标题:

_gaq.push (
function() {old_title = document.title; document.title = “商品名称 – 购买成功”},
[ "_trackPageview", "/pruduct/10032/buy_succ"],
function() {document.title = old_title}
)

这儿用到了_gaq的push方法的特点,如果是push一个函数,则会按顺序,依次调用指定的函数。

 

从论坛看站点的GA部署与分析

不同类型的站点会有不同的关注点和目标,如电子商务站点和个人博客的关注点就差别很大,前者关注流量来源,渠道路径,目标转化,后者会关心:搜索引擎关键字,平均PV,停留时间。

GA是一个通用型的工具,针对不同类型的站点,你需要规划站点结构,配置:站内搜索,事件,目标。为了更好的分析,还需要细分,和自定义报表。这对于一般的论坛站长还真是有点难度,或者是不太可能完成的任务,这个时候,你就应该使用:腾讯分析(ta.qq.com)了。腾讯分析是针对Discuz!论坛量身打造的分析工具,除了基本的流量数据外,还集成了和论坛相关的业务数据和指标。

以腾讯分析的Demo站点为例(ta.qq.com/summary/index?sId=2938105),进入首页,你会看到这样的界面:

这样对论坛来讲,最重要的2个指标就可以清楚的看到了,还可以和基本的流量指标如:PV做对比。

在左侧的报表列表中,还有:热门板块和热门主题等和论坛业务相关的报表,以热门板块为例:

你可以按:PV,访客,发帖,回复等排序,找出:看的最多的板块,活跃度最高(发帖,回复最多)的板块。还可以按访客类型来细分,如:看游客访问的最多的板块。

在腾讯分析里,还有:会员参与度的报表,按日期列出:参与人数和参与度,这儿的参与人数是:当天有发帖的会员数量,参与度是:当天的参与人数占当日访问的会员人数的比例。通过这样的定义,可以方便的看出论坛的活跃度。

总体来讲,腾讯分析是一个功能完整,使用方便的工具,和Discuz!论坛深度集成。好处是:方便使用。缺点是:无法扩展,无法应用到其他论坛。对于非论坛站点,可以用,但很多报表与指标又会显得多余。当然这和腾讯分析的产品定位有关。

好了,我们看看在GA里,如何分析论坛的流量。

业务分析:

  • 用户类型:会员,游客。
  • 内容:板块,主题
  • 用户行为:注册,发帖,回复
  • 关注:访问最多的板块帖子,发帖最多的板块,回复最多的帖子,用户在论坛里搜索最多的关键字,带来最多注册的来源。

配置部署:

  • 检查站点的整体url结构,假设是一个外语论坛的cet板块的一个帖子,我们希望url结构是:/cet/topic/1234,这样可以方便按目录,筛选板块的流量。
  • 检查标题,页面的标题应该为帖子的标题,这样在ga的报表里可以方便的按页面标题看访问最多的帖子。
  • 检查站内搜索的url参数:如搜索:考试,url路径最好是:/search/?cate=cet&q=考试,这样可以方便的在GA里配置站内搜索参数。
  • 这部分配置,可以考虑作为规范,要求开发人员在做新站点时,遵循这样的规范,即让站点结构适合网站分析。

用户变量,事件,目标:

为了区分用户类型,我们要指定用户变量,这儿的自定义变量作用域,按:session级即可。

_gaq.push(['_setCustomVar', 1, 'user_type', 'member', 2]);
_gaq.push(['_setCustomVar', 1, 'user_type', 'guest', 2]);

为了记录:发帖,回复操作,需要记录事件:

_gaq.push(['_trackEvent', 'reg_用户注册(categorie)', '用户名(action) '])
_gaq.push(['_trackEvent', 'cate_板块名称(categorie)', '发帖 (action)', '帖子标题(label)'])
_gaq.push(['_trackEvent', 'cate_板块名称(categorie)', '回帖 (action)', '帖子标题(label)'])

在目标里,需要指定这儿的三种类型的事件,分别为:reg, topic_new,topic_reply,根据这三种目标对你的重要性,指定目标价值,如:reg为10元,topic_new为5元,topic _reply为5元。

细分,自定义报表:

按user_type作为维度来细分,看会员和游客的:平均PV,平均停留时间,访问最多的页面等信息。

按触发了:发帖,回帖事件的访问细分,看活跃用户的访问习惯。

按站内搜索的关键字,看论坛用户想找的内容。

按:user_type,Page path level 1为维度,Pageviews,Bounce Rate,topic_new(Goal1 Completions),topic_reply(Goal2 Completions)为指标设计自定义报表,依次看:会员和访客,各个板块的PV,跳出率,发帖数,回复数等信息。

按:source为维度,Visits,Bounce Rate,reg(Goal3 Completions),reg(Goal3 Conversion Rate) 为指标设计自定义报表,看:各个来源的访问数,跳出率,注册人数,注册人数的比例,来分析哪个来源带来了最多的注册。

小结:

在有了良好的网站结构,区分了用户类型,记录了用户事件,指定了目标的基础上,如何细分,如何做自定义报表,就是一件很容易的事情了,可以根据业务需要,添加更多的报表,还可以定时发邮件,如:访问最多的帖子,站内搜索关键字,给相关的编辑运营人员。

完整的网站分析既有业务分析,也有技术实施的工作,前者需要熟悉业务,后者需要熟悉GA的功能,知道相关的分析如何在GA里设置和表现。论坛的网站分析,还是比较清晰的,如果分析电子商务站点,web2站点,则更为复杂,需要更多的摸索和学习,后面如果有新的收获,我会及时和大家分享的 :)。

 

 

移动应用统计的特点与注意点

移动应用的访问统计与传统网站的访问统计既有相同点,又有不同点,总体来讲,关注的方向是一致的:了解用户的使用情况。

相同点:

  • 用户量:总的唯一访客数,新老用户比例,每日(每周,每月)新增用户量
  • 使用情况:访问次数,每次访问的时长,每次访问的浏览量
  • 流量来源:用户来源
  • 事件与目标转化: 特定事件的次数与数值,注册,购买等转化情况

不同点:

  • 版本的概念:需要统计不同版本的用户量访问情况,需要统计老版本的升级情况,如:每天有多少V1.0用户升级到v2.0
  • 渠道的概念:需要知道不同电子市场的下载量
  • 应用内购买:需要知道内置购买的销售情况
  • 数据记录提交方式的区别:网站是通过js脚本统计,而移动应用是通过打包组件的方式统计。网站是即时提交,移动应用要考虑网络环境,需要支持批量提交,或指定在wifi环境才提交

移动应用会特别关注的数据:

  • 设备(ipad,iphone,itouch,android的各种硬件)
  • 分辨率
  • 操作系统
  • 网络运营商:3G,WAP,电信,网通

目前的移动应用统计工具有2类:

  1. 通用型,用网站统计工具来分析移动应用的访问,如:Google Analytics
  2. 专用型,只做移动应用的统计
    国内的:友盟(www.umeng.com),百度移动统计(mtj.baidu.com),CNZZ移动统计(mobile.cnzz.com
    国外的:flurry(www.flurry.com/product/analytics/index.html),apsalar(apsalar.com

通用型工具的好处是:网站,移动应用通吃,原有的网站分析经验可以沿用。

缺点也很明显:

  1. 一些报表,维度,指标,移动应用根本用不到,都放在一起,界面很庞杂
  2. 移动应用的一些特有的数据指标要用网站统计的名词来描述,有时会很别扭

当然google是知道这个问题的,最近正在测试针对移动应用的统计工具,详细介绍见:http://www.36kr.com/p/123482.html,申请地址在这儿:https://services.google.com/fb/forms/mobileappanalyticsbeta/

专用型工具基本上都差不多,国内做的比较好的有友盟统计,除了针对移动应用分类清楚的报表外,还有:错误信息统计,用户反馈统计,与行业数据比较等功能。

移动应用的统计部署准备:

  1. 明确应用的特点:带来注册,更多的内置购买,还是免费,做品牌推广
  2. 规划要统计的事件,如:点击播放,点击下载
  3. 规划目标转化:如注册流程,定义好步骤,以便分析各个步骤的跳出率
  4. 明确数据提交的方式:启动时提交,即时提交,批量提交,wifi情况下提交

 

引荐流量查看完整的引荐路径

网站的流量来源基本上可以分为:直接,引荐,搜索,付费推广几种。

在引荐流量报表中,我们可以看来源站点,访问次数,每次访问的浏览量,跳出率等信息。

点击其中的一个站点来源,如:wap.soso.com,可以看该站点的引荐路径列表。

这样可以分别看各个引荐路径给我们带来的流量和转化率信息,但这儿的引荐路径丢失了查询参数信息,完整的路径应该是这样的:http://wap.soso.com/sweb/search.jsp?sid=Adexyj_VKXWqXjbyrRVTA7aB&st=input&g_ut=3&biz=newHome&key=game&icfa=1334008

为了查看完整的引荐路径,你需要创建一个过滤器,把完整的路径保存在用户变量(User Defined Value)里,就像这样:

还是刚才的引荐路径列表,选择次级维度的:用户变量(User Defined Value)即可。

如果用户变量有别的用途,也可以在过滤器里,把完整的路径保存到其他字段里,如不那么重要的Flash版本字段。

参考信息:

2016 补充:

在最新的UA版本里,推荐的做法是先创建一个hit级的自定义维度:

hit级自定义维度

然后在过滤器里,把完整的引荐路径存在这个维度里。

filter

然后看报表时,次级维度选择这个自定义维度即可。

次级维度

 

 

完整标记搜索引擎流量

我们在GA的搜索引擎流量报表里可以看到:搜索引擎列表,以及查询关键字等信息。

在GA里,标记流量类型和关键字是在客户端ga.js里做的,简单的流程是这样的:

在ga.js里维护了一份:来源名称,查询字段 的列表:

search_engine_list = [
    ["baidu", "wd"],
    ["google", "q"],
    ["bing", "q"]
];

假设用户在百度查询:game,然后来到了你的站点,这时引用页地址是:http://www.baidu.com/s?wd=game,引用页的主机host是:www.baidu.com。

先检查主机host,看是否包含search_engine_list里的来源名称字符串,如果包含,检查引用页地址里是否包含对应的:wd 字段,如果包含,则获取对应的值。 对于我们这儿的搜索:来源类型为organic,来源为baidu,关键字为game。

那么如何知道ga.js里最新的搜索引擎列表呢?

首先获取并保存一份:http://www.google-analytics.com/ga.js

用记事本打开,搜索:baidu,这时会有一串长长的空格分隔的搜索引擎列表字符串,拷贝出来,然后手工换行一下,会得到这样的列表:

pchome:q
images.google:q
google:q
yahoo:p
yahoo:q
msn:q
bing:q
aol:query
aol:q
lycos:q
lycos:query
ask:q
netscape:query
cnn:query
about:terms
virgilio:qs
live:q
baidu:wd
……..

基本上国外的主流搜索引擎都在这个列表里了,国内的,只有百度在其中,那么如何添加国内的搜索引擎呢,最简单的做法是在ga的统计代码里添加以下内容:

_gaq.push(['_addOrganic', 'sogou', 'query']);
_gaq.push(['_addOrganic', 'soso', 'w']);
_gaq.push(['_addOrganic', 'gougou', 'search']);
_gaq.push(['_addOrganic', 'yodao', 'q']);

这样从:sogou,soso等国内搜索引擎过来的查询就能被正确标记出来了。

区分图片,视频搜索:

用过百度统计的用户知道,在百度统计的搜索引擎列表是可以区分:网页,视频,图片搜索的,这样如果你的站点以图片视频为主的话会很重要。

那么我们在GA里如何区分这部分流量呢?

以百度视频搜索为例,当我们搜索game时,这时引用页地址是:http://video.baidu.com/v?word=game&ct=301989888&rn=20&pn=0&db=0&s=0&fbl=800,主机host是:video.baidu.com,查询字段是word。

这样只要在统计代码里加上如下内容即可:
_gaq.push(['_addOrganic', 'video.baidu.com', 'word', true]);

注意最后一个参数true,表示把该配置项插入到:search_engine_list列表的开头,否则的话,会被baidu匹配。
详细说明见:_addOrganic使用说明

完整的列表如下:

// baidu
_gaq.push(['_addOrganic', 'image.baidu.com', 'word', true]);
_gaq.push(['_addOrganic', 'video.baidu.com', 'word', true]);
_gaq.push(['_addOrganic', 'news.baidu.com', 'word', true]);
_gaq.push(['_addOrganic', 'baidu', 'word']);

// sogou
_gaq.push(['_addOrganic', 'pic.sogou.com', 'query']);
_gaq.push(['_addOrganic', 'v.sogou.com', 'query']);
_gaq.push(['_addOrganic', 'news.sogou.com', 'query']);
_gaq.push(['_addOrganic', 'sogou', 'query']);

// soso
_gaq.push(['_addOrganic', 'image.soso.com', 'w']);
_gaq.push(['_addOrganic', 'video.soso.com', 'w']);
_gaq.push(['_addOrganic', 'news.soso.com', 'w']);
_gaq.push(['_addOrganic', 'soso', 'w']);

// youdao
_gaq.push(['_addOrganic', 'image.youdao.com', 'q']);
_gaq.push(['_addOrganic', 'video.youdao.com', 'q']);
_gaq.push(['_addOrganic', 'news.youdao.com', 'q']);
_gaq.push(['_addOrganic', 'youdao', 'q']);

// gougou
_gaq.push(['_addOrganic', 'pic.gougou.com', 'search']);
_gaq.push(['_addOrganic', 'movie.gougou.com', 'search']);
_gaq.push(['_addOrganic', 'gougou', 'search']);

// google
// 修改域名为 images.google.*,现在默认的图片搜索的域名是 wwww.google.*
// 参考:http://productforums.google.com/forum/#!category-topic/analytics/discuss-issues-related-to-your-accounts-reports-and-data/5EWfEexJyUY

var ref = document.referrer;
if ((ref.search(/google.*source=images/) != -1)) {
var regex = new RegExp('.google.([^/]+)(.*)');
var match = regex.exec(ref);
_gaq.push(['_setReferrerOverride', 'http://images.google.' + match[1] + match[2]]);
}
_gaq.push(['_addOrganic', 'images.google', 'q', true]);

图片,视频,新闻搜索的自定义报表:

虽然标记了这些搜索引擎来源,但这儿的来源和关键字因为数据量小,很容易隐藏在网页搜索的内容里,最简单的办法是为这部分流量创建一个自定义报表。

筛选条件是:

Traffic Type = organic
Source = (images.google)|(.com)

共享地址:
添加该自定义报表到GA

多站点Google Analytics脚本部署与管理

ga脚本部署有2个地方需要注意:

1 ga.js 的CDN加速

由于国内网络环境的复杂性,像教育网,铁通等环境,加载 http://www.google-analytics.com/ga.js 会速度慢,影响页面加载和数据的收集,解决的办法是放到自己的CDN加速服务器上,同时用脚本,定期获取最新的ga.js。如果没有自己的CDN服务加速,也可以考虑用又拍的云存储,www.upyun.com,顺便把静态资源放上去。

下载:ga.js 的定期更新脚本

2 各个站点的统计脚本统一管理

ga的统计脚本需要做定制才好用,如:增加国内的搜索引擎,忽略品牌关键字,指定cookie作用域等,这些脚本如果都直接写在各个站点页面里,需要统一更新时会很麻烦,推荐的做法是,按站点,创建多个独立的脚本,例如:

[ga_jiyang.js]

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-00000000-1']);

_gaq.push(['_addOrganic', 'sogou', 'query']);
_gaq.push(['_addOrganic', 'soso', 'w']);
_gaq.push(['_addOrganic', 'gougou', 'search']);
_gaq.push(['_addOrganic', 'yodao', 'q']);

_gaq.push(["_addIgnoredOrganic", "品牌关键字1"]);
_gaq.push(["_addIgnoredOrganic", "品牌关键字2"]);

_gaq.push(['_setDomainName', '.jiyang.me']);

(function() {
var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true;
ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.your_cdn_site.com/ga.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s);
})();

然后在各个站点加载对应的js脚本即可
<script type=”text/javascript” src=”http://www.your_cdn_site.com/ga/ga_jiyang.js”></script>

参考资料:

ga脚本的官方帮助:
https://developers.google.com/analytics/devguides/collection/gajs/

ga脚本更新列表:
https://developers.google.com/analytics/community/gajs_changelog