通用谷歌分析中的_u参数收集命中

时间:2014-11-10 17:03:21

标签: javascript google-analytics web-analytics universal-analytics

使用Universal Analytics发送匹配时,其格式为:

http://www.google-analytics.com/collect?v=1&_v=j30&a=1944069884&t=pageview&_s=1&dl=http%3A%2F%2Fwww.website.com%2F&ul=en-us&de=iso-8859-1&dt=pageName&sd=24-bit&sr=1280x1024&vp=1280x417&je=1& _U = eKCAgEQiQ〜&安培; JID =安培; CID = 1347711856.1411502373&安培; TID = UA-XXXXXX-1和; Z = 763679241

的粗体_u参数是什么?

1 个答案:

答案 0 :(得分:3)

它似乎是对分析的分析。在analytics.js运行时,会设置48位长数组的单个位(通过function $c管理它的原型)。

var vd=new $c;
function J(a){
   vd.set(a)
}

例如,如果使用链接器功能,则设置位48,如果window.navigator.sendBeacon用于发送跟踪信标,则设置位42;如果通过XMLHttpRequest传输,则设置位40,如果是{31},则设置位31必须在提取的路径前添加/

var e=d.pathname||"";
"/" != e.charAt(0) && ( J(31), e = "/" + e );

8个6位组用于构建由tilde~后跟的64个字符[A-z-_]中的字符串,并在_u参数下传输。

$c.prototype.encode = function(){
  //Group 6 bits to use a 64 Char Alphabet
  for(var tempArr=[], i=0; i < this.bitsArray.length; i++) {
    this.bitsArray[i] && (tempArr[Math.floor(i/6)] = tempArr[n.floor(b/6)] ^ 1 << i%6);
  }

  //Translate from 6 Bit groups to Alphabet
  for(i=0;i<tempArr.length; i++){
    tempArr[i]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(tempArr[i]||0);
  }
  return tempArr.join("")+"~";
};

如果我已正确分析_u参数,将此字符串解码回各个位将允许Google识别在运行analytics.js时是否使用了相应的功能或代码中的点数