Webtrends的跨域访客跟踪机制

来源:互联网 发布:windows 进程通信 编辑:程序博客网 时间:2024/06/05 11:02


例如有三个域名

Domain1:stg.A.com

Domain2:stg.B.com

SDC服务器域名: sdc.A.com

 

脚本文件都统一引用同一个stg.A.com/sdc.js

 

Cookie说明:

Webtrends跟踪访客会用到两个相关的cookie

1. WEBTRENDS_ID, sdc.A.com域名,用于识别访客

2.WT-FPC,页面所在域名,用于记录是否新访客,初始访问时间、上次访问时间、本次访问时间等等。

 

新访客首先访问stg.A.com时

第一次访问时,检测到本地没有WT-FPC的cookie,就通过请求sdc.A.com/dcsid/wtid.js

生成跟踪字符串,然后把这个跟踪字符串写到WT-FPC的cookie里。

然后sdc.js脚本采集相关数据,并发送到sdc.A.com/dcsid/dcs.gif。

第一次发送这个dcs.gif到服务器时,是没有没携带WEBTRENDS_ID的跟踪cookie的,所以SDC服务器在Response   里把WEBTRENDS_ID的cookie投递到本机,域名属于sdc.A.com,然后redirect这个dcs.gif请求一次,就可以在日志里记录到跟踪cookie了。

先后请求有4个


访问后cookie投递如下

 

 

 

访客再次访问stg.B.com时

先整理下这时电脑有哪些cookie:

1. WEBTRENDS_ID, 属于sdc.A.com域名的cookie,一直都在;

2.WT-FPC,属于stg.A.com域名的cookie,记录的webtrends_id,访问时间等。

访客访问stg.B.com的页面时,脚本检查到是没有属于当前域名的WT-FPC的cookie的,于是通过请求sdc.A.com/dcsid/wtid.js

生成跟踪字符串,然后把这个跟踪字符串写到WT-FPCcookie

然后sdc.js脚本采集相关数据,并发送到sdc.A.com/dcsid/dcs.gif。

这次浏览器已经带有WEBTRENDS_ID的cookie里,在dcs.gif的请求里一并发送的sdc.A.com的服务器,于是可以识别成同一个人。

先后请求3个

Cookie如下:

 

 

 

大家可能有以下问题:

1. 第一次请求wtid.js和第二次请求wtid.js有什么区别?

第一次请求wtid.js时,浏览器还没有WEBTRENDS_ID的cookie,所以只是根据pc的ip生成一个跟踪字符串,目的是通过js定义一个gTempWtId的变量。

然后sdc.js脚本可以把这个变量读出,写到WT-FPC的cookie里,同时在dcs.gif的请求里增加参数WT.co_f(9版是WT.vtid),所以webtrends配置里可以根据cookie跟踪,也可以根据url参数WT.co_f跟踪。

第一次访问时有一下参数用于识别是第一次

WT.vt_f=1, 说明是历史上第一次访问本网站。

 


第二次请求wtid.js时,浏览器已经带有WEBTRENDS_ID的cookie,只是因为访客访问的页面跨域了,所以才找不到WT-FPC的cookie,所以wtid.js返回是这样的

在返回相同的跟踪字符串给页面外,还额外定义gWtAccountRollup=1; 说明访客已经访问过网站下的其他域名。

然后sdc.js脚本可以把这个变量读出,写到WT-FPC的cookie里,同时在dcs.gif的请求里增加参数WT.co_f(9版是WT.vtid),所以webtrends配置里可以根据cookie跟踪,也可以根据url参数WT.co_f跟踪。

这时没有参数WT.vt_f=1,但有参数WT.vt_f_a=1,用于识别整站来说不是新访客,但对于这个域名是新访客。

 

0 0
原创粉丝点击