zet*_*run 7 ruby json google-analytics ruby-on-rails
我搜索了很多关于这个问题,但我找不到任何好的东西.我认为这是一个常见问题:您拥有一个Web应用程序并在您的平台上构建JSON API,因此您可以开发一些小部件,移动应用程序或第三方应用程序.
我知道有很多通过API的特定分析服务(如Mixpanel,Kissmetrics和许多其他),但我想通过Google Analytics跟踪所有JSON调用.
我发现最好的方法是使用__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
Run Code Online (Sandbox Code Playgroud)
我想你想使用异步跟踪器,它是谷歌分析的一部分。以下是我如何跟踪触发异步 AJAX 事件的点击的示例:
$('.trackable').bind('click', function(event){
var action = $(this).attr('action');
var category = $(this).attr('category');
_gaq.push(['_trackEvent', action, category]);
});
Run Code Online (Sandbox Code Playgroud)
“_gaq”是 google 异步队列,可以添加到您想要跟踪指标的任何 JS 函数中。上面的函数允许您添加一个名为“trackable”的类,并在用户单击它时跟踪事件。一个例子如下:
<a category='FEATURED' action='Like This' class='trackable' href="http://MYSSERVER.com/foo.json" target='_blank'>track asynchronously.</a>
Run Code Online (Sandbox Code Playgroud)