I want to track all the data and user interactions through google
analytics for my entire website which is built with rails.
I added a script that I found online that looks like it works but I dont
know how to certainly validate that. In my google analytics dashboard
it shows visitors coming to my page but never leaving the index page. I
think its only tracking that page and no others because I went on my
page the other day and clicked through some of my other pages just to
test the analytics out.
does any one have a resource on how to implement this correctly?
Below is the script file I have in assets/javascript
class @GoogleAnalytics
@load: →
# Google Analytics depends on a global _gaq array. window is the
global scope.
window._gaq = []
window._gaq.push [“_setAccount”, GoogleAnalytics.analyticsId()]
# Create a script element and insert it in the DOM
ga = document.createElement("script")
ga.type = "text/javascript"
ga.async = true
ga.src = ((if "https:" is document.location.protocol then
“https://ssl” else “http://www”)) + “.google-analytics.com/ga.js”
firstScript = document.getElementsByTagName(“script”)[0]
firstScript.parentNode.insertBefore ga, firstScript
# 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()
@trackPageview: (url) →
unless GoogleAnalytics.isLocalRequest()
if url
window._gaq.push [“_trackPageview”, url]
else
window._gaq.push [“_trackPageview”]
window._gaq.push [“_trackPageLoadTime”]
@isLocalRequest: →
GoogleAnalytics.documentDomainIncludes “local”
@documentDomainIncludes: (str) →
document.domain.indexOf(str) isnt -1
@analyticsId: →
# your google analytics ID(s) here…
‘MY_GOOGLE_ANALYTICS_ID’
GoogleAnalytics.load()