Ruby on rails 在Ruby/Rails应用程序中使用Google Analytics跟踪JSON调用
关于这个问题我搜索了很多,但没有找到好的。我认为这是一个常见的问题:您有一个web应用程序,并在您的平台上构建JSON API,因此您可以开发一些小部件、移动应用程序或第三方应用程序 我知道通过API有很多特定的分析服务(如Mixpanel、Kissmetrics和许多其他),但我也希望通过Google analytics跟踪所有JSON调用 我发现最好的方法是使用u_utm.gif图像,但奇怪的是,我找不到任何插件或gem来使用这个图像。 因此,我尝试构建自己的方法,但没有成功(请参见下面的代码)。。。 有人能帮忙吗Ruby on rails 在Ruby/Rails应用程序中使用Google Analytics跟踪JSON调用,ruby-on-rails,ruby,json,google-analytics,Ruby On Rails,Ruby,Json,Google Analytics,关于这个问题我搜索了很多,但没有找到好的。我认为这是一个常见的问题:您有一个web应用程序,并在您的平台上构建JSON API,因此您可以开发一些小部件、移动应用程序或第三方应用程序 我知道通过API有很多特定的分析服务(如Mixpanel、Kissmetrics和许多其他),但我也希望通过Google analytics跟踪所有JSON调用 我发现最好的方法是使用u_utm.gif图像,但奇怪的是,我找不到任何插件或gem来使用这个图像。 因此,我尝试构建自己的方法,但没有成功(请参见下面的代
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
我想你应该使用异步跟踪器,它是谷歌分析的一部分。下面是我如何跟踪触发异步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>
回答不快,但我想你应该试试看嗨,Heavysizer!谢谢你的回答,但我的问题是我不能将JS代码用于某些库,因为我想跟踪json API上的所有调用,而我不知道是谁调用它们。一个具体的例子是跟踪来自我自己的小部件的呼叫,但这里的问题是,我不知道我是否可以在嵌入的域ebete中使用谷歌分析…所以我唯一的方法是跟踪服务器端的呼叫…不是吗?谢谢BurmajaM!你认为这是一个好的选择,而不是有两个不同的分析系统?现在我正在使用Google Analytics跟踪网站上的访问者,并使用服务器端Mixpanel API跟踪widget的访问者……我不是分析专家,但你可以在GA中为同一个应用程序生成不同的报告。Gabba不需要做任何事。我使用Gabba仅用于事件跟踪!