2013-09-05 4 views
35

У меня возникли трудности с внедрением google analytics в проект rails 4. Я включил код отслеживания в нижнюю часть моего файла макетов и даже попытался удалить турбонауки, как было предложено here, однако я google все еще неспособен обнаружить этот файл cookie отслеживания. Есть идеи ?Google analytics with rails 4

+1

Попробуйте установить плагин Omnibug Firebug для Firefox. Если у вас установлен GATC на странице, этот плагин легко покажет вам запросы, сделанные в Google. https://addons.mozilla.org/En-us/firefox/addon/omnibug/. Если вы не видите ничего отправленного, проверьте свою консоль ошибок JavaScript в своем браузере, поскольку у вас могут быть ошибки JS. – crmpicco

+0

http://readysteadycode.com/howto-access-the-google-analytics-api-with-ruby – maurymmarques

ответ

77

настроить 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.) Создание колонтитула Частичное

Просто создайте аа Partial в app/views/layouts -> _footer.html.erb

Затем назовите ваш Partial на своем application.html.erb -><%= render 'layouts/footer' %>

Вставьте в ваш 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 с идентификатором отслеживания и herokuapp.com с доменом, если у вас есть.

+1

Круиз через некоторые из ваших запросов Rails ... Хорошая работа TMJ :) – zx81

+0

Обратите внимание, что этот пример происходит прямо из [Google страница расширенной конфигурации] (https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced). – Caleb

+1

На самом деле совсем нет. Код трека предоставляется при настройке нового Сайта и Обходной путь Turbolink из другого примера. –

12

Вот код без использования 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(); 
} 
}); 
1

я столкнулся некоторые проблемы при добавлении ГА с turbolinks так я упомянул некоторые блоги и ответы на StackOverflow и написал небольшой блог на этом. Пожалуйста, обратитесь к этой ссылке http://tarungarg402.blogspot.in/2015/01/google-analyicts-wth-rails.html

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. [Почему и как удалены некоторые ответы?] (Http://stackoverflow.com/help/deleted-answers) – bummi

+0

Хорошо. Я позабочусь об этом –

2

я удалил Turbolinks, и использовал сценарий RailsProjects, представленная здесь:

http://railsapps.github.io/rails-google-analytics.html

Работал для меня никаких проблем. Он обнаружил это, и через некоторое время я мог видеть пользователей в реальном времени, поэтому я знаю, что он работает.

Редактировать: сценарий, по-видимому, поддерживает Turbolinks, который отличен.

# 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() 
3

Я использовал этот камень и был очень прост в настройке. Никаких дополнительных файлов .js. Rails 3 helpers to manage google analytics tracking. Mostly intended for small to medium websites.

Просто установите перл:

gem 'google-analytics-rails', '1.1.0' 

Затем запустите:

bundle install 

Наконец, это идет @ конфигурации производственной среды:

Производство только конфигурации/среда/production.rb:

# replace this with your tracker code 
GA.tracker = "UA-112233-4" 

приложение/просмотров/макет/application.html.erb, в <head> тег:

<%= analytics_init if GoogleAnalytics.valid_tracker? %> 

Я видел результаты сразу после нажатия на Heroku.

0

Я использую это в своем приложении для рельсов. Я просто положил это в свой application.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'); 
});