网站分析经验分享 »
我喜欢浏览网页时多个心眼。这个心眼需要观察许多元素,每个元素都能提供信息。孤立的一个元素不重要,但是多个元素组成的信息,往往能获得有价值的判断。那么从这些元素说起:
永远不忽略URL
URL是一个重要的信息,职业敏感让分析师绝对不会忽略URL地址的特点。URL反映出网站的蛛丝马迹,直接以例子说话:
$ URL地址所在的域名
很多人在网上被骗,很大原因就是从来不关注URL所在的域名。
比如:http://www.taobao.ipx32.com/about.html,看似弱智的骗术却让很多网友误以为是淘宝的网站而落入圈套。这是ipx32域的网站,而不是taobao的网站。
在浏览的过程中,时刻关注页面的URL域名,可以知道点击链接是否离开本站,而关注新到的站点域名有何特征。在许多大客户的营销过程中,跨域的链接是很常见的,不同的域意味着站长或广告主的监测工具与策略也会有所不同。
比如:在IT门户中常有Intel,华硕,HP等硬件厂商的专题页面(可能会添加Google Analytics或Nielsen的监测代码),这些页面中会有链接将访问者导入新的域名,如intel.com.cn,或者hp.com.cn(可能会添加Omniture、HBX或Webtrends的监测代码)。这种跨域的URL是显而易见的。
网站分析工具, 网站分析经验分享 »
经常有客户对数据特别较真,总要问分析师这种问题:
同样的时间区间,为什么两种监测工具报告中的数据不同?
这个问题我从来不会回避,因为认真地回答这个问题不仅可以体现分析师的专业性,而且能巩固监测工具在客户心目中的“公正客观”的地位。
但话说回来,这却是一个很难回答的问题,要回答得全面而且通俗并不容易。
因为技术日新月异,影响数据差异的因素会越来越多,使得无法全面。
因为有些因素需要详细的技术说明,使得很难说得通俗。
本文,希望用全面而通俗的文字回答这个问题,希望成为网站分析领域回答这个问题的标准范本。(媒介监测领域也有该问题,在此文不作说明)
基础知识 »
我是Tenly。感受到了最近GA代码级别的研究开始升温。比如owen同学的旧文倍受关注:浅析豆瓣的Google Analytics 应用。当然之前四月我也写的过关于GA的代码的简单介绍:Google Analytics代码DIY,也有挺多回复的。
今天再次推出代码研究进阶版,与大家一起研究讨论分享。总觉得这套代码可能会有一些考虑不周的地方,还请大家给予建议。再次强列声明,我不懂代码,纯粹研究。
互联网流量真真假假太多,需要有针对性的进行研究分析。这套代码虽然是我东拼西凑写的,但已经可以稳定运行,实现三大功能:
记录所有页面的刷新。所有的浏览器层级的刷新都会被以action/+url形式记录在GA的content报告中。
标记页面刷新的次数。所有的刷新都会被统计数据,最终会以action/+url+刷新次数形式记录在GA的content报告中。
监控页面的所有外链。所有的外链都会以out/+url记录在content报告中。
[poll=id]
<script type="text/javascript">
var url=location.href;
var pslt=url.lastIndexOf("/");
var keyurl=url.substring(0,pslt);
var a=document.getElementsByTagName("A");
var str=str1=out="";
//定义一些变量,用于下面的tenly函数
function tenly() {
//下面会通过对window.name的操作,识别刷新,通过window.name++的方式记录刷新的次数。该方法论是通过Google 搜索别人博客获得。
if(window.name!=”) {
window.name=eval(window.name)+1;
str=’/action/‘+url+window.name;
pageTracker._trackPageview(str);
} else {
window.name="0";
}
//下面会监测页面中的所有<a>标记,这是html语言中的链接标记。通过判断URL的根目录关系,确定页面是否外链。
for(var i=0;
i<a.length;
i++) {
a[i].onclick=function () {
if(this.href.indexOf(keyurl)==-1) {
str1=’/out/‘+this.href;
pageTracker._trackPageview(str1);
}
}
}
}
//最基本的IE与Firefox侦听器的写法,使代码能够在不同浏览器正常侦听。
if(window.addEventListener) {
window.addEventListener("load",tenly,false);
} else if(window.attachEvent) {
window.attachEvent("onload",tenly);
}
</script>
//调整后的GA代码,适用于https与http页面,只有页面第一次打开才会记录PV运行。
<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-5431245-5");
if(window.name=="") {
pageTracker._trackPageview();
}
} catch(err) {}
</script>
监测工具 »
大家好,我是Tenly,平时比较少发文章,主要是原博客后台版本过旧,发文章不顺心。今天在宋星的允许下帮他更新了wordpress,并装了些插件,样貌大换新,一切令人兴奋。
这篇博客就讲点简单的技术问题吧,技术专家(如车东这样的人)可以直接忽略此文。感谢一楼评论的建议与更正。
以下GA代表Google Analytics。
<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-4130899-1");
pageTracker._trackPageview(); }
catch(err) {}
</script>
上面是最基本的GA代码,分为两个部分。
第一部分(加粗部分):
通过一条(正则表达式)JavaScript三元运算符,定义了gaJsHost 变量。我们不需要非常了解正则表达式的原理,但看得出来这一行是在让GA自动辨认代码所在页面的URL地址是哪种前缀,如https等等,了解即可。
通过最常用的(JS内置函数)DOM对象函数 document.write,把一串html代码写入到所在页面。(unescape 函数的用途就不细说了。)这串html代码的目的是让页面去GA的服务器下载一个叫ga.js的统计功能文件,用来进行实现GA的统计。上面的gaJsHost 变量,决定了ga.js文件的URL地址的细微不同。
第一部分的代码就实现了两个目的。但是我们可以看出有很多可以DIY的地方:
ga.js文件可以放在本地,如把ga.js放在http://www.chinawebanalytics.cn/ga.js。那么第一部分的代码可简化为:
<script src="ga.js" type="text/javascript"> </script>
或者是
<script src="http://www.chinawebanalytics.cn/ga.js" type="text/javascript"></script>
举这个例子主要是为了解析代码作用。
