跟踪谷歌分析在Rails with Devise中注册页面

时间:2016-11-23 14:16:42

标签: ruby-on-rails google-analytics devise analytics.js

我正在尝试跟踪我的Rails应用程序的每个页面,在布局上呈现这个部分:

var analyticsId = '<%= Settings.env.app.analytics_id %>';

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;  i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0]; 
a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

ga('create', '<%= Settings.env.app.analytics_id %>', 'auto', 'trackEvent: true');
ga('send', 'pageview');

将Google Analytics ID添加到设置后,我可以在我的Google Analytics信息中心中看到对users#sign_in页面的访问,但不会访问我的users#sign_up页面。 通过firebug控制台检查两个页面,我在html代码中看到了结果:

var analyticsId = 'UA-XXXXXXXX-X';

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;
i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g
m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');


ga('create', 'UA-XXXXXXXX-X', 'auto', 'trackEvent: true');
ga('send', 'pageview');

使用&#39; UA-XXXXXXXX-X&#39; = Settings.env.app.analytics_id,在analytics_id下的config / settings / app.yml中定义。

我们使用devise来处理signin / signup过程,这是与routes.rb中的设计相关的部分。

Rails.application.routes.draw do
 devise_for :users, controllers: {
  confirmations: 'users/confirmations',
  registrations: 'users/registrations'
 }
 ActiveAdmin.routes(self)

 authenticated :user do
  devise_scope :user do
   root to: redirect("/home")
  end
 end

unauthenticated do
 devise_scope :user do
   root to: redirect("users/sign_in"), as: "unauthenticated_index"
   get '/pages/:page',    to: 'pages#show', as: "pages_show"
 end
end

1 个答案:

答案 0 :(得分:1)

似乎问题与以下事实有关:

  

Rails 4.0引入了一个名为Turbolinks的功能来增加   感知网站的速度。

     

Google Analytics不适用于Rails 4.0或更新的网站   应用。更准确地说,它不适用于所有页面。它可以   可以使用解决方法来适应Turbolinks。

长话短说我已经根据这篇文章的答案应用了一个解决方法: Google analytics with rails 4

相关问题