Webtrekk代码部署指南之高级篇——特殊情况下数据收集

浏览: 1325

在网站分析工具的代码部署过程中,总需要考虑不同情况下的业务和技术需求。本篇介绍特殊情况下的代码部署,包括针对不支持JS用户的信息跟踪、多账号跟踪设置、跟踪线下交易数据、SSL下的信息采集、禁用预渲染跟踪、自定义参数发送顺序、页面JS加载的安全措施。

                              webtrekk-特殊情况数据收集

1. 针对不支持JS用户的信息跟踪

虽然大多数情况下用户的浏览器都会启用JS跟踪功能,但由于很多原因针对不启用JS的用户,我们也想做数据跟踪。Webtrekk提供了一个1×1硬图片的跟踪方式,代码如下:

  1. <img src=“http://track.wt-eu02.net/111111111111111/wt?p=325,0“ height=”1“
  2. width=”1“ alt=”“>

整段代码只需放置在上篇文章提到的标准跟踪代码之下即可。其中的参数意义如下:

  • track.wt-eu02.netWebtrekk分配的trackDomain
  • 111111111111111Webtrekk分配的trackId
  • p=325:Pixel的版本,根据具体实施的脚本填写
  • 0:ContentId,0表示留空,根据系统规则填写

上面参数为必填参数,是系统在收集信息阶段根据账号需要必须进行采集的信息。而有些信息是可选的参数,如:

  1. <img    
  2. src=http://track.wt-eu02.net/111111111111111/wt?p=325,de.startseite,1,1280x
  3. 1024,32,1,  
  4. 1208964116364,0,1234×784,1&amp;la=&amp;ov=&amp;cr=&amp;oi=&amp;ba=&amp;co=&a  
  5. mp;  
  6. qn=&amp;ca=&amp;st=&amp;cd=&amp;is=&amp;mca=&amp;mc=&amp;mcd=&amp;lp=&amp;  
  7. cp1=&amp;cs1=&amp;ck1=&amp;cb1=&amp;cg1=” height=“1″ width=“1″ alt=“”>  

Webtrekk这些可选参数能帮助我们进行几乎所有支持js端的数据采集项目,具体会在之后的文章中详细介绍。

2. 多账号跟踪设置

通常大公司由于体系划分的原因,可能需要把数据在底层采集时即进行分账号(区分Profile,当然Webtrekk也支持一个账号内按照内容区分用户权限,这在其他工具中很难实现) ,此次在底层跟踪时同一段信息需要发送到2个甚至更多的账号中,在Script和NoScript代码中,在TrackId部分只需要将不同的ID以逗号进行分隔填入即可。。

如果两个账号中发送的信息一致,可以采用以下配置代码:

  1. <script> code:
  2. wt.trackId=”111111111111111,222222222222222”;
  3. <noscript> code:
  4. <img src=“http://track.wt-eu02.net/111111111111111,222222222222222/wt?p=325,
  5. homepage” …>

如果两个账号中发送的信息不一致,则采用以下配置代码:

  1. „<script>“ segment:
  2. var wt1 = new webtrekkV3(); // Generates the first instance
  3. wt1.trackId=”111111111111111”; // Sets the TrackID for the first instance
  4. wt1.sendinfo(); // Sends the tracking request for the first instance
  5. var wt2 = new webtrekkV3(); // Generates the second instance
  6. wt2.trackId=”222222222222222”; // Sets the TrackID for the second instance
  7. wt2.sendinfo(); // Sends the tracking request for the second instance
  8. „<noscript>“ segment:
  9. <img src=http://track.wt-eu02.net/111111111111111/wt?p=325,homepage …>
  10. <img src=http://track.wt-eu02.net/222222222222222/wt?p=325,homepage …>

文章转自:数据研究与商业应用(宋天龙Tony Song),转载请注明。3. 跟踪线下交易数据

Webtrekk提供针对线下交易的跟踪机制,这个机制的本质叫做server to server,是一种noscript请求 ,即数据是直接从数据产生的服务器发送到Webtrekk服务器,中间不经过客户电脑,因此这种机制可以跟踪很多线下数据。

如下是一段典型的数据请求记录:

  1. http://track.wt-eu02.net/111111111111111/wt?p=325,offline.callcenter.germany   
  2. &oi=M-12345&ov=12.99&cd=372d1a04d003eebc09e17330d5d3117c&ba=girokonto   
  3. &st=conf&tty=offline  

上述变量以及更多的部分变量意义为:

Clipboard Image.png

4. SSL下的信息采集

很多时候出于安全考虑,公司在某些特定页面范畴内会有安全措施SSL,Webtrekk对这些都是支持的。方法非常简单,只需要将之前的http换成https即可:

  1. //NoScript脚本   
  2. <img src=https://track.wt-eu02.net/
  3. //JS引用脚本  
  4. <script type=”text/javascript” src=”https://www.website.com/webtrekk.js”></script>  

注意:页面代码中的script对象部分无需变化。

5. 禁用预渲染跟踪

很多浏览器比如Google Chrome在展示网页时都有预渲染功能,即页面加载会在用户实际看之前完成,比如常见的页面标签,当用户通过标签拖出一个页面,但实际上用户并未进入到那个页面浏览,这就是预渲染。Webtrekk识别这个过程,因此自动抑制预渲染下数据的发送,这通常会真实的反映用户“真的浏览”的页面情况,但对应的是页面的流量比稍稍比所有页面加载的情况低。如果要禁用这个功能,直接用如下代码即可:

  1. wt.ignorePrerendering = true;  

 6. 自定义参数发送顺序

所有的网站分析工具的每条请求都是有长度限制的,Webtrekk的限制为7000个字符,对于90%以上的情况是足够用的,但是如果出现特殊情况,比如页面的名称长度非常非常长,可能会形成发送信息过载,直接导致7000个字符之后的数据不被发送,要改变这个问题,可以通过自定义发送参数顺序的形式优化。优化后,系统将优先发送我们指定顺序的参数值,其次是未指定的参数值。

  1. wt.paramFirst = “ov;oi;st;co;qn;ba;cd;cs15;cs16;cs17;cs18;cs19;cs20;”;  

7. 页面JS加载的安全措施

某些时候,可以由于其他问题导致Webtrekk的JS代码无法正确加载。此时页面会被JS“堵住”,为了防止JS由于错误问题影响整个页面的加载问题,Webtrekk提供了两种解决方案:
第一种是防止错误的功能,根据typeof的返回值是否是function来决定是否加载webtrekkV3脚本

  1. if(typeof(webtrekkV3) == “function”){   
  2. var webtrekk = {   
  3. contentId : “”,    
  4. linkTrack : “link”,   
  5. linkTrackAttribute : “id”,   
  6. heatmap : “1″,    
  7. form : “1″,    
  8. formAttribute : “id”    
  9. };   
  10. var wt = new webtrekkV3(webtrekk);   
  11. wt.sendinfo();   
  12. }   

第二种是延迟加载,如下是在上面基础上定义了生成Webtrekk对象会被延迟3000毫秒,意为3秒之后加载,这会保证其他的加载预先完成。注:这样可能会导致收集到的数据比实际数据少很多,尤其是作弊情况下,作弊机和用户可能在3秒内已经退出页面。

  1. function createWebtrekkPixel(){   
  2. if(typeof(webtrekkV3) == “function”){   
  3. var webtrekk = {   
  4. contentId : “”,    
  5. linkTrack : “link”,   
  6. linkTrackAttribute : “id”,   
  7. heatmap : “1″,    
  8. form : “1″,    
  9. formAttribute : “id”    
  10. };   
  11. window.wt = new webtrekkV3(webtrekk);   
  12. wt.sendinfo();   
  13. }    
  14. }   
  15. window.setTimeout (“createWebtrekkPixel()”, 3000);  

以上情况基本可以满足日常和特殊情况下的部署需求。当然,Webtrekk还提供了更多的功能,比如使用JSON做代码部署跟踪、排除特定页面的参数、针对Flash和媒体的跟踪、类别(将产品、页面、媒体、时间、CRM进行分类)、自定义参数(会话、页面、事件、电子商务、营销活动、独立参数)等非常多的内容。以后会慢慢跟大家分享。

推荐 0
本文由 宋天龙 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册