Googleは検索結果のクリックをどのように追跡しますか?これが最善の方法ですか?

StackOverflow https://stackoverflow.com/questions/632683

質問

質問のとおり、Googleが検索結果のクリックをどのように追跡するかを考えています。ソースを表示すると、次のことがわかります。

 <a href="http://www.yahoo.com/" class=l onmousedown="return rwt(this,'','','res','1','AFQjCNG7Ba-stir4109vlLygPQX7QGf8bg','&amp;sig2=Vx5PLxf04C-yJYZTZfvk8w')"><em>Yahoo</em>!</a>

関数 rwt は、かなり厄介です:

windows.rwt=function(b,d,e,g,h,f,i,j){
var a=encodeURIComponent||escape,c=b.href.split("#");
b.href=["/url?sa=t\x26source\x3dweb",d?"&oi="+a(d):"",e?"&cad="+a(e):"","&ct=",a(g),"&cd=",a(h),"&url=",a(c[0]).replace(/\+/g,"%2B"),"&ei=7_C2SbqXBMW0-AbU4OWnCw",f?"&usg="+f:"",i,c[1]?"#"+c[1]:""].join("");
b.onmousedown="";
return true};

つまり、Googleはaタグのhrefを / url?... に変更しているようです。 FirefoxのLiveHeadersから、このページはブラウザをaタグの元のhrefにリダイレクトしているようです。

これは正しいですか、これは広告などのサイト上のリンクのクリックを追跡する最良の方法ですか?

役に立ちましたか?

解決

実際には、ウィンドウの場所ではなく、リンクのhrefを変更しています。 b.hrefを設定し、bはリンク自体を指します。これはonmousedownで実行されるため、マウスを離してクリックが処理されると、魔法のようにその新しいhrefに送信されます。

クリックトラッキングは、ユーザーをGoogleの/ url?...スクリプトに相当するものに送り、クリックをカウントし、実際の宛先への302リダイレクトを実行することになります。

このjavascript hrefの置換には、スクリプトを実行しないロボットを自動的に除外するという利点があります。欠点は、javascriptが無効になっている実際のユーザーを除外することです。 Googleのように、どのリンクが実際の人間のユーザーに最も人気があるかを気にするだけであれば、これは非常にうまく機能します。記録するクリックは、実際の人のトラフィックを代表するものである必要があります。JavaScriptを使用していないユーザーのクリックは無視してかまいません。

ほとんどの広告は、javascriptの代わりにカウントURLに直接リンクしているだけです。これは、リンク上の実際のクリックをすべて確実にカウントすることを意味しますが、カウントURLも表示されるため、ロボットからのリクエストを除外することを心配する必要があります。

クリックを追跡する理由に応じて、実際にどちらを選択するかが決まります。

他のヒント

ほとんどの人は広告が何らかの追跡システムを介してクリックスルーすることを期待していると思うので、この特定のjavascript実装に従うことについてあまり心配するべきではありません-ユーザーが正しいリンクを見るためにおそらくそこにあるものと同じくらいブラウザのステータスバーで、他のさまざまな興味深い情報(検索用語、その時点での結果セットの位置、あなたが誰であるかなど)が(あなたが気付かないうちに)送信され、JavaScriptが無効。

一般に、はいクリックした広告のIDを使用して追跡ページをユーザーに誘導します。おそらく、ユーザーがどこから来たのかを示す追加の指示が賢明です-そのように他のメカニズム( JSイベントハンドラーとして)リンクのクリックを追跡することは、私が使用したほとんどの広告システムが動作する方法であることは確かです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top