我几天前设置了 Google Analytics..
1.) Turbolink 解决方法
使用 Turbolinks,Google Analytics JavaScript 库不足以记录每次页面更新的页面访问。
应在每个页面上加载解决方法,并且可以将其作为应用程序范围的资产包含在内(它将在 Turbolinks 之前加载)。
添加文件 app/assets/javascripts/analytics.js.coffee 以包含 Turbolinks 解决方法:
app/assets/javascripts/analytics.js
// Coffee
$(document).on 'page:change', ->
if window._gaq?
_gaq.push ['_trackPageview']
else if window.pageTracker?
pageTracker._trackPageview()
// Javascript
$(document).on('page:change', function() {
if (window._gaq != null) {
return _gaq.push(['_trackPageview']);
} else if (window.pageTracker != null) {
return pageTracker._trackPageview();
}
});
2.) 创建部分页脚
只需在 app/views/layouts 中创建一个 Partial -> _footer.html.erb
然后在你的 application.html.erb 上调用你的 Partial -> <%= render 'layouts/footer' %>
在您的页脚中插入分析跟踪代码:
<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>
您必须将 UA-XXXXXXX-XX 替换为您的跟踪 ID,并将 herokuapp.com 替换为您的域(如果有)。