Javascript从Google Cookie中提取关键字

时间:2013-07-22 19:47:29

标签: javascript cookies keyword

我有一个JS代码,用于提取Google Analytics信息(___umtz)。我只是想获得搜索词 - 但是,在Firefox上,它一直显示为“(未提供)”。在Chrome上,我可以获取使用的关键字,但在FF上,Cookie列为“(未提供)”

举个例子: utmcsr =谷歌| utmccn =(有机)| utmcmd =有机| utmctr =(未%20provided)

utmctr是alwayts(未提供),无论我使用哪个关键字用于我的网站。

这是一个示例代码:

function parseCookie(name)

{     if(document.cookie.indexOf(“__ utmz =”)!= -1)     {         var c2 = readCookie(name); //这会得到cookie         var ca2 = c2.split('|'); //这会将cookie分成几部分

    temp = ca2[0].split('.');       // This grabs the first variable together with the numerical info
    temp2 = temp[temp.length - 1];  // This takes only the variable we are interested in
    ca2[0] = temp2;                 // We then replace the item in the array with just the variable data                                    

    var src = ' ';                  // Will contain the source, if there is one
    var campaign = ' ';             // Will contain the campaign, if there is one
    var medium = ' ';               // Will contain the medium, if present
    var term = ' ';                 // Will contain keyword info, if present
    var cancel = false;             // Used to check for AdWords ID

    for (i = 0; i < ca2.length; i++)
    {   
        temp3 = ca2[i];             //First, take each variable (ex. utmcsr=sourcename)
        temp4 = temp3.split('=');   //Splits into an array, with temp4[0] = 'utmcsr, and temp4[1] = 'sourcename' using our above example

        if (temp4[0] == 'utmgclid') //Identifies the varaible and replaces appropriate items for Google Adwords Campaigns
        {
            src = 'google';
            medium = 'cpc';
            campaign = 'google';
            cancel = true;          
        }

        if (temp4[0] == 'utmccn' && !cancel)
        {
            campaign = temp4[1];
        }

        if (temp4[0] == 'utmcsr' && !cancel)
        {
            src = temp4[1];
        }

        if (temp4[0] == 'utmcmd' && !cancel)
        {
            medium = temp4[1];
        }

        if (temp4[0] == 'utmctr')
        {
            term = temp4[1];
        }
    }

    alert(term);
}

}

1 个答案:

答案 0 :(得分:0)

我就在附近,发现了你的问题。我正在研究同一个话题,并为你留下一个印记。我想从你问到这个问题的2个月后你就可以找到答案了,但我为这里的未来搜索者留下了解决方案。

http://www.adviso.ca/blog/2012/03/21/explication-du-notprovided-dans-les-rapports-google-analytics-resultats-naturels/ 解决方案的来源是上述主题。这不是英文,但你可以用Chrome翻译它,这将是preatty可以理解的。

Google开始对拥有有效Google个人资料的用户使用SSL登记。因此,_utmctr将是一个未提供的值。随着G个人资料的传播,关键字属性将从越来越多的搜索者行动中删除。

所以很可能这是不可能的。