网站页面标题的优化

页面标题会体现在:

  1. 搜索引擎的搜索结果上
  2. 用户浏览时的tab页名称
  3. 添加到收藏夹后的收藏名称

不同页面的标题应有差别, 公共部分需要注意,如:

首页为:

纪杨的网站分析笔记

分类页:

站点地图 - 纪杨的网站分析笔记
按年月查看 - 纪杨的网站分析笔记

文章页:

Google Analytics中站内搜索的优化 - 纪杨的网站分析笔记

注意,栏目文章名在前,避免出现:

纪杨的网站分析笔记 - 站点地图

这样的情况,原因是:在chrome这样的浏览器里,页面标题会被截断,如果打开了多篇文章,会无法区分打开的多个tab页面。

如何排查:

  1. 手工排查
  2. Google的站长工具,会告诉你有重复标题的页面地址
  3. 在Google Analytics中,看页面标题列表,点击标题链接,找出用同一标题的不同页面,以及(not set),没有指定标题的情况。

在Track代码中指定页面标题

参见我的这篇文章:_TrackPageview时指定页面标题

如何替换公共的标题文字

例如在我的博客中,页面标题会有公共的文字部分:

“纪杨的网站分析笔记”

添加一个过滤器,按标题,替换公共的标题文字。

filter_replace_title

这样的好处是,可以按清楚的,按标题查看:访问最多的文章,或栏目。

参考:

Google Universal Analytics中跨设备跟踪思路与实现

通用分析衡量协议介绍

基于衡量协议跨多种设备和平台整合数据,利用通用分析中的衡量协议,您可以从任意设备收集数据并将传入的数据发送到您的 Analytics(分析)帐户,这样,您不仅可以跟踪网站中的互动情况,还可以跟踪网站之外的互动情况。另外,利用新版 analytics.js 代码和衡量协议中全新的开发者参考库,您可以了解用户与所有设备(包括智能手机、平板电脑、游戏机甚至数字设备)互动的方式。

跨设备跟踪

背景

用户会在多台电脑和移动设备上访问我们的站点,完成购买转化。 一个常见的场景,用户白天在公司电脑搜索:流量的秘密,来到亚马逊图书介绍页。晚上在家里电脑搜索:亚马逊,然后做了站内搜索,完成购买。 这时如果是基于默认的浏览器Cookie,我们会认为今天有2个访客,其中完成购买转化的访客来源是:搜索引擎,关键字是品牌关键字:亚马逊,购买前的访问次数是:0次,即做为新访客,直接下单购买。 这对于网站流量分析,转化分析,甚至广告投放等,都会造成误导,因为GA中提供的多渠道分析的:转化路径,转化前访问次数,天数等,都是依赖浏览器的唯一访客ID的。

跟踪思路

首先,如果用户没有登录的话,我们是无法完成跨设备跟踪的,假设是登录的情况,我们看一下在UA中的跟踪实现。

在UA跟踪中,只保留最基本的唯一访客ID Cookie,不再依赖客户端Cookie记录:首次访问时间,来源,自定义变量等信息,相关的计算放在了服务器端去做,这就给:跨设备跟踪,跨域跟踪提供了便利,只要能传递:访客ID到多台设备即可。

代码实现

UA的跟踪代码定制是支持指定唯一访客ID的。

相关说明:https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference

ga('create', 'UA-XXXX-Y', {
  'clientId': '35009a79-1a05-49d7-b876-2b884d0f825b'
});

这样的话,最简单的方式是,如果登录用户,就指定唯一访客ID为:用户登录名,或业务系统的用户数字标识,或为了保密,取登录名哈希。

通过这样的方式,记录和跟踪所有登录用户的跨设备访问。

完善与补充

通过指定登录名做为:唯一访客ID,虽然解决了登录用户的跨设备跟踪,但我们在同一个网站域下,还是需要跟踪匿名用户的行为,或匿名用户先访问首页,然后登录,再购买的情况,最简单的方式,我们需要收集2套用户访问数据:全部用户的,登录用户的。

代码实现

在UA中,默认的cookie名是:_ga,但支持指定新的cookie名,即:多个cookie名,多个Tracker。

相关说明:https://developers.google.com/analytics/devguides/collection/analyticsjs/domains

ga('create', 'UA-XXXX-Y', {
  'cookieName': 'new_cookie_name',
  'cookieDomain': 'mynew.domain.com',
  'cookieExpires': 60 * 60 * 24 * 28  // Time in seconds.
});

对于我们的需求,只要这样做即可:

// 加载analytics.js代码
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

// 默认的全站跟踪
ga('create', 'UA-1111-1');
ga('send', 'pageview');

// 判断是否登录,这儿的user_login_name变量值,由网站开发人员负责提供   
if (user_login_name != '') {
    // clientID 指定用户名或用户名数字哈希
    ga('create', 'UA-1111-2', {
      'name': 'login_user',
      'clientId': user_login_name,
      'cookieName': '_ga_login_user'
    });

    ga('login_user.send', 'pageview');
}

这样就互不干扰了。

别的思路与实现:

  1. 只要用户在一台机器上,做了登录操作,就用:登录用户标识 替换唯一访客ID。
  2. 自己记录:登录用户标识与首次访问时的匿名ID的关联,用户在其他设备登录时,就用记录的匿名ID覆盖,这是基于这样的考虑,用户第一次来到网站总是匿名情况,然后完成注册,登录,然后在多台设备登录访问,因为UA并没有默认的后台或API支持,所以实现起来会复杂。

匿名访客ID传递: A:匿名 -> 登录 -> 记录访客与guestID_001 B:匿名 -> 登录 -> 使用:guestID_001 覆盖,以后一直保持,退出登录也保持,直到用别的用户名登录

优点:以后:A,B 两台机器的访问都会关联起来。 缺点:丢掉在B机器,第一次登录前的:来源与页面访问,会计算为:1个匿名的访客,和1个登录的访客的。

总结

新版UA的设计和实现更为灵活,对跨设备访问提供了更好的支持,把数据提交部分的协议也标准化,方便大家的定制和移动App,服务器端数据提交,另外,自定义维度与指标,在业务跟踪与分析时,也更为方便。

Google Universal Analytics中异步跟踪代码实现

新版UA在管理后台提供的跟踪代码是同步的,即需要先加载:analytics.js,再做数据提交。这样会有一些问题,即影响前端性能,也可能导致出错,如按钮事件触发时,analytics.js还没有加载。

// 默认的UA代码
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-xxxx-x', 'jiyang.me');
ga('send', 'pageview');

老板本GA是没有问题的,通过先创建_gaq的全局变量,来支持异步加载:

// 老版GA代码
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxx-x']);
_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);
})();

其实UA是支持异步的,只要稍做调整即可:

// 调整优化后的UA代码

// 创建全局 ga 函数,类似于:var _gaq = _gaq || [];
var ga = ga || function() {(ga.q = ga.q || []).push(arguments)};

// 指定账号,Cookie域名
ga('create', 'UA-xxxx-x', 'jiyang.me');

// 页面浏览数据提交
ga('send', 'pageview');

// 或事件跟踪
ga('send', 'event', 'button', 'click');

// analytics.js 脚本加载放页脚即可
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

总体来讲,UA在代码的定制性,灵活性都要有改善,大家可以先从统计代码的优化开始,逐步把UA用起来。

在Google Analytics中跟踪url hash参数信息

hash 参数提交

网站中的url地址除了主机名,页面,查询参数外,还会有hash锚参数:

http://jiyang.me/search.htm?k=wa#hot=true

  • 主机名(hostname):jiyang.me
  • 页面(pathname):/search.htm
  • 查询参数(search):?k=waconfig
  • 锚(hash):#hot=true

这儿的hash,一般用于页面内的导航跳转,如:打开文章时,跳到参考信息部分。

在Ajax为主的网站中,这儿的hash还可以用于特定的动作,如:商品收藏。

http://jiyang.me/product.htm?id=123#fav

ga在提交页面地址时,默认是不包括hash信息的,这时在GA后台会看到这样的页面列表:

/product.htm?id=123

而不知道有多少商品被收藏。

处理办法是有的,在提交页面地址时,通过虚拟页面的方式附加上hash参数即可。

var full_url = location.pathname + location.search + location.hash; 
_gaq.push(['_trackPageview', full_url]); 

代码中的:location.hash 用来读取hash参数。 参考:

通过hash参数标注广告渠道

在投放广告时,我们会通过utm_source这样的查询参数来标注广告渠道,例如:

http://jiyang.me/about.htm?utm_campaign=blog&utm_medium=ppc&utm_source=google

但有时候,因为服务器端限制或url重写的原因,直接传递这样的查询参数,会导致页面出错,这时可以通过hash的方式传递参数(因为hash参数是浏览器前端处理的,不会提交到后端程序):

http://jiyang.me/about.htm#utm_campaign=blog&utm_medium=ppc&utm_source=google

如果这样做,记得要:

_gaq.push(['_setAllowAnchor', true]);  

即告诉GA,读取hash做为url查询参数。注意这么做时,提交的页面地址仍然不包括hash信息,如果要包含hash参数,还是得用上面虚拟页面的方式来处理。

参考:

好书推荐《网站分析实战》

在使用强大的网站分析工具前,我们需要对网站的:目标,内容,用户有一个深入的了解,知道自己关注什么,希望提高什么,并且这些指标数据要能够持续跟踪并量化。

Google Analytics是一个强大的工具,体现在2个方面:
1:功能完整全面,定制性好。
2:维度,指标设计合理,能够引导你按照科学的分析思路去了解你的站点。

其中的站内搜索就是一个很好的设计,帮助你分析:站内搜索的比例,搜索后的离开率,同一用户多次搜索的情况,具体的大家可以通过实际使用来体会。

这本书从2个方面给大家以帮助:
1 基础知识和概念,如:统计学相关知识,访客行为的分类和定义(如:活跃度)。
2 Google Analytics使用时的分析思路,如何分析网站内容,关键字,基本维度指标的讲解,注意点。

Google Analytics更新很快,但这些基本的知识和分析思路是一直有用的,总体感觉这本书很实用,能够帮助大家在网站分析这块打好基础,开拓眼界。

商业流量分析工具的特点和部署试用注意点

优点:

数据刷新延迟很小。
更好的报表工具,定制,分发。
更细致的权限管理,如指定某些用户只能看PV,访客等基本流量报表,而不能看购买转化数据。
可以下载完整的Raw原始数据,即使不用了,也可导到自己的BI数据库里。
可以追踪较长时间的访问数据而不会抽样。
可以集成业务数据,如:上传业务数据,然后按业务数据的维度分析,像商品的分类,价格区间等。
一些功能涉及到算法等,免费工具不容易做好,如:路径分析。

收费模式:

按Request请求数的价格区间收费,这儿的Reqeust不仅包括PV,还包括事件,用户变量等数据的提交请求。
附加组件会另外收费,如:移动设备的分析,多媒体的分析,这块一般会是核心组件价格的10%-20%这样。
上门服务,部署,培训等服务需要另外收费。

对我们的意义:

好钢用在刀刃上,用好一些有特色的,重要的功能:访客跟踪,业务数据集成,路径分析。
学习商业工具中:业务集成,转化分析的思路和方法。

注意点:

如果可以,尽量先申请试用的机会,哪怕支付一些费用,因为商业分析工具一般都是按年收费的,如果发现不合适,切换成本还是蛮高的。
商业工具的部署配置会比较复杂,需要安排好人员,时间预算。
可以在已经基于Google Analytics等免费工具上分析清楚的子站点上,看同样的分析思路,应用商业分析工具是否更简便或功能更强大。
在分析时,需要了解重要维度,指标的计算方法上,和现有工具是否有差别或能满足需要,如:对转化的定义,渠道来源的定义,访问时间等的定义。
商业分析工具在某些功能或操作上,未必比免费工具更方便,这块有使用习惯的因素,也有商业工具本身功能复杂,需要定制能用好的因素。

实施部署:

如果自己的IT部门比较强,可以先通过自学的方式,尝试代码的部署和定制,注意要记录详细的操作步骤和日志,部署完成后,可以请商业工具厂商的技术人员协助检查。
在部署试用时,可以找自己最关心的几个点来做实施和分析,这样可以看出商业分析工具是否能满足你最核心的几个分析需求。

小结:

如何更好的评估商业流量分析工具,大家还可以参考:
<<精通Web Analytics 2.0>>这本书,第一章就是,很详细。
http://book.douban.com/subject/6414998/

也可以参考宋星的:
<<十条原则助你更好使用网站分析工具>>这篇文章。
http://www.chinawebanalytics.cn/10rules-for-using-wa-tools-1/
http://www.chinawebanalytics.cn/10-rules-for-using-wa-tools-2/

 

PV是个好指标

PV是PageView的简称,中文名浏览量,当一个页面被浏览时,这个页面的PV就会累加,全站所有页面的浏览量之和就是该站点的PV。PV是一个基本的指标,也是不同流量统计工具之间唯一不会有歧义的一个指标。

单纯的看一个站点的PV量变化是不够的,因为影响的因素很多,广告推广,热门事件,站点结构的调整,都会导致PV的变化,这个时候要做细分,如:看新老访客浏览量的变化,看各个栏目浏览量的变化,按内容筛选,如看文章浏览量的变化。另外还要配合跳出率看,找出浏览量大但是跳出率高的页面,然后有针对性的优化。

当站点的流量出现异常时,看PV的变化是一个很好的排查方法,当访问数(Visit)大幅度变化时,如果PV没什么变化,并且各个流量来源也没什么变化时,这时可以检查相关的统计脚本有没有修改,或Google Analytics这样的工具有没有调整算法。

按目录看PV也是部署多套流量统计工具时,检查代码部署的好方法,可以找出代码部署不一致的地方。

PV还可以和访问配合用,假设我们看搜索引擎关键词,这时首先要看各个关键字的访问数,这儿的访问数近似于带来了多少访客,然后要看:每次访问的网页浏览量(Pages / Visit),通过这个指标,可以看到访客通过某个关键字来到你的站点后,平均浏览了多少页面,再配合跳出率,基本上就可以判断一个关键字的好坏或相关性了。

当我们进行广告投放时,观察着陆页(LandingPage)在各个时段的浏览量和跳出率也是一个简单的找出最佳投放时段的方法。

完全依赖PV是不可取的,因为PV是不去重的,就像统计学里的平均数,看到这个数字,你可以了解大致的情况,但距离实际情况还是会有差距。举个例子当你在一个页面第一次访问,刷新,再刷新时,这个页面的PV将是3,这时你会搞不清楚哪些页面的访问人数最多,比如像列表页,用户在这个页面会不停的刷新,翻页,打开新文章,这时就需要和另外一个指标:唯一身份浏览量(Unique Pageviews)配合使用了,还是刚才的访问,这时得到的唯一身份浏览量将是1,即在一次访问里,Google Analytics会帮你去重。

PV就像木匠手中的斧头,简单,可靠,了解它的优缺点,用好它即可,当我们衡量一个站点的成长情况时,我们可以把PV作为一个基本的指标,然后再和其他的流量指标,如:访客数,新老用户比例,平均浏览量,停留时间等结合着用,适当的加上业务指标,如:客单价,二次购买率等来全面的考察一个站点的成长变化。

 

Google Analytics中用户屏幕高度的分析

设计师在设计产品页面时,往往要考虑首屏线的问题,即:用户打开页面时看到的最大高度。这对于表单类页面会比较重要,如果用户默认打开时看不到提交按钮,往往会导致不知所措或直接离开。

首屏线会受到:屏幕分辨率,操作系统,浏览器三者的影响,不同操作系统的状态栏,窗口栏的高度会不一样,不同浏览器的工具条高度也不一样,当然主要还是和屏幕分辨率有关,如果大部分用户的屏幕高度在768这个较小的高度,那么页面就要考虑设计的紧凑些了。

在Google Analytics的:受众群体->浏览器与操作系统->屏幕分辨率报告里,会按访问次数从高到低列出不同的屏幕分辨率组合。

从这个报告我们会看到我们的站点以:1366×768宽屏,1024×768老的15寸显示器,和1440×90标准19寸显示器为主。但是这儿的屏幕分辨率对我们的分析还是有些不方便,因为我们关心的是高度,比如屏幕高度小于等于768的访问数的比例,解决的办法也很简单,做一个自定义的报告即可,在报告里筛选高度。

按屏幕尺寸看访问次数,加了2个筛选条件,一个是用正则(x([1-6]dd|7[0-5]d|76[0-8])$)筛选出:小于等于768的分辨率,一个是过滤掉移动设备的分辨率。

我一个做了2个自定义报告,大家可以点这儿添加到Google Analytics中:

1 屏幕高度小于等于768
2 屏幕高度大于768

有了这儿的筛选条件,我们就可以方便的看,屏幕高度较小的尺寸组合和访问数了。

从自定义报告上可以看出,访问数是:231,占总体的60%,从这个数据上看,屏幕高度小于等于768的用户还是占大多数,我们在产品发布前要按照这个分辨率看不同浏览器的访问情况。

为了方便查看,我还做了个Dashboard,你可以点击添加:屏幕高度Dashboard

小结:

了解用户的屏幕分辨率,浏览器,操作系统等信息,有助于了解用户在使用我们的产品的体验和感受,方便改进和测试,从长远看不仅要考虑PC用户的体验,如果移动用户的比例在增加,还要有针对性的对移动设备做适配。

参考:

设计稿标注首屏线的确定始末

Google Analytics帮助-使用网页内分析

 

 

 

Google Analytics中搜索引擎流量变化趋势分析

我们知道站点主要有三种类型的流量来源:直接,引荐,搜索引擎。不同的站点,这三种流量类型的比例也不一样,当某种类型的流量比例较高时,我们会说这个站点主要依赖某某类型的流量。

对于内容型站点,如文章站,搜索引擎的流量比例会最大,当然随之而来的风险是,一旦SEO出现问题,或google,baidu的算法调整,全站的流量波动会很大。从网站的运营来讲,我们希望搜索引擎流量的比例逐渐减低,增加更多的引荐来源入口,并保持一个较好的新老用户比例。

假设我们的站点已经运营了8,9,10三个月,如果想知道搜索引擎流量比例的变化,需要先选中8月份的日期范围,看流量来源(Traffic Sources)下的概览(Overview)报表,记下百分比,然后依次看另外2个月。

8月:

9月:


10月:


总体来讲,搜索引擎流量的比例在降低,引荐流量的比例在增加,再结合新老访客的比例,停留时间,跳出率等数据,我们可以认为网站的整体运营还是比较健康的。

如果按照月度来看比例变化,手工选择日期还可以接受,如果想按天,按周看搜索引擎流量比例的变化,这么做就很不方便了。

简单的做法是有的,新建一个自定义报告,按日期为维度,选择访问数为指标。

然后时间范围选中8,9,10 三个月这时我们会看到这样报表数据:

 

当然这儿没有列出三种流量类型的访问数,这时选择报表工具条的:数据透视图,然后依据媒介(Medium)显示数据,再按日期升序排序即可。

 

剩下的就简单了,导出这儿的数据到excel中,生成百分比堆积面积图。

得到这样的按天的流量比例变化图。

从图上可以看出,7月份搜索引擎流量的比例较高,8月份逐渐下降,9月份的上半月,又有所回升,整体来讲,搜索引擎的比例在降低。

小结:

本文主要介绍如何在Google Analytics中,查看比较搜索引擎流量比例的变化情况,包括如何导出到Excel中,做进一步的图表展示。

大家在实际分析时,还要看整体,看各种流量类型的访问数的变化情况,不能只看比例,比例只能反映出这部分流量的重要性。

Google Analytics中外部广告渠道的转化分析

以新用户注册为例,我们可能会在多个外部渠道投放广告,投放形式又以PPC按点击次数收费为主,影响转化率的因素有:不同渠道,不同广告系列,不同的目标群体,以及不同的着陆页(也就是我们的注册页)。

渠道:

渠道有多种,搜索引擎,社交网络,门户网站,分类导航网站。

价格的话,搜索引擎最低,不过需要更多的技巧,如:关键字,目标人群等。
社交网络价格较高,好处是,可以更细的指定投放人群,如:城市,性别,教育程度,兴趣爱好等,如果销售的产品利润高的话,可以考虑,如投放:30到45岁,北京,对汽车感兴趣的男性群体。
门户网站的话,要考虑投放的频道和展示区域,如:美剧频道。
分类导航的话,要考虑分类的相关性。

广告系列:

广告系列要和展示页面的内容有相关性,不必过于标题党,过于哗众取宠,反而会导致更高的跳出率。

目标群体:

可以尝试针对不同的用户群做比较测试,最终找到一个最优的用户群。

着陆页:

可以结合AB测试来找出最优的注册页,有可能要针对不同的广告系列,配上有针对性的宣传内容。

在Google Analytics中的配置:

假设我们的注册页地址是:reg.aspx?source={渠道编码},注册成功的页面地址是:succ.aspx,首先需要指定目标,创建一个新的网址目标:

然后在注册页面,写入访问级的用户变量,记录渠道名称。

_gaq.push(["_setCustomVar", 1, "source", "{渠道编码}", 2]);

然后要做的就是创建自定义报表,按用户渠道看转化率了:

添加报表到Google Analytics:https://www.google.com/analytics/web/permalink?uid=u8aeIS7iSEe6dTgKiSqkgQ

总的思路是,按渠道看:总的访问次数,跳出率,转化的次数和转化率,大家在实际做的时候,还可以加入城市,小时维度来进一步细分。

本文介绍了根据source来比较转化率的最简单的情况,如果要按照广告系列,做更深入的比较,还可以参考Google Analytics的自定义广告系列的说明,来标记外部投放的广告。

参考:

如何设置目标:https://support.google.com/analytics/bin/answer.py?hl=zh-Hans&answer=1012040&topic=1007030&ctx=topic

用户变量的设置:https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingCustomVariables

自定义广告系列字段:https://support.google.com/analytics/bin/answer.py?hl=zh-Hans&answer=1033863&topic=1032998&ctx=topic