GA利用__umaz cookie为我们提供每次访问来源的记录,其实这些信息,我们可以应用于其他的程序中,例如,我们自己的购物车系统,CRM系统等等。这里为大家介绍一个提取cookie值的利器,来自urchin.js(旧版的ga.js)中的_uGC方法。
先上code:
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;
}
这个方法中的作用是从某个字符串中提取某段字符串,有三个参数:
l:目标字符串
n:开始的模式
s:结束的模式
通过这个方法,可以很方便的提取任意cookie值,当然对于其他字符串提取也是适用的。我们知道cookie都是以名值对的方式出现,每个cookie之间以”;”分隔。因此,如果我们想要提取__utmz cookie的值,那我们只需要这样:_uGC(document.cookie,”__utmz”,”;”)。我们也知道在__utmz cookie中,来源存储在utmcsr参数中,媒介存储在utmcmd参数中,关键词(或路径)存储在utmctr参数中,content存储在utmcct参数中,广告系列存储在utmccn。并且这几个参数之间通过”|”分隔。因此,我们可以通过下面的方法提取这些参数的值。
var utmz=_uGC(document.cookie,”__utmz=”,”;”);
source=_uGC(utmz,”utmcsr=”,”|”);
meidum=_uGC(utmz,”utmcmd=”,”|”);
term=_uGC(utmz,”utmctr=”,”|”);
content=_uGC(utmz,”utmcct=”,”|”);
campaign=_uGC(utmz,”utmccn=”,”|”);
提取到这些值之后,你可以应用这些值导入到自己的系统中,利用用来标识一个订单的来源,或者客户的来源。或者也可以像我一样做一些无聊的事,比如显示你这次的访问来源:
如第6章“起来与Google Analytics一起奔跑”中所讨论的,GATC的最后一部分是调用JavaScript例程_tractPageview()。这是Google Analytics中跟踪页面的主要函数。_trackPageview()设置了所有会话所需要的cookie,并且将数据提交给Google服务器。图7.1列出了Google Analytics所设置的Cookie。你可以用浏览器的偏好设置看到这些值——通常在你的隐私设置中。对于IE来说,你可以在IE选项>浏览历史记录>查看文件中找到这个cookie文件。
当查看你的Google Analytics cookie时,你可能注意到所有值之前的都是GATC所在的域的名称的哈希值。这个哈希值是代表你的网站的固定长度的数值。例如,www.mysite.com的哈希值可能是202414657,因此,cookie _utmv的值是202414657.test%20user。同样,www.yoursite.com的哈希值可能是195485746,而cookie _utmv的值是1954857467.another%20test。注意,哈希值的长度都是9个数字,尽管域名的长度不同。这正是哈希值的目的所在。Google Analytics中的与哈希值的作用是用这个值来检查访问者cookie的完整性。
小技巧:如果你对Google Analytics哈希值算法的运作机制感兴趣,请见:http://www.google.com/support/forum/p/Google+Analytics/thread?tid=626b0e277aaedc3c&hl=en。
如果你有多个二级域名,比如www.mysite.com和support.mysite.com,并且你希望跟踪在这些二级域穿梭的访问者,那么你需要关闭域哈希值,以便cookie完整性检查不会拒绝从一个域到另一个域的用户cookie。同样,如果你将访问者用一个域传递给你所控制的另一个第三方域,例如从www.mysite.com到www.mysite.co.uk,那么你也需要做出修改。这些特殊的案例将在本章的“定制GATC”中讨论。
理解了_trackPageview()如何工作以后,你能利用它来跟踪虚拟页面浏览(虚拟综合浏览量)和文件下载,正如接下来要讨论的。



近期评论