2010-11-28 71 views
7

我搜索了很多關於此問題的內容,但找不到任何好的內容。我認爲這是一個常見問題:您有一個Web應用程序並在平臺之上構建JSON API,因此您可以開發一些小部件,移動應用程序或第三方應用程序。在Ruby/Rails應用中使用Google Analytics跟蹤JSON調用

我知道有很多通過API的特定分析服務(比如Mixpanel,Kissmetrics和其他許多人),但我想通過Google Analytics跟蹤所有的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

我想你想使用異步追蹤器,它是谷歌分析的一部分。下面是我如何跟蹤觸發一個異步AJAX事件的點擊,例如:

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

的「_gaq」是谷歌的異步隊列,並可以添加到您想要跟蹤內任何指標JS功能。上面的功能允許您添加一個名爲「trackable」的類,並在用戶點擊它時跟蹤事件。一個例子是這樣的:

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

嗨heavysixer!感謝您的回答,但我的問題是,我不能使用JS代碼的某種類型的庫,因爲我想跟蹤我的json API上的所有類型的調用,我不知道誰叫他們。一個特定的情況可以跟蹤來自我自己的小部件的電話,但這裏的問題是,我不知道我是否可以在域中使用谷歌分析ebete它的嵌入...所以我唯一的方法是跟蹤調用服務器端..我不是嗎? – zetarun 2010-11-29 00:52:11

3

還不快答案,但我想你應該嘗試Gabba gem

+0

感謝BurmajaM!你認爲這可能是一個好的選擇,而不是有兩個不同的分析系統?目前,我正在使用Google Analytics(分析)來跟蹤網站和服務器端Mixpanel API中的訪問者以及窗口小部件的訪問者... – zetarun 2011-01-25 11:25:39

相關問題