Google analytics 谷歌分析与rails 4

Google analytics 谷歌分析与rails 4,google-analytics,ruby-on-rails-4,Google Analytics,Ruby On Rails 4,我在rails 4项目中实现google analytics时遇到了一些困难。我在我的布局文件的底部包含了跟踪代码,甚至尝试按照建议删除turbolinks,但是谷歌仍然无法检测到这个跟踪cookie。有什么想法吗?我几天前建立了谷歌分析 1.)Turbolink解决方案 对于Turbolinks,Google Analytics JavaScript库不足以记录每次页面更新的页面访问 应在每个页面上加载变通方法,并将其作为应用程序范围的资产(将在TurboLink之前加载) 添加文件app/a

我在rails 4项目中实现google analytics时遇到了一些困难。我在我的布局文件的底部包含了跟踪代码,甚至尝试按照建议删除turbolinks,但是谷歌仍然无法检测到这个跟踪cookie。有什么想法吗?

我几天前建立了谷歌分析

1.)Turbolink解决方案

对于Turbolinks,Google Analytics JavaScript库不足以记录每次页面更新的页面访问

应在每个页面上加载变通方法,并将其作为应用程序范围的资产(将在TurboLink之前加载)

添加文件
app/assets/javascripts/analytics.js.coffee
以包括TurboLink解决方案:

2.)创建页脚部分

只需在
app/views/layouts
->\u footer.html.erb中创建一个部分

然后在application.html.erb->

在页脚中插入分析跟踪代码:

<script>
  (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','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXXX-XX', 'herokuapp.com');
  ga('send', 'pageview');

</script>

(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口,文档,“脚本”,“www.google-analytics.com/analytics.js”,“ga”);
ga(“创建”、“UA-XXXXXXX-XX”、“herokuapp.com”);
ga(‘发送’、‘页面浏览’);

您必须用您的跟踪ID替换UA-XXXXXXX-XX
,如果您有域,则必须用域替换herokuapp.com

以下是不使用coffeescript的代码:

app/assets/javascripts/analytics.js

$(document).on('page:change', function() {
 if (window._gaq != null) {
  return _gaq.push(['_trackPageview']);
 } else if (window.pageTracker != null) {
  return pageTracker._trackPageview();
 }
});

我在添加带有TurboLink的GA时遇到了一些问题,所以我参考了一些关于stackoverflow的博客和答案,并就此写了一个小博客。请参考此链接

我删除了TurboLink,并使用了RailsProject脚本,如下所示:

为我工作没有问题。它检测到了它,过了一会儿,我可以看到实时用户,所以我知道它正在工作

编辑:脚本似乎支持打开或关闭TurboLink,这很好

# If Turbolinks is supported, set up a callback to track pageviews on page:change.
    # If it isn't supported, just track the pageview now.
    if typeof Turbolinks isnt 'undefined' and Turbolinks.supported
      document.addEventListener "page:change", (->
        GoogleAnalytics.trackPageview()
      ), true
    else
      GoogleAnalytics.trackPageview()

我用这个宝石,很容易安装。没有额外的.js文件创建。

只需安装gem:

gem 'google-analytics-rails', '1.1.0'
然后运行:

bundle install
最后,生产环境配置如下:

仅限生产 config/environments/production.rb:

# replace this with your tracker code
GA.tracker = "UA-112233-4"
<%= analytics_init if GoogleAnalytics.valid_tracker? %>
app/views/layout/application.html.erb,在
标签中:

# replace this with your tracker code
GA.tracker = "UA-112233-4"
<%= analytics_init if GoogleAnalytics.valid_tracker? %>


推到Heroku后,我立即看到了结果。

我在rails应用程序中使用了它。我只是把它放在我的
应用程序.js.erb

// GA racking code
(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-XXXXX-<%= Rails.env.production? ? '1' : '2' %>', 'auto');
// I have 2 GA properties- one for debug and another for production

// accommodate Turbolinks and track page views
$(document).on('ready page:change', function() {
    ga('send', 'pageview');
});
//GA机架代码
(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口、文档、“脚本”和https://www.google-analytics.com/analytics.js","ga",;
ga(“创建”、“UA-XXXXX-”、“自动”);
//我有2个GA属性-一个用于调试,另一个用于生产
//适应TurboLink和跟踪页面视图
$(文档).on('ready page:change',function(){
ga(‘发送’、‘页面浏览’);
});

尝试为Firefox安装Omnibug Firebug插件。如果你在一个页面上安装了GATC,这个插件将很容易向你显示对谷歌的请求。如果您没有看到任何消息被发送,那么请检查浏览器中的JavaScript错误控制台,因为您可能有JS错误。。。很好的工作(TMJ:)注意,这个例子直接来自。实际上根本不是。设置新站点时会提供跟踪代码,Turbolink解决方案来自另一个示例。不确定我遗漏了什么,但G.Analytics仍然认为,当我使用TurboLinksHey@cqcn1991导航到另一个页面时,我正在重新加载我的主页,这是让Google Analytics与您的Rails应用程序配合使用的两个步骤。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。好啊我会处理的