joeghwu的网站用户的识别这篇文章对于网站用户的识别方法和实际意义介绍的十分的全面,不过本文将介绍如何通过Google Analytics来实现这种数据跟踪。
基于隐私保护,Google Analytics是不会显示IP地址的,但是我们通过简单的PHP代码就可以获取到用户的IP地址。通过IP地址对用户进行识别存在诸多问题,比如校园网,企业网,网吧的用户,他们基本上是公用一个IP地址,通过IP来进行用户识别就非常的不准确了。
当前主流的分析工具基本上都是通过cookie来进行数据跟踪的,Google Analytics的cookie详解请参照蓝鲸的这篇文章。通过PHP获取用户的cookie值有很多种方法,比如通过PHP实现或者通过javascript实现(另外cloga也写了一个js代码,详见其网站源文件)。
IP和cookie值获取到了之后,我们就可以通过两者的组合来进行用户的初步定位了。我们把这两个值存储到访客级别的自定义变量中。
核心代码如下:
function uGC(l, n, s) {
if (!l || l == “” || !n || n == “” || !s || s == “”) return “-”;
var i, i2, i3, c = “-”; i = l.indexOf(n); i3 = n.indexOf(“=”) + 1;
if (i > -1) { i2 = l.indexOf(s, i);
if (i2 < 0) {
i2 = l.length;
} c = l.substring((i + i3), i2);
}
return c;
}
var utma = _uGC(document.cookie, “_utma=”, “;”);
var utmb = _uGC(document.cookie, “_utmb=”, “;”);
var utmc = _uGC(document.cookie, “_utmc=”, “;”);
var utmx = _uGC(document.cookie, “_utmx=”, “;”);
var utmz = _uGC(document.cookie, “_utmz=”, “;”);
var utmv = _uGC(document.cookie, “_utmv=”, “;”);
var utmk = _uGC(document.cookie, “_utmk=”, “;”);
var source = uGC(utmz, “utmcsr=”, “|”);
var medium = uGC(utmz, “utmcmd=”, “|”);
var term = uGC(utmz, “utmctr=”, “|”);
var content = uGC(utmz, “utmcct=”, “|”);
var campaign = _uGC(utmz, “utmccn=”, “|”);
var numsa = utma.split(“.”);
var numsz = utmz.split(“.”);
_gaq.push(['_setCustomVar', 1, numsa[1], ‘ $ip=$_SERVER["REMOTE_ADDR"];echo $ip;??>’, 1]);
_gaq.push(['_setCustomVar', 2, numsa[1], numsz[3], 1]);
通过这段代码,你就可以获取到每个用户的cookie及其对应IP了,数据在自定义变量中相应的键值中查看。
当然,上述代码获取到的数据可能还是不太准确,如果你在运营一个电子商务网站,需要用户进行注册登录,那么把用户ID放到访客级自定义变量中将会大大地提高准确性。至于代理的话,个人觉得必要性还不是太大,使用代理的人毕竟不太多,而且你还可以通过GA的各种次级维度(比如城市名,浏览器类型和版本,分辨率和操作系统等,完全重合的概率应该很低的吧)对用户进行细分。
以上是通过Google Analytics的自定义变量提取相关数据对用户识别做的一个尝试或者说实验,请注意保护用户隐私,GA不允许使用IP和个人隐私信息!
数据分析的一个重要步骤是数据收集,当我们收集到越来越多数据的时候,你会发现很多有趣的东西,比如一个用户很多IP,一个IP很多cookie,一个会员账号通过很多cookie+ip进行购物,但是结算的cookie可能就只是一个固定的,IP却可能是动态的,很可能付款时间在晚上,订购时间在中午。
至于为什么,你应该懂的~