分类目录归档:网站分析工具

网站分析工具的收集和介绍

SkyGlue—用GA标记用户生成点击流

skyglue  最早看到SkyGlue这个工具是在Cloga博客的文章,后来经过jasseyyang的推荐,向SkyGlue的cindy申请开通了博客GA账号的试用。经过一段时间的使用,现在来简单介绍一下SkyGlue这个工具。

  SkyGlue是Google Analytics的一个扩展工具,基于对网站中唯一访客的识别和标记,自动追踪网站的事件监控,记录用户操作的点击流数据。SkyGlue同样是通过JS页面标记进行安装部署,不过前提是你已经部署了GA的代码,因为SkyGlue其实是对GA标记的扩展。SkyGlue的JS会自动判断并监控页面的可交互按钮和链接,包括输入框、视频、图片等,监控用户的交互操作,并将结果通过事件追踪(Event Tracking)的函数提交给GA。

  SkyGlue提供的功能,主要是为了弥补GA本身存在的一些缺陷:

1、  GA用cookie标识访客,但是无法查看每个访客的信息和访问行为;

2、  GA用cookie标识访客,无法真正识别到用户,如果使用用户注册ID会更加准确;

3、  GA用Event Tracking可以定制监控用户的交互事件,但如果需要定制大量的用户交互,设置过于繁琐;

4、  无法追踪用户的生命周期,特别是对于跨Visit的分析和转化计算,比较无能为力;

5、  无法区分用户个体行为,使针对用户行为的细分和分析变得困难;

6、  GA大部分数据基于前后的页面浏览串联,对于页面中相同链接的点击操作未做区分,对站外链接的点击未做监控。

  来看一下SkyGlue的报表页面截图,用户的列表里面显示了自动生成的用户ID、来源、国家、城市及在所选时间段内的总访问数和页面浏览量:

 skyglue-users

  点击每个Userid就可以进入该用户的点击流数据,按照操作的时间排序,如:

skyglue-events

  上图是在SkyGlue网站的User Report上查看数据,报表会对用户操作做下分类,包括Pageview和Click,Click显示了用户通过点击哪个链接或者图片进入了页面,Pageview则显示了进入的页面的URL。同样在Google Analytics里面也可以在Event的报表中查看这些细节数据,对于SkyGlue的具体功能和使用这里不详细介绍,有兴趣的朋友可以去他们的网站查看。(这篇文章主要是看到SkyGlue这个工具能够弥补GA的一些功能缺陷,而且完全基于GA本身进行扩展,无论是工具的实现和一些细节设置都有许多可取之处,当然也因为cindy的邀请,希望将他们的工具在国内做些介绍,所以只是想介绍一下这个工具的功能和对分析的帮助,没有任何广告的意思,如果不喜欢的可以忽略这篇文章。另外,SkyGlue是需要收费的)

  SkyGlue提供的功能在分析上体现的价值主要两方面:一是使针对独立访客的分析成为可能二是使针对客户操作细节的分析成为可能

  首先,GA是不提供用户的点击流数据的,也就是我们无法区分每个用户去观察用户的操作步骤,GA的数据都是经过一定维度聚合的,这样就丧失了对独立用户进行分析的可能性。通过SkyGlue的扩展,对访问网站的每个访客做了标记(类似GA的cookie,自动生成一个字符串来标识访客,同时可以标记注册用户的UserId,注册登录后可以在Track registered users里面设置网站的注册登录页面及相应的表单元素的名称),这样GA就具备了每位访客维度的数据,不仅可以观察每个访客在一个访次(Visit)内的浏览和操作情况,更重要的是可以跟踪访客的整个生命周期的行为,合并多个Visits分析每位用户行为,同时针对用户特定行为的过滤和细分也成为可能。最常见的就是我们要分析那些访问深度(Depth)很长的用户,他们到底是频繁穿梭于各类导航索引页面一直迷失,还是真正在浏览他们感兴趣的内容;或者用户如果未在一次访问中完成转化,那么有没有可能在之后继续访问并完成转化,他们在转化前做了什么?同时可以分析每位用户的忠诚度指标和生命周期价值的体现。

  然后就是操作细节,从图中我们可以看到SkyGlue对用户操作的记录是非常完整的,不仅有Pageview,同时包含了用户点击链接(动作包含“A”关键字)的链接名或者点击图片(动作包含“img”关键字)的图片名,如果是站外链接会有“outbound”标记进行区分,还有输入标记“INPUT”等,这就一次性解决了GA中隐藏的一系列问题:无法区分指向相同链接的点击、无法监控站外链接的点击等。这些对网站用户体验的分析优化是非常有用的,具体可以参考博客中关于点击情况分析和用户体验分析的文章。另外,SkyGlue在自动识别监控可交互页面元素的基础上也支持自己定制需要监控的页面事件,可以在登录进去之后的Customize Event Tracking添加新事件的监控或者变更现有事件。

  既然SkyGlue解决了一些GA的局限性,具备了使用的价值,同时也给使用带来了一些复杂性。SkyGlue基于标识用户之后使用GA的事件监控生成了用户的点击流数据,输出了大量的细节数据,这些数据细到用户的每一步点击和输入操作,对于观察分析而言就没有GA本身的聚合数据那么直观了,所以就需要更多地结合过滤和细分的方法去处理和定制数据,SkyGlue提供了一些定制的报表,结合Event Tracking对Category=>Action=>Label的钻取,让我们可以更加有效地去做些分析。但GA的优势就在于使用的灵活性和可定制性,对于那些DIY能力强的人来说,细节数据往往能够给他们带来更加丰富的分析视角,所以如果你喜欢自己捣腾下GA的话,也可以试试SkyGlue这个工具。

Google Website Optimizer报告解读

google-website-optimizer  前段时间用博客的几个测试页面尝试了下使用Google Website Optimizer做A/B测试,经过这段时间收集了一些测试数据,感谢大家帮忙点击。其实之前一直想介绍Google的这个网站对比实验优化工具,完全免费而且操作简单,并且在不久的将来独立的Google Website Optimizer就会消失,这块功能会被整合到Google Analytics里面,相信很多GA的用户已经在Content模块中发现了新增的Experiments这个功能,这个就是从Google Website Optimizer衍生而来,功能和使用上面应该会有些调整和变化。

  对于Google Website Optimizer的使用其实并没有那么复杂,使用实验的创建向导结合网页的提示和帮助,普通的用户创建自己的实验完全没有问题,只是网站的千差万别可能有很多的细节方面需要注意,或者需要想一些办法让实验过程和监控结果更加有效。所以这里不介绍GWO工具使用本身,我比较感兴趣的其实是实验输出的结果报表,里面涉及对结果的区间预估,测试方案胜出的概率,提升幅度等,这些指标都用统计学的方法计算得到,相比直接比较两组观察值,比较结果更加科学,更具说服力。

  首先看下GWO输出的报告,这里用的是A/B测试,如果使用Multivariate Testing(MVT)报告会有细微的差异,但指标及统计逻辑应该是相同的:

GWO-Report

  我用GWO实现了一个最简单的A/B测试,一个原始版本和一个测试版本,输出的报告主要是比较实验过程中设定的转化率。上方的折线图显示的是原始版本和实验版本的转化率趋势,截至目前的转化情况显示在下方表格的最右侧(Conv./Visitors),从指标名称看,GWO衡量转化率用的是转化的用户数,应该使用Cookie来唯一识别用户(这里仅是在博客新建了几个简单测试页面,所以数据量较小,而转化率相比正常网站都明显偏高)。

  所以,这里重点研究了下图中表格红框内的3个指标,看它们是如何计算得到的。

估算转化率

  从图中红框1中可以看到Est. conv. rate,GWO报表对目前得到的转化率做了正负区间的预估,进而可以得到目前该版本转化率可能的置信区间(详见前一篇文章——参数估计与置信区间),这里用当前的转化率估计该版本的总体转化率p,进而可以计算得到总体标准差σ= sqrt(p(1-p)/n),比如这里原始版本的总体标准差约为0.0540,而测试版本的标准差约为0.0647,根据Zα/2×σ计算得到的上表中正负的7.6%和9.1%,所以我们就可以猜出GWO用的Zα/2大概为1.4,这个数值我在测试期间接连验证过几次,基本非常稳定,根据Z值表,这个置信区间大概的置信度在84%,也不知道为什么GWO要选择这么个置信度。

  红框1的上方我们可以看到GWO根据测试的效果将测试版本分成了三类,分别用绿色表示胜出的测试版本,黄色表示不确定的测试版本,红色表示落败的测试版本。Google仅给出了简单的说明,建议我们可以选择使用显示为绿色的版本,因为它们有很大的可能性(也只是可能)优于原始版本,而显示红色版本建议可以停止测试。具体到指标需要达到怎样的水平才会显示绿色或红色,我没有去验证,有使用经验的或者感兴趣的同学可以去观察下试试。

胜过原始版本的几率

  之前在T检验和卡方检验这篇文章介绍过可以使用卡方检验的方法来比较二项分布数据间的概率是否存在显著差异,但卡方检验只能检验差异的显著性,没法直接说明某组样本的概率有多少的几率超过另外一个样本,所以在GWO的报告里面没有使用卡方检验,而使用了单尾Z检验。当样本数量超过30的时候,我们一般会使用Z检验来替代T检验比较两组独立或配对样本间的均值差异,因为这里只是为了证明一组样本概率明显超过另外一组样本的可能性,所以使用了单尾检验。计算Z统计量的公式如下:

Z-Test

  根据表格的数据,原始方案和测试方案的转化率均值p分别为78.9%和78.0%,根据公式S2=p(1-p)分别计算两组样本的方差为0.1665和0.1716,而两组样本数n分别为57和41,进而计算得到Z=0.1068,查Z值表可得Z=0.10的概率为46.02%,Z=0.11的概率为45.62%,表中显示的Chance to Beat Orig.=45.9%,介于两者之间,使用的应该是类似的统计方法得到的值,偏差是因为中间精度处理引起的。

观察到的改进

  图中红框3的Observed improvement,这个指标需要结合红框1的转化率置信区间来看,结合条形图可以比较清晰地得出结果,看下我用Excel画的展现估算转化率的类似条形图:

GWO-est-conv-rate

  这里我用了两条辅助的虚线,如果第一个是原始版本,那么测试版本所有与原始版本转化率预估区间的差异都会用颜色展现,而观察到的改进就是着色区间的转化率差异。比如图中第二个条形的红色区间展现的相应值为-4.2%,而第三个应该是-1.6%+0.6%=-1.0%,即左侧的负值区间加上右侧的正值区间,第四个为2.9%。这样GWO报表中所有指标的计算都可以明确了 :)

  其实,大部分时候我们使用工具来完成分析或测试的过程,也不一定非要了解所有指标最底层的计算逻辑,我们只要知道这些指标的含义及作用,在分析具体问题时合理地使用这些指标就可以。而有些时候我们只能统计得到一些基础数据,所以如何使用这些基础数据得到一些有价值有说服力的分析结论就需要用到一些合适的统计学方法,这也是这篇文章去解读GWO输出报表的原因。

了解网站页面的点击情况(续)

click  前几天一个朋友让我试用了他们自己开发的记录和统计页面链接点击的工具,实现的功能类似于我上一篇文章——了解网站页面的点击情况介绍的Google Analytics上面的In-Page Analytics的功能,并且弥补了In-Page中的一些缺陷,因为这个功能无论是实现方式还是一些面向应用的设计都非常棒,所以忍不住开一个续篇来介绍一下。

  非常感谢@jasseyyang能够让我体验和试用他们自己开发的工具,跟我交流分享了工具实现过程中对一些功能的设计和考量,很多功能点都是jasseyyang根据自身应用的需要设计添加的,所以整个工具最后的实用性非常好,与他设计阶段细致的考虑是分不开的,工具的设计和实现jasseyyang已经在他的博客中进行了介绍——页面点击分析工具设计与实现

部署和使用

  首先不得不说下这个工具的部署和使用,因为很好地诠释了易用性和方便高效的数据查看体验,对于所有产品而言,易用性和使用体验都尤其重要,数据分析工具也同样如此,所以我们往往会借助图表和一些可视化方法来展现数据,但所有的数据可视化都不宜“喧宾夺主”,这里的“主”当然是数据所要表达的观点(Insight)。合理使用数据可视化可以帮助我们更高效地理解数据。

  跟很多网站分析工具一样,这个工具也使用了嵌入JS页面标记的方法,在需要监控的页面中加入一行短短的JS代码就可以,其实就是加载了一个.js文件,所有功能都包含在这个文件里面了。

  然后就是如何查看数据,只要在页面的URL后面加上#hotlink,比如我的博客首页当使用“http://webdataanalysis.net/#hotlink”时页面就会显示出各链接的点击数据,与In-Page Analytics的展现形式一样,使用了顶部的悬浮导航条和黄色小气泡,看下我的博客的截图效果:

hotlink

  悬浮导航条上面的一些选项可以对数据做一些细分和筛选,下面会介绍,页面的每个链接的旁边都会出现一个黄色小气泡显示在导航条指定条件下的点击数。当然数据的显示有权限控制,只有具有权限的用户在使用#hotlink之后才会显示数据。这个方法确实非常方便,其实很多工具都可以学习借鉴。而且点击数据的统计和显示基本都是实时的,当前产生的点击马上就会被累加显示。

数据的筛选和细分

  GA的In-Page Analytics功能没有提供直接的数据筛选和过滤功能,但我们可以通过高级群组和高级过滤器等进行数据筛选,而这个工具直接在悬浮导航栏中提供了一些基础的数据筛选和细分,包括日期和时间段、来源、新老用户:

hotlink-navigation

  如上图,导航栏最左侧直接可以选择查看今日和昨日的数据,同时也支持时间区间的选择,如这里我选择了5月18日至5月20日的所有页面点击数据。

  来源的细分也做得非常好,不但可以查看来源网站的域名(左侧的下拉框),同时支持来源网站的进一步细分,比如这里选择的是百度,因此来源被当做了搜索引擎,点击来源下拉框旁边的“来路详细”之后就会在右侧显示搜索关键词即每个搜索关键词带来的点击数;如果来源非搜索引擎,而是普通的外部链接网站,那么显示的“来路详细”就是该网站中链过来的具体页面URL,使用来源细分我们可以进一步明确各来源页面带来的点击,各搜索关键词带来的点击,及这些点击发生在页面何处,如何分布,这些在分析网站的推广效果的时候格外有用。

  最后就是位于中间的“新老访客”细分,根据jasseyyang的介绍,新老访客的识别不是根据全站的访问,而是根据每个页面的点击情况进行记录,如果用户在一个页面产生了点击,那么当用户第二天重新进入这个页面时,用户就算是该页面的老用户。这个定义考虑了具体的业务应用,因为如果用户没有访问过一个页面,即使该用户进入过你的网站,该页面对该用户而言也是陌生的,相应的产生的点击也应该是用户首次浏览该页面时感兴趣的链接。

实际的应用

hotlink-external-links  GA的In-Page Analytics功能虽然同样提供了页面的点击数据,但因为其本身统计方式上的缺陷,导致在使用中会遇到一些麻烦,造成了应用的一些局限性,而这个工具很好地解决了这些问题。

  解决的第一个问题是对外部链接的监控,如右图所示,我的博客友情推荐了另外一个朋友的一个数据监控工具,图片链接指向该工具的介绍页,像这类网站外部的链接的点击数据在GA的In-Page Analytics是不显示的,只有通过配置事件监控等方法才可以监控统计;再有就是基本每个博客中都有的友情链接表,比如我的博客会跟一些同行业朋友的博客交换链接,相互推荐,这些链接也都是站外链接;再如网站里面投放广告或者链到其他域名下的推广链接,对这些点击数的统计就可以评估广告投放的效果,其实CTR就是CPC类广告一个非常重要的考核指标。

  工具解决的另外一个问题是GA的In-Page Analytics对同一页面中相同的链接是不区分的,这样我们就无法知道点击到底来源于哪个链接,如我的博客首页展现的每一篇文章的区块其实都有3个地方可以进入该文章的详情页:

hotlink-duplicate-links

  文章的标题、文章的缩略图和阅读更多……都可以点击进入文章页面,所以我们有的时候从用户体验设计的角度会考虑内容的曝光到底是使用文字链还是使用图片抑或是文字链结合图片的效果更佳?使用这个工具就能够有效地完成这个评估。其实这个问题在之前分析手机端的应用产品时遇到过,因为手机的屏幕有限,所以每次可以曝光的内容就会受限,而我们知道尤其是首页第一屏的内容展现又尤为重要,如果我们使用图片结合简单文字说明,那么一屏可能只能曝光2-3个内容,而如果换成纯文字链接,那么可以曝光的内容可能可以增加一倍,但有时精美的图片可以有效提升用户的兴趣,进而吸引用户的点击和浏览,所以这个时候我们就需要权衡,而结合数据分析的方法可以给我们更科学和有说服力的答案。

  当然,这个工具是他们内部使用的,所以肯定还可以做很多定制性的东西,比如定制网站的目标,跟GA的In-Page Analytics一样既可以监控点击同时可以监控目标到达的情况;或者可以对某些特殊的链接做标记,以便对一些链接做特殊的细分等等。我想如果市场上有这样的工具,应该很多网站也会尝试去使用的。

了解网站页面的点击情况

  有时候我们需要了解网站页面中各链接的点击情况,尤其是网站的首页和一些中间页,这对网站的内容编排、用户体验优化都能起到很好的指导作用。Google Analytics的老版本有Site Overlay(网站覆盖图)的功能,可以查看网站首页的点击分布情况,新版本将这个功能重新命名为In-Page Analytics,可以在Content模块中查看,下面是我的博客的一张使用截图:

Google-In-Page-Analytics

  如图所示,GA的In-Page Analytics用气泡的形式显示了页面中每个可点链接的点击转化率(CTR, Click Through Rate),这里页面中各链接的点击转化率是通过页面链接的点击次数除以页面浏览次数计算得到的,用来表现用户在浏览当前页面的时候更倾向去往哪些下一页面,具体的点击次数会在鼠标移动到相应链接后显示。

  其实使用GA的In-Page Analytics不仅可以观察页面中各链接点击情况,还可以观察页面当前显示部分的点击占比,比如上图该页面显示部分的点击占比为1-41%=59%,图中最下方显示还有41%的点击是在当前显示部分的下方。这个功能其实可以告诉我们一些非常有用的信息,用户在浏览页面的时候更倾向于在哪一屏发生点击?因为目前大部分网站的页面都不会在一屏就结束,用户浏览完整的内容往往需要使用鼠标的滚轮或者进行下拉,那么大部分用户到底会关注到页面第几屏的内容,这个功能每一屏的点击占比分布可以告诉我们一些线索。

  先解释一下这里“一屏”到底是一个什么概念,这里一屏主要指用户在打开页面不进行下拉时所能显示的页面长度部分,这跟电脑的显示器和屏幕分辨率有关,比如我的博客首页在我的笔记本上打开大概显示4屏多一点,在分辨率较低的显示器下面可能需要显示的屏数就会增加,需要更多的下拉;而分辨率高的显示器一屏内能够显示的页面更长,可能就不再需要4屏。

  用户浏览页面的内容是有局限性的,并且用户对内容的兴趣和耐心也是有限的,用户往往只会重点关注一下子就映入眼帘的内容,所以页面的前面部分一定会有更多的用户关注,而随着不断下拉,后面部分的内容的关注度逐步减少,我们可以根据In-Page Analytics上面提供的数据来看看这个局部减少的过程:

page-click-distribution  根据我的博客首页的点击分布情况,超过60%的点击发生在第一屏,第二屏基本上占据了30%左右的点击,第三屏在6%-7%,下面所有剩下了几屏仅有2%-3%的页面点击占比,我们可以使用点击热图分析得到类似的页面点击分布情况。可能有人会说你的博客大部分的链接都集中在第一屏和第二屏,之后几屏的链接数量都比较少,所以点击占比前面两屏很高也是说得过去的,有一定的道理,但即使博客的第一屏和第二屏有近似密度的可点击链接,可以看到第二屏的点击量相比第一屏还是出现了大幅的衰减,另外可以通过点击热图等工具看看页面每一屏的无效点击数,基本可以看出分布的情况也大概符合上面的规律,逐屏大幅下降,在3屏之后寥寥无几。

  如果你细心关注过国内外的各个门户网站,可以看到国内外门户网站页面长度的设计存在明显的差异。可以尝试去上下Yahoo!主站、BBC、CNN等国外主流门户,基本上这些网站的首页长度设计在3-4屏;再看看国内的几个门户,网易5屏、腾讯接近6屏、新浪更是恐怖的8屏(都是基于我自己的笔记本上显示)。所以如果大部分用户浏览网站的习惯跟我的博客使用Google In-Page Analytics上面分析得出的结果相符,那么国内门户的首页后面几屏的内容基本都成为了摆设,因为100个人里面只有2-3个人会关注到这些内容。

  在之前的工作中分享“如何有效提升内容曝光点击率”也提到过类似的问题,必须格外重视首页第一屏的内容质量和呈现方式,因为这部分的内容将主导网站内容的曝光点击率。很明显,一个网站的首页浏览量大概占据了全站的20%到30%(因网站设计而异),而首页的第一屏又占据了首页60%以上的关注度,所以可以看到首页第一屏对整个网站而言是何其的重要。

categories-and-tags-click  当然,In-Page Analytics功能另外一个重要的用户就是分析各内容列表或模块的点击情况,如下图的博客侧边栏“分类目录”和“标签”两个模块的点击情况:

  如左图所示,用户显然更喜欢通过“分类目录”查看博客的内容,用户最喜欢点击哪些分类?有点出乎我的意料,“数据分析方法”和“网站分析工具”两个目录更受欢迎,想必大家都喜欢阅读和学习下工具和方法方面的内容,以后尽量多整理一些这方面的内容。 :)

  新版V5版的Google Analytics的In-Page Analytics不仅仅支持网站首页的点击情况统计,在Content模块Site Content的Pages我们可以看到上方的“Navigation Summary”标签旁边有“In-Page”标签,GA已经支持了所有页面的点击分布图,而且都是免费的,你只要在选择相应页面后点击这个“In-Page”标签就可以进行查看。

  每个页面有了点击分布情况的统计,这样对于页面各个模块或列表的效果评估就变得简单很多,正如我之前的文章——优化相关内容推荐介绍的是使用“Navigation Summary”来评估相关内容推荐模块的点击效果,这里就可以尝试使用In-Page Analytics来分析数据表现:

  右图是《T检验和卡方检验》这篇文章下方的“相关文章”推荐模块的点击情况,可以看到推荐的5篇文章都获得了不错的点击转化率,但显然排在第2位的《提升用户满意度》这篇文章的数据还不够给力,或许用户不喜欢点击这类内容看上去会比较空的标题。

related-content-click  图中有个细节不知道各位有没有注意到,“相关文章”的推荐模块只是上部分,下面还有两个链接分别指向上一篇和下一篇发布的文章,而刚好“下一篇:比较测试的设定和分析”是跟相关文章推荐模块有重复的,而这里显示的点击转化率都为5.7%,其实在In-Page Analytics这个功能里面页面中的相同链接GA是不进行分辨的,也就是GA只认URL为标识,不区分这个URL链接在页面中的位置,大概的统计逻辑应该是一个页面中链接的点击次数为referral是该页面的链接URL的浏览次数Pageviews,所以一个页面中重复链接中输出的点击率应该是根据所有相同链接点击总数计算得到了,数值是完全一致的。比如《比较测试的设定和分析》这篇文章的链接在《T检验和卡方检验》文章页面会有3个地方出现,包括图中的那两处还有右侧边栏的引导到下一篇的链接,这3处地方显示的点击转化率是这3处发生点击的总和计算得到的,数值是完全一致的。

  GA的这个处理方式给针对某个模块点击效果的评估造成了一定的困难,因为点击次数无法区分是否来源于那个模块,或者是由于其他相同链接的点击带来。当然,解决方案还是有很多,可以为模块的链接加上参数,如“相关文章”模块的链接都带上?from=related-content,也可以使用GA的事件追踪(Event Track)和虚拟页面(Virtual Page)这两种方式,具体参考用户点击与网站目标中的介绍。

  文章的内容虽然一般是在周末整理编辑的,但因为周一大家都比较忙,所以选择在周二或周三发布出来,希望大家有时间可以仔细看下。 ;)

userfly—网站可用性测试工具

  博客之前介绍过网站点击热图的测试工具,同样是用于分析和优化网站的用户体验,而这篇文章中介绍的这个工具更加全面和可视化,叫做userfly

  userfly几乎可以监控用户在网站上的所有操作,通过视频的方式录制并提供回放和下载,可以记录的用户行为包括:

  • 监控鼠标的移动、点击和选取;
  • 监控文本框的输入、选择框的选取;
  • 记录页面的缩放、上下滚动和页面浏览的跳转;
  • 监控对链接、按钮的有效点击;
  • 排除对用户输入密码的记录,保护隐私。

  我看到的就是这些,也许还有更多,这里将试用该工具录制下来的网页录制成了Flash视频:

[swfobject]833[/swfobject]

  看到Demo的效果时,我有被这个工具吓到,上面是我在自己博客中的试用,可以看到几乎一切的操作都被录制了下来,包括所有的移动、点击和输入,也包括在浏览文章时可能出现的走神或者离开去做了其他事情,这些都一览无余。我怀疑这是否在一定程度上侵犯了用户的隐私,当然现在我的博客上的监控代码已经撤下来了,大家不用担心自己的操作会被“偷窥”,这里也建议如果你的网站准备使用这类工具最好事先提醒下用户:他们的操作可能会被记录监控,这是对用户的一种尊重。

  当然这种功能强大的工具不可能让你完全享受免费的午餐,你可以有一个月10次的免费捕捉用户行为的机会,如果需要更多,那么就要支付相应的费用了。建议研究网站用户体验的同学可以去试用下这个工具。

用户点击与网站目标

——基于Google Analytics的应用

click-and-goal    用户在网站的行为其实无非就是输入和点击,而点击又是最常见的行为,其实用户行为分析一大部分就是在分析用户各种各样的点击行为。我们可以通过各种途径来监控用户点击行为,同时各类网站分析工具都相继提供了丰富的事件监控功能,来满足不断发展变化的网站交互。刚好我的博客需要监控某些用户点击行为,并且要将这些点击行为设置成网站目标,所以这里跟大家分享一下我的实现步骤。

用户点击对你的网站重要吗?

  首先需要明确的是我们是否有必要去监控用户的点击行为,或者说用户点击对网站分析是否有价值?网站中有些按钮完全是交互或者浏览的需要,对于分析并不是那么重要,但显然有些按钮对于网站分析有着至关重要的作用,比如电子商务网站的“放入购物车”、“购买”、“支付”等按钮的点击;微博网站的“关注”、“发布微博”等按钮;视频网站的“播放”、“暂停”等按钮。通过统计和分析这些按钮的点击数据,我们可以对用户的这些对网站产生关键影响的行为了如指掌。

  我们需要去统计这些重要的用户点击,但也不是所有的这些点击都需要进行额外的设置,当点击跳转到一个新的页面时就会有新的Pageview产生,这类点击我们就不需要另外进行监控。但某些点击,比如Ajax架构的点击交互,或者是Flash中的点击按钮,抑或是出站的按钮或链接点击,这类行为不会产生新的页面浏览行为,也就不会有Pageview的记录,那么如果刚好这些点击像上面说的对网站来说是重要的,我们就必须对其进行监控和统计。

  以我的博客为例,对于我的博客而言,通过右方侧边栏最上方的5个按钮可以对博客进行订阅或关注,用户的这些行为对于我而言是十分有价值的,因为至少用户开始对我的博客内容感兴趣了,我需要知道每天有多少用户会尝试去点击这些按钮(无论点击的结果如何,因为最终的结果超出了监控的范围,无法追踪 =_=” ),其实通过Google Analytics就能简单地统计到这些点击数据。

Google Analytics的点击监控统计

  Google Analytics中监控点击一般通过事件追踪(Event Track)虚拟页面(Virtual Page)两种方式。我原先使用的是事件追踪的方法,因为事件追踪是GA专门为这类用户行为量身定制的,可以设置类别(Category)、行为(Action)、标签(Label),甚至可以为每个事件定义它的价值(Value),所以对于各类时间的分类汇总非常方便,比如我在RSS订阅中加入onClick=”_gaq.push(['_trackEvent', 'Feed&Follow', 'Feed', 'RSS']);”类别为Feed&Follow,行为为Feed,标签是RSS,另外设置邮件订阅的标签为为Email,关注的3个按钮的动作为Follow,再根据标签区分类别,这样就可以非常方便的看到汇总和细分的数据了(注意我这里使用的是异步代码,使用前请先看一下自己网站的GA代码类型,具体设置可以参考蓝鲸的文章——Google Analytics功能篇—事件追踪):

Event-Track-Drilldown

  但事件追踪有一个局限性就是无法设置为网站目标,熟悉Google Analytics的朋友都知道GA的目标只能是三种类型:页面浏览(URL Destination)、停留时间(Time on Site)、每次访问页面数(Pages/Visit)。所以如果我要将我的博客的订阅和关注的点击作为网站的目标,在GA中通过事件追踪的方式就没法实现了,就需要通过设置虚拟页面的方式,详细操作也可以参考蓝鲸的Google Analytics功能篇—虚拟页面,这里来说一下我的设置:

点击类型 追踪代码
RSS订阅 onClick=”javascript: _gaq.push(['_trackPageview', '/virtual/feed/rss']);”
Email订阅 onClick=”javascript: _gaq.push(['_trackPageview', '/virtual/feed/email']);”
关注Twitter onClick=”javascript: _gaq.push(['_trackPageview', '/virtual/follow/twitter']);”
关注Buzz onClick=”javascript: _gaq.push(['_trackPageview', '/virtual/follow/buzz']);”
关注新浪微博 onclick=”javascript: _gaq.push(['_trackPageview', '/virtual/follow/sina']);”

  但是设置虚拟页面后会出现另外一个问题,就是导致Pageviews的增加,因为虚拟页面也会被算到页面浏览量中去,所以还需要进行另外一步操作——添加过滤器,下面来看一下过滤器(Filter)的添加,及如何将点击行为设置为网站目标。

将点击设置为网站目标

  首先来看一下通过上面的设置后在Google Analytics的报表上显示的结果:

虚拟页面统计

  虚拟页面在数据展现其实与普通的页面浏览并没有区别,也是在Content模块中,可以在Top Content报表中查看,根据我上面的设置可以直接filter出包含“virtual”的页面统计:

content-virtual

  同时,根据上面虚拟页面的URL结构,也可以使用Content Drilldown中按层次一次向下展开,可以同时查看各类汇总数据和细分数据,详细介绍参考前一篇文章——让URL更适合分析。这样依次展开的顺序为:virtual=>feed=>feed的各子项,virtual=>follow=>follow的各子项,十分清晰。

设置网站目标

  因为虚拟页面已经将点击转变成了页面浏览,因此可以将这些行为设置成网站目标了:

Feed&Follow-Goal

  这里的目标类型(Goal Type)选择URL目标(URL Destination),我在这里使用了正则表达式进行匹配,将所有/virtual/feed或follow/开头的URL设置成目标,同时设置该目标的价值(Value)为10(对于博客而言,这类点击价值较高,同时博客还设置了其他的目标,价值相对低一些),这样按确定就设置完成了,可以在报表上查看每天的目标转化率(Conversion Rate)和价值了。

添加过滤器

  因为使用虚拟页面监控点击行为将点击当做了页面浏览统计,因此会导致网站的Pageviews虚高,我们需要将这些虚拟页面的浏览量从网站的Pageviews统计中过滤掉,所以需要用到Google Analytics的过滤器功能。首先要新建一个配置文件(Profile),这一步是必需的,因为一旦在配置文件中加入过滤器后不符合条件的数据就会直接被剔除,无法找回,所以我们必须保留一个最原始的配置文件以查看未过滤的虚拟页面的统计情况。我这里只要用到预定义过滤器(Predefined filter)中的排除子目录即可,详细的设置参见下图:

virtaul-filter

  只要把所有以/virtual/开头的子目录的流量过滤,然后把新建的配置文件放到下方右侧“已选择的配置文件”的区域即可,非常简单方便,之后你就可以从你新建的配置文件中看到“干净”的网站Pageviews的统计了。不过需要注意的是,因为在这个配置文件中虚拟页面被过滤,所以上面设置的目标只能通过查看原配置文件的报表中才能看到。

  最后总结一下,网站的点击行为统计对于某些网站的分析而言是十分重要的,基于Google Analytics的点击事件追踪可以通过事件追踪和虚拟页面两种方式,如果你单纯为了统计点击事件发生的情况(当然不一定是点击,同样适用于其它事件),那么时间追踪是非常不错的选择,如果你要将点击最为网站目标,那么就需要通过虚拟页面的方式了。我的博客也是刚换过来,大家也可以自己动手试试。

网站点击热图(Heat Map)

  网站分析通过统计点击流数据及网站产生的其他各类数据,提供各种数据报表来监控网站的运营状态,为网站的优化和改进提供参考依据。但网站分析能提供的绝不仅有数据,其中点击热图(Heat Map)是对网站分析的一个很好的扩充,目前网上介绍点击热图的文章也比较多,很多网站交互设计师用点击热图来评估用户与网站之间的交互状况从而改善用户体验。这里简单介绍几个点击热图的实现工具以及用我的博客做的点击热图的实验。

几款点击热图工具

  Sidney的博客中很早以前就介绍过一款点击热图的分析工具——Crazy Egg令人惊讶的优秀网站分析工具,文章是由Tenly写的。另外网上介绍比较多的点击热图工具还有ClickTabletealeaf,这些工具都是通过JS来实现的,只要在相应的页面上嵌入JS代码,就能在这些工具的网站上查看该页面的点击效果图,实现机制跟Google Analytics较为类似。这些工具一般都需要收费,但会有1个月的免费试用期,有兴趣的可以去试试。

  另外有一款开源的工具——ClickHeat,可以下载它的源代码部署到自己的服务器上,并在网站页面中嵌入相应的JS代码来生成点击热图,然后通过调用相应的页面查看。要部署ClickHeat,服务器需要支持PHP,同时因为点击的日志和所有统计结果都保存到了部署的服务器上,所以对服务器的空间和资源占用都比较高。

点击热图应用实例

  前段时间用我的博客做了下网站点击热图的试用实验,我用的是Click Density,跟ClickTable和Crazy Egg类似,也是通过嵌入JS的方法来实现的,在结果的输出页面可以选择点击的时间段、浏览器类型等条件对结果进行筛选,下面的生成的几张点击效果图:

Heat Map

heat-map

  因为我的博客访问量不大,所以热图的分布不是很明显,但还是能看出主要的点击集中在博客最新的文章上面;另外右侧的搜索、订阅和分类目录模块也占据了一定的点击比例。一般网站的点击都会聚集在全局导航栏的下面那一块,并且呈“F”型分布,在需要下拉的页面部分点击一般就会剧减(对于需要下拉查看的内容,除非用户找到了他们需要的信息,否则一般不会过多地进行点击)。

Click Map

click-map

  这张是点击分布图,红叉代表无效的点击,绿叉代表有效点击。这个图似乎比上面单纯的显示点击分布或点击密度更有价值,因为它显示了页面的有效点击,从图上可以看出用户在浏览我的博客时除了点击文章标题和搜索框外,订阅按钮上面也分布了大量的有效点击数,这个对于博客来说至关重要,因为博客类网站的一个重要目标就是产生订阅,所以通过这个图可以查看有多少有效点击转化成了网站目标,占总的点击比例及占总的有效点击的比例。

  另外可以看到图上的某些有效点击并非一定落在可点击的对象上,正是因为博客内容更新时导致页面元素(标题位置、内容摘要行数等)的偏移,而生成的点击不会跟随页面元素移动,导致了生成图片显示上的误差。

Hover Map

hover-map

  这个图其实相当与网页覆盖图(Overlay)或点击密度图(Click density),Google Analytics上面也提供了类似的功能。网页上可点击的位置会由虚线框圈起来,鼠标放到某个框上面就会显示该模块被点击的次数及点击转化率(CTR);另外如果你为你的网站设定了目标,那么同时也会显示点击该模块的目标转化率,对于分析网站的重要页面是个不错的选择。

点击热图的价值及缺陷

点击热图的价值

  1. 通过点击热图发现用户经常点击的模块或聚焦的内容;
  2. 观察页面中的哪些模块具有较高的有效点击数,用户会尝试去点击哪些模块;
  3. 应用于A/B测试,比较不同页面的点击分布情况;
  4. 用于改进网站交互和用户体验。

点击热图的缺陷

  1. 网站点击热图虽然提供了一种很直观的网站分析途径,但其功能还需完善,因为实现机制一般都是根据页面的坐标来定位点击位置,所以不同的分辨率和网站布局方式(居中等)都会导致结果的不准确;
  2. 在使用点击热图时需要记录用户每次点击的行为,所以会对网页的性能产生影响,导致网页的加载速度变慢;
  3. 当页面各元素的位置发生大范围变动时,点击热图的结果就失效了。

  最后顺便提一下,我的博客之前的一篇文章——网站数据分析的基本流程中介绍了DMAIC模型,当时我是在查PDCA戴明环的相关资料的时候不经意间发现的,感觉很适用于网站分析的流程。前几天在翻Avinash Kaushik的《Web Analytics》,发现书中也介绍了DMAIC模型,所以感觉DMAIC确实是梳理网站分析流程的一个不错的选择。