Googleアナリティクスでアウトバウンドリンクを追跡する

Googleアナリティクスは、サイト統計を収集および分析するための十分な機会を提供しますが、ヘルプセンターで提供される発信リンクを追跡する方法を提供します...



<a href="http://www.primer.ru" onClick="javascript:urchinTracker('/outgoing/primer_ru');">







...控えめに言っても、あまり便利ではありません。



機会自体は非常に興味深いので、私はそれをまだ使用すると同時に、各外部リンクにonclickを添付せずに使用することにしました。





計画



もちろん、JavaScriptを使用してページ上のすべてのリンクにアクセスし、それぞれに対応するonclick



ハンドラーを添付できますが、これはthisいため、最適ではなく、訪問者がリンク自体に添付された画像へのリンクをクリックしないと機能しません。 この場合、イベント委任手法は非常に適しています。ドキュメント要素にアタッチされた1つのonclick



ハンドラーを使用するだけで十分です。



スクリプト



スクリプトを簡素化するために、JQueryライブラリーが使用されましたが、他のフレームワークのファンは簡単に適合させることができます。

  <code> //リンクが外部かどうかを判断する関数
関数isLinkExternal(リンク)
 {
     var r = new RegExp( '^ https ?: //(?:www。)?'
         + location.host.replace(/ ^ www./、 ''));
     return!r.test(リンク);
 }

 $(ドキュメント).ready(関数(){
    
     $(ドキュメント).bind( 'click'、function(e){
         //イベントが発生した要素を取得します
         var target =(window.event)?  e.srcElement:e.target; 
        
         //リンクにネストされた要素をクリックします
         //リンク自体に移動する必要があります
         while(ターゲット)
         {
             if(target.href)break;
            ターゲット= target.parentNode;
         }

         if(!ターゲット||!isLinkExternal(target.href))
             trueを返します。

         // /outgoing/http/habrahabr.ruの形式でリンクを追跡します
         var link = target.href;
         link = '/ outgoing /' + link.replace(/:\ / \ //、 '/');
         urchinTracker(リンク);
     });
    
     //ボーナスとして、RSSリンクのクリックを追跡します
     //これは署名者に関する完全な統計情報を提供しませんが
     $( '#feed-link')。bind( 'click'、
         function(){urchinTracker( '/ feed /');  });
     $( '#fullfeed-link')。bind( 'click'、
         function(){urchinTracker( '/ fullfeed /');  });
     $( '#commentsfeed-link')。bind( 'click'、
         function(){urchinTracker( '/ commentsfeed /');  });
 }); </ code> 




スクリプトは、htmlbook.ruフォーラムで共同開発されました



Googleアナリティクスを使用するためのその他のコツは、 Design for Masters Webサイトの「Googleアナリティクスの高度な使用」にあります。



All Articles