4

質問にあるように、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 にリダイレクトしているようです。

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

4

2 に答える 2

9

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

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

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

ほとんどの広告は、カウント URL に直接リンクするだけで、javascript による置き換えはありません。これは、リンクのすべての実際のクリックを確実にカウントすることを意味しますが、ロボットからのリクエストをフィルタリングすることについて心配する必要があります.

どちらを好むかは、クリックを追跡する理由によって異なります。

于 2009-03-10T23:56:17.927 に答える
1

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

一般的に、ユーザーがクリックした広告の ID を含む追跡ページにユーザーを誘導することはもちろん、ユーザーがどこから来たのかを示す追加の表示が賢明です。そうすれば、他のメカニズム (JS イベントなど) に依存しなくなります。ハンドラー) を使用してリンクのクリックを追跡します。これは、私が使用したほとんどの広告システムが機能する方法です。

于 2009-03-10T23:54:50.753 に答える