2012-01-05 18 views
1

Google Analyticsでは、images.googleドメインからは送信されていても、参照トラフィックとして表示される、1日に約100回のトラフィックがあります。私は、キーワードを引き出し、Google Image Searchの参照元のようないくつかのバリエーションのためのオーガニックソースを設定するためのカスタムコードを用意しています。サーバーログからそれを実行できるすべての参照元に対して機能します。images.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]); 

これがどのように見えるreferresのすべてを処理します。 http://images.google.com/?q=http://www.google.com/?imgres=

紹介トラフィックがどこから来ている私は知りません。他に誰がこれを見たことがありますか?

+0

images.google.comからの参照トラフィックのreferralPathは何と表示されますか? – Eduardo

答えて

0

Googleは、このドメインを参照として認識するのは当然です.Googleでは、デフォルトで検索エンジンとして特定の数のドメインのみが含まれています。

この問題を解決するには、「addOrganic()」メソッドを使用する検索エンジンなどのドメインを含めることができます。

この方法を使用するには、検索エンジンのドメインだけでなく、検索に使用するクエリ文字列パラメータも指定する必要があります。 images.google.comの場合は「q」です。

GAトラッキングコードに、次の行を追加します。 _gaq.push(['_ addOrganic'、 'images.google.com'、 'q'、true]);

Ga Help Siteについて詳しく知ることができます。この情報が役立ちます

希望、

アウグストRoselli ウェブ解析 - digitalcube @_digitalcube www.dp6.com.br

+0

申し訳ありませんが、実際にはすでに_addOrganicを使用しています。そうしないと、画像トラフィックはどれもオーガニックとして表示されません。私はそれを示すために私の元の質問を編集しました。 – alexp

0

誰かが標準のGoogle検索に現れる画像、ないをクリックした場合images.google、URLが異なる可能性があります。そこからいくつかのURLを試してみるべきです。しかし、それ以外に、ユーザーがGoogleアカウントにログインしている場合、通常のGoogleのポップアップにはクエリ文字列は含まれないというGoogleの画像リンクがあります。

は、Googleアナリティクスをリンクから(not provided)キーワードから来るようにこれらの訪問を示しています。ここで対象のリンクのカップルがある2011年10月に起こりました有機媒体。しかし、SERP上の画像をクリックすると、有機媒体として識別されません。それは紹介として特定され、それはおそらくあなたが見ているものです。

Google画像リンクにqパラメータがあるかどうかを確認する必要があります。ログに記録されたユーザーからのものではなく、(not provided)と報告され、Googleの有機的なキーワードと一致する必要があります。あなたが持っている_setReferrerOverride URLに&q=(not provided)を追加するだけです。 URLに追加する前にURLをエンコードすることを忘れないでください。

私が使用しているコードもここに掲載しています。それはGoogle Forumsからです。しかし、あなたのものに非常によく似ており、(not provided)キーワードの問題はまだ処理されていません。

これは、あなたと非常に似ていますが、いくつかの顕著な違いがあります。

  • イメージURLからパス全体を削除しますが、私の場合は のパスを保持します。
  • 「_addOrganic」に「true」というキーワードを使用していないと、 はレポートに images.google sourceの代わりに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

申し訳ありませんが、これはあまり役に立ちません。 「q」パラメータをチェックし、適切なときに「(提供されていません)」と設定すると言います。あなたが言及したその他の問題:画像URLからパスを取り除く - これはオーガニック/リフェラルには影響せず、addOrganicに "true"を設定します。これは間違ったオーガニックソースとして報告されるかもしれませんが、手元の問題。 – alexp

+0

あなたは正しいです。どのように私はそれを逃したのか分からない。申し訳ありません。このコードはどこで実行しますか? _setAccountの後、_trackPageview、_trackEventまたは_initDataの前に実行する必要があります。それはあなたが正しいことですか?それ以外は、あなたに何が起こるのかわからない – Eduardo

+0

心配はありません。はい、_setAccountの後と_trackPageviewの前に実行されます – alexp