如何使用Javascript从Cookie中提取Google Analytics(分析)广告系列数据?

问题描述:

我想要使用Javascript提取存储在Google Analytics(分析)跟踪Cookie中的数据和所有广告系列跟踪信息。它需要使用ga.js而不是urchin.js与较新版本的GA配合使用。我发现一个方法与urchin.js一起工作,但我们不使用它来进行跟踪。是否有人知道如何提取 Campaign 内容期限

I'd like to be able to pull out the data stored in the Google Analytics tracking cookie with all the campaign tracking information using Javascript. It needs to work with the newer version of GA using ga.js, not urchin.js. I found a method that works with urchin.js but we don't use that for our tracking. Does anybody know how to extract the Campaign, Source, Medium, Content and Term from the cookie Google uses?

我结束了自己解决这个问题。我只是挖了什么cookie存储和提取的信息。这是我想出的:

I ended up figuring this out on my own. I just dug into what the cookie had stored and extracted the information. Here's what I came up with:

var ga_source = '';
var ga_campaign = '';
var ga_medium = '';
var ga_term = '';
var ga_content = '';
var gc = '';
var c_name = "__utmz";
if (document.cookie.length>0){
    c_start=document.cookie.indexOf(c_name + "=");
    if (c_start!=-1){
        c_start=c_start + c_name.length+1;
        c_end=document.cookie.indexOf(";",c_start);
        if (c_end==-1) c_end=document.cookie.length;
        gc = unescape(document.cookie.substring(c_start,c_end));
    }
}
if(gc != ""){
    var z = gc.split('.'); 
    if(z.length >= 4){
    var y = z[4].split('|');
        for(i=0; i<y.length; i++){
            if(y[i].indexOf('utmcsr=') >= 0) ga_source = y[i].substring(y[i].indexOf('=')+1);
            if(y[i].indexOf('utmccn=') >= 0) ga_campaign = y[i].substring(y[i].indexOf('=')+1);
            if(y[i].indexOf('utmcmd=') >= 0) ga_medium = y[i].substring(y[i].indexOf('=')+1);
            if(y[i].indexOf('utmctr=') >= 0) ga_term = y[i].substring(y[i].indexOf('=')+1);
            if(y[i].indexOf('utmcct=') >= 0) ga_content = y[i].substring(y[i].indexOf('=')+1);
        }
    }
}

更精简,但我只是很高兴得到这远远与它。一旦你有这些变量,你可以做任何你需要与他们。

I'm sure it could be more streamlined but I was just happy to get this far with it. Once you have these variables you can do whatever you need with them.