images.google отображается как реферальный трафик - PullRequest
1 голос
/ 06 января 2012

Я вижу приличный объем трафика, около 100 посещений в день, который идет с домена images.google, но в Google Analytics он показывает как реферальный трафик, а не как обычный. У меня есть некоторый пользовательский код для извлечения ключевых слов и установки органического источника для нескольких вариантов того, как выглядят рефереры Google Image Search, и он работает для каждого реферера, с которым я могу запустить его из журнала сервера.

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=

Я не знаю, откуда приходит реферальный трафик. Кто-нибудь еще видел это?

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Если кто-то нажимает на изображение, которое отображается в стандартном поиске Google, а не на images.google, URL может отличаться. Вы должны попробовать некоторые URL оттуда. Но кроме этого, ссылки на изображения Google, которые всплывают в обычном Google, не будут содержать строку запроса, если пользователь вошел в учетную запись Google. Это произошло в октябре 2011 года, вот несколько ссылок на эту тему:

На обычных обычных ссылках Google Google Analytics показывает, что эти посещения происходят по ключевому слову (not provided) с органического носителя. Но если вы нажмете на изображение в поисковой выдаче, оно не будет идентифицировано как органическая среда. Он будет определен как Направление, и это, вероятно, те, которые вы видите.

Итак, вам нужно проверить, имеет ли ссылка для изображений Google параметр q или нет. Если это не так, то это от зарегистрированного пользователя и должно быть указано как (not provided), чтобы соответствовать ключевым словам Google Organic. Просто добавьте &q=(not provided) к _setReferrerOverride URL, который вы получили. Не забудьте URL кодировать, прежде чем добавлять к URL.

Я также публикую здесь код, который я использую. Это из форумов Google . Но он очень похож на ваш и пока не решает проблему с ключевыми словами (not provided).

Обратите внимание, что он очень похож на ваш с некоторыми заметными отличиями.

  • Вы удаляете весь путь из URL изображений, в то время как мой хранит дорожка.
  • Вы не используете ключевое слово "true" в "_addOrganic", это может привести к тому, что Google Картинки будут отображаться как Google вместо источник изображений.google в ваших отчетах.

Вот код, который я сейчас использую:

//handle google images referrer
var ref = document.referrer; 
if ((ref.search(/google.*imgres/) != -1)) { 
  var regex = new RegExp("\.google\.([^\/]+)(.*)"); 
  var match = regex.exec(ref); 
  _gaq.push( 
    ['_setReferrerOverride', 'http://images.google.' + match[1] + 
unescape(match[2])], 
    ['_addOrganic', 'images.google', 'q', true] 
  ); 
} 

Я буду обновлять свой код для обработки (not provided) ссылок на изображения Google и буду публиковать здесь, как только он у меня будет.

0 голосов
/ 06 января 2012

Что ж, для Google естественно признать этот домен рефералом, поскольку GA по умолчанию включает только определенное количество доменов в качестве поисковых систем.

Для решения этой проблемы вы можете включить такой домен в качестве поисковой системы.используя метод "addOrganic ()".

Чтобы использовать этот метод, вы должны указать не только домен поисковой системы, но и параметр строки запроса, используемый для поиска.В случае images.google.com это "q".

В код отслеживания GA добавьте строку: _gaq.push (['_ addOrganic', 'images.google.com', 'q', правда]);

Подробную информацию можно получить на справочном сайте Ga .

Надеюсь, эта информация поможет,

Augusto Roselli Web Analytics -digitalcube @_digitalcube www.dp6.com.br

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...