2010-11-28 11 views
7

私はこの問題について多くの調査をしましたが、何か良いものは見つかりませんでした。これは一般的な問題だと思う:あなたはウェブアプリケーションを持っていて、あなたのプラットフォームの上にJSON APIをビルドするので、ウィジェット、モバイルアプリ、またはサードパーティアプリケーションを開発することができる。GoogleアナリティクスでRuby/RailsアプリでJSON呼び出しをトラッキングする

APIを使用した特定の分析サービス(Mixpanel、Kissmetricsなど)がたくさんありますが、GoogleアナリティクスからもJSON呼び出しをすべてトラッキングしたいと考えています。

__utm.gifイメージを使用するのが最善の方法ですが、不思議なことにこのイメージを使用するプラグインまたは宝石が見つかりませんでした。 私は自分のメソッドを成功させることなく構築しようとしました(下のコードを参照)... 誰かが助けることができますか?

def google_analytics_call(page_title) 
     today = Time.now.to_i 
     utma = cookies[:__utma].to_s 
     utmb = cookies[:__utmb].to_s 
     utmc = cookies[:__utmc].to_s 
     utmz = cookies[:__utmz].to_s 
     utma = (rand(8).to_s + "." + rand(10).to_s + "." + today.to_s + "." + today.to_s+ "." + today.to_s) unless cookies[:__utma] 
     utmb = rand(8).to_s unless cookies[:__utmb] 
     utmc = rand(8).to_s unless cookies[:__utmc] 
     utmz = rand(8).to_s+ "." + today + ".2.2.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)" unless cookies[:__utmz] 

     Thread.new do 
     params = { 
      :utmac => GOOGLE_ANALYTICS, 
      :utmcc => "__utma%3D"+utma+"%3B%2B"+"__utmb%3D"+utmb+"%3B%2B"+"__utmc%3D"+utmc+"%3B%2B"+"__utmz%3D"+utmz+"%3B%2B", 
      :utmcn => "1", 
      :utmcs => "-", 
      :utmdt => page_title, #page title 
      :utmhn => BASE_URL, 
      :utmwv => 1, 
      :utmt => "page", 
      :utmr => request.referer 
     } 
     puts params 

     http_get("www.google-analytics.com", "/__utm.gif", params) 
     end 
    end 

答えて

3

私はあなたがGoogle Analyticsの一部である非同期トラッカーを使用したいと思います。ここで私は非同期AJAXイベントを起動クリックを追跡する方法の例です。

$('.trackable').bind('click', function(event){ 
       var action = $(this).attr('action'); 
       var category = $(this).attr('category'); 
       _gaq.push(['_trackEvent', action, category]); 
      }); 

「_gaqは、」Googleの非同期キューであり、あなたが内のメトリックを追跡したいすべてのJS関数に追加することができます。上記の関数は、 "trackable"と呼ばれるクラスを追加し、ユーザーがそれをクリックするとイベントを追跡することを可能にします。例は次のようになります。

<a category='FEATURED' action='Like This' class='trackable' href="http://MYSSERVER.com/foo.json" target='_blank'>track asynchronously.</a> 
+0

こんにちはheavysixerを試みるべきだと思います!あなたの答えはありがたいですが、私の問題は、My JSON APIのすべての種類の呼び出しを追跡したいと思っていて、誰が呼び出しているのかわからないため、JSコードをライブラリのいくつかに使用できないことです。特定のケース私自身のウィジェットからの呼び出しを追跡することができますが、ここで問題は私がドメイン内でGoogleアナリティクスを使用できるかどうかわからないということです。埋め込まれているので...私の唯一の方法はサーバー側を呼び出すことです私はしない? – zetarun

3

ない迅速な答えは、私はあなたがGabba gem

+0

ありがとうBurmajaM! 2つの異なるアナリティクスシステムを使用する代わりに、これが良い選択肢になると思いますか?今はGoogleアナリティクスを使用して、ウェブサイトの訪問者やサーバーサイドのMixpanel APIをウィジェットの訪問者にトラッキングしています。 – zetarun

+0

私はアナリティクスの専門家ではありませんが、GAの同じアプリについて異なるレポートを作成できます。ガバはそれに何もする必要はありません。私はイベントトラッキングのためだけにGabbaを使用しています! – BurmajaM

関連する問題