javascript - images.google 显示为推荐流量

标签 javascript google-analytics

我看到来自 images.google 域的大量流量(每天大约 100 次访问)但在 Google Analytics(分析)中显示为引荐流量而不是自然流量。我有一些自定义代码来提取关键字,并为 Google 图片搜索引荐来源网址的一些变体设置有机源,并且它适用于我可以从服务器日志运行它的每个引荐来源网址。

var ref = document.referrer;

if (ref.search(/www.google/) != -1 && ref.search(/imgres/) != -1) {
    var regex = new RegExp("www.google.([^\/]+).*");
    var match = regex.exec(ref);
    ref = 'http://images.google.' + match[1] + '?' + ref.split('?')[1];
    _gaq.push(['_setReferrerOverride', ref]);
} else if (ref.search(/maps.google/) != -1 && ref.search(/q=/) == -1) {
    var regex = new RegExp("maps.google.([^\/]+).*");
    var match = regex.exec(ref);
    ref = 'http://maps.google.' + match[1] + '?q=' + encodeURIComponent('(not provided)');
    _gaq.push(['_setReferrerOverride', ref]);
}

function splitUrl(url) {
    var vals = {};
    var split = url.split('?');
    vals.base = split[0];
    if(split.length > 1) {
        var vars = split[1].split('&');
        vals.params = {};
        for(var i = 0, len = vars.length; i < len; i++) {
            var valSplit = vars[i].split('=', 2);
            vals.params[valSplit[0]] = valSplit[1];
        }
    }
    return vals;
}

function joinUrl(urlObj) {
    var vars = [];
    for(key in urlObj.params)
        if(urlObj.params.hasOwnProperty(key))
            vars.push(key + '=' + urlObj.params[key]);
    return urlObj.base + '?' + vars.join('&');
}

//fix keyword for old google image search
if(ref.match(/^http:\/\/images\.google\./) || ref.match(/^http:\/\/images\.google$/)) {
    var refUrl = splitUrl(ref);
    if(refUrl.params.prev && !refUrl.params.q) {
        var prev = decodeURIComponent(refUrl.params.prev);
        if(prev.indexOf('?q=') !== -1 || prev.indexOf('&q=') !== -1) {
            var prevUrl = splitUrl(prev);
            refUrl.params.q = prevUrl.params.q;
            if(!refUrl.params.q)
                refUrl.params.q = encodeURIComponent('(not provided)');
            delete prevUrl.params.q;
            refUrl.params.prev = encodeURIComponent(joinUrl(prevUrl));
        }
        _gaq.push(['_setReferrerOverride', joinUrl(refUrl)]);
    } else if(!refUrl.params.q) {
        refUrl.params.q = encodeURIComponent('(not provided)');
        _gaq.push(['_setReferrerOverride', joinUrl(refUrl)]);
    }
}
_gaq.push(['_addOrganic', 'images.google', 'q']);
_gaq.push(['_addOrganic', 'maps.google', 'q', true]);

这会处理所有类似于以下内容的引用: http://images.google.com/?q=http://www.google.com/?imgres=

我不知道推荐流量来自哪里。还有其他人看过这个吗?

最佳答案

Google 很自然地会将此域识别为引荐,因为 GA 默认情况下仅包含一定数量的域作为搜索引擎。

要解决此问题,您可以使用“addOrganic()”方法将此类域包含为搜索引擎。

要使用此方法,您不仅必须指定搜索引擎的域,还必须指定用于搜索的查询字符串参数。对于 images.google.com 来说,它是“q”。

在您的 GA 跟踪代码中,添加以下行: _gaq.push(['_addOrganic', 'images.google.com', 'q', true]);

您可以通过 Ga Help Site 获取更多信息.

希望这些信息有帮助,

奥古斯托·罗塞利 网络分析 - digitalcube @_digitalcube www.dp6.com.br

关于javascript - images.google 显示为推荐流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8751229/

相关文章:

javascript - 简单的 Ajax 请求,在 React.js 中循环数据

javascript - 使用appendFileSync时是否需要指定目录?

javascript - 如何将开关与 http.get 结合起来

javascript - 如何循环 CSS3 填充动画?

javascript - 如何可靠地检查 Google Analytics?

google-analytics - 哪些流量来源在每次访问中产生最多的“产品”综合浏览量?

android - 谷歌控制台和分析中安装数量的差异,这是常见的还是有什么问题?

javascript - 具有多个属性的绘制元素

php - 谷歌分析集成代码点火器

google-analytics - 如何跟踪/跟踪用户从移动站点到非移动站点中的购物车