From f0c6c055fff74d3b9b61c1f883976b09b4ca9816 Mon Sep 17 00:00:00 2001 From: Andrew Miner Date: Thu, 15 Jan 2015 11:14:04 -0800 Subject: [PATCH] Ensure GA is recorded for each page change --- src/pages/includes/_google_analytics.jade | 1 - src/scripts/crafting_guide_router.coffee | 9 +++++++++ src/scripts/main.coffee | 14 +++++++++++--- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/pages/includes/_google_analytics.jade b/src/pages/includes/_google_analytics.jade index 2435d8bfe..9f01ca5f8 100644 --- a/src/pages/includes/_google_analytics.jade +++ b/src/pages/includes/_google_analytics.jade @@ -13,5 +13,4 @@ script. })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-5871323-4', 'crafting-guide.com'); - ga('send', 'pageview'); } diff --git a/src/scripts/crafting_guide_router.coffee b/src/scripts/crafting_guide_router.coffee index ac3ca806c..3840731dd 100644 --- a/src/scripts/crafting_guide_router.coffee +++ b/src/scripts/crafting_guide_router.coffee @@ -19,6 +19,8 @@ module.exports = class CraftingGuideRouter extends Backbone.Router @_pageControllers = {} super options + @on Event.route, => @_recordPageView() + # Backbone.Router Overrides #################################################################### routes: @@ -38,6 +40,13 @@ module.exports = class CraftingGuideRouter extends Backbone.Router # Private Methods ############################################################################## + _recordPageView: -> + if global.env is 'production' + logger.info "Recording GA page view: #{window.location.href}" + ga('send', 'pageview') + else + logger.info "Suppressing GA page view: #{window.location.href}" + _setPage: (controllerName)-> controller = @_pageControllers[controllerName] if not controller? then throw new Error "cannot find controller named: #{controllerName}" diff --git a/src/scripts/main.coffee b/src/scripts/main.coffee index d04e55b28..f0b7a885f 100644 --- a/src/scripts/main.coffee +++ b/src/scripts/main.coffee @@ -15,13 +15,21 @@ CraftingGuideRouter = require './crafting_guide_router' if typeof(global) is 'undefined' window.global = window -global.logger = new Logger level:Logger.WARNING +global.logger = new Logger global.router = new CraftingGuideRouter global.util = require 'util' global.views = views -if window.location.hostname is 'localhost' - logger.level = Logger.TRACE +switch window.location.hostname + when 'localhost' + global.env = 'development' + logger.level = Logger.TRACE + when 'new.crafting-guide.com' + global.env = 'staging' + logger.level = Logger.VERBOSE + when 'crafting-guide.com' + global.env = 'production' + logger.level = Logger.WARNING feedbackController = new FeedbackController el:'.view__feedback' feedbackController.render()