From 6b5f9a108868947e9e2d2bfe33a0af1e44371a03 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 9 Apr 2017 11:34:29 -0400 Subject: [PATCH] Tweak tracking scripts --- assets/javascripts/lib/page.coffee | 11 ++++++--- assets/javascripts/tracking.js | 38 ++++++++++++++++++------------ 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/assets/javascripts/lib/page.coffee b/assets/javascripts/lib/page.coffee index 67823129..bfe454a0 100644 --- a/assets/javascripts/lib/page.coffee +++ b/assets/javascripts/lib/page.coffee @@ -52,7 +52,7 @@ page.replace = (path, state, skipDispatch, init) -> page.dispatch(context) unless skipDispatch context.replaceState() updateCanonicalLink() - track() unless init or skipDispatch + track() unless skipDispatch context page.dispatch = (context) -> @@ -185,7 +185,12 @@ updateCanonicalLink = -> @canonicalLink ||= document.head.querySelector('link[rel="canonical"]') @canonicalLink.setAttribute('href', "http://#{location.host}#{location.pathname}") +trackers = [] + +page.track = (fn) -> + trackers.push(fn) + return + track = -> - ga?('send', 'pageview', location.pathname + location.search + location.hash) - _gauges?.push(['track']) + tracker.call() for tracker in trackers return diff --git a/assets/javascripts/tracking.js b/assets/javascripts/tracking.js index 6f505c5d..ca05b218 100644 --- a/assets/javascripts/tracking.js +++ b/assets/javascripts/tracking.js @@ -1,20 +1,28 @@ try { if (app.config.env == 'production') { - (function() { - (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-5544833-12', 'devdocs.io'); - ga('send', 'pageview'); - })(); + (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-5544833-12', 'devdocs.io'); + page.track(function() { + ga('send', 'pageview', { + page: location.pathname + location.search + location.hash, + dimension1: app.router.context && app.router.context.doc && app.router.context.doc.slug_without_version + }); + }); - (function() { - var _gauges=_gauges||[];!function(){var a=document.createElement("script"); - a.type="text/javascript",a.async=!0,a.id="gauges-tracker", - a.setAttribute("data-site-id","51c15f82613f5d7819000067"), - a.src="https://secure.gaug.es/track.js";var b=document.getElementsByTagName("script")[0]; - b.parentNode.insertBefore(a,b)}(); - })(); + page.track(function() { + if (window._gauges) + _gauges.push(['track']); + else + (function() { + var _gauges=_gauges||[];!function(){var a=document.createElement("script"); + a.type="text/javascript",a.async=!0,a.id="gauges-tracker", + a.setAttribute("data-site-id","51c15f82613f5d7819000067"), + a.src="https://secure.gaug.es/track.js";var b=document.getElementsByTagName("script")[0]; + b.parentNode.insertBefore(a,b)}(); + })(); + }); } } catch(e) { }