it-swarm.com.de

Google Analytics mit Rails 4

Ich habe Schwierigkeiten, Google Analytics in meinem Rails 4-Projekt zu implementieren. Ich habe den Tracking-Code an den unteren Rand meiner Layouts-Datei angehängt und habe sogar versucht, Turbolinks zu entfernen, wie vorgeschlagen hier . Allerdings kann Google dieses Tracking-Cookie immer noch nicht erkennen. Irgendwelche Ideen ?

37
Joshua

Ich habe Google Analytics einige Tage zuvor eingerichtet.

1.) Der Turbolink-Workaround

Bei Turbolinks reicht die JavaScript-Bibliothek von Google Analytics nicht aus, um einen Seitenbesuch für jedes Seitenupdate aufzuzeichnen. 

Die Problemumgehung sollte auf jeder Seite geladen werden und kann als anwendungsweites Asset eingefügt werden (wird vor Turbolinks geladen).

Fügen Sie die Datei app/assets/javascripts/analytics.js.coffee hinzu, um die Turbolinks-Problemumgehung aufzunehmen:

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.) Teilweise Fußzeile erstellen 

Erstellen Sie einfach ein Partial in app/views/layouts -> _footer.html.erb

Dann rufen Sie Ihren Partial in Ihrer application.html.erb an -> <%= render 'layouts/footer' %>

Fügen Sie den Analytics-Track-Code in Ihre Fußzeile ein:

<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>

Sie müssen müssen UA-XXXXXXX-XX durch Ihre Tracking-ID und herokuapp.com durch Ihre Domäne ersetzen, falls Sie welche haben.

78
Mini John

Hier ist der Code ohne 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();
 }
});
12
poerror

Ich habe dieses Juwel benutzt und war sehr einfach einzurichten. Keine zusätzliche .js-Dateierstellung . Rails 3-Helfer zum Verwalten von Google Analytics-Tracking. Meist für kleine bis mittlere Websites gedacht.

Installieren Sie einfach den Edelstein:

gem 'google-analytics-Rails', '1.1.0'

Dann renne:

bundle install

Abschließend geht dies in die Konfiguration der Produktionsumgebung:

Nur Produktion Config/umwelts/production.rb:

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

app/views/layout/application.html.erb im <head>-Tag:

<%= analytics_init if GoogleAnalytics.valid_tracker? %>

Ich sah Ergebnisse sofort nach Heroku.

3
perezdr

Ich habe Turbolinks entfernt und das hier bereitgestellte RailsProjects-Skript verwendet: 

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

Arbeitete für mich keine Probleme. Es hat es erkannt, und nach kurzer Zeit konnte ich die Echtzeitbenutzer sehen, also weiß ich, dass es funktioniert. 

Bearbeiten: Das Skript scheint Turbolinks zu unterstützen, was großartig ist. 

# 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()
2
Joshua Dance

Ich hatte Probleme mit dem Hinzufügen von GA mit Turbolinks. Daher habe ich einige Blogs und Antworten auf stackoverflow verwiesen und einen kleinen Blog darüber geschrieben. Bitte besuchen Sie diesen Link http://tarungarg402.blogspot.in/2015/01/google-analyicts-wth-Rails.html

1
Tarun Garg

Ich verwende dies in meiner Rails-App. Ich habe dies einfach in meinen 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');
});
0
vedant