diff --git a/ember-google-analytics.js b/ember-google-analytics.js index 14ad855..dd943e0 100644 --- a/ember-google-analytics.js +++ b/ember-google-analytics.js @@ -3,6 +3,11 @@ Ember.GoogleAnalyticsTrackingMixin = Ember.Mixin.create({ return window.ga && typeof window.ga === "function"; }, + getTrackerPrefix: function () { + var tracker = (ga.getAll && typeof ga.getAll === "function" && ga.getAll() || []).pop(); + return tracker ? tracker.get('name') + '.' : ''; + }, + trackPageView: function(page) { if (this.pageHasGa()) { if (!page) { @@ -10,13 +15,13 @@ Ember.GoogleAnalyticsTrackingMixin = Ember.Mixin.create({ page = loc.hash ? loc.hash.substring(1) : loc.pathname + loc.search; } - ga('send', 'pageview', page); + ga(this.getTrackerPrefix() + 'send', 'pageview', page); } }, trackEvent: function(category, action, label, value) { if (this.pageHasGa()) { - ga('send', 'event', category, action, label, value); + ga(this.getTrackerPrefix() + 'send', 'event', category, action, label, value); } } }); diff --git a/lib/tracking_mixin.js b/lib/tracking_mixin.js index 4de9e80..1caf4f9 100644 --- a/lib/tracking_mixin.js +++ b/lib/tracking_mixin.js @@ -3,6 +3,11 @@ Ember.GoogleAnalyticsTrackingMixin = Ember.Mixin.create({ return window.ga && typeof window.ga === "function"; }, + getTrackerPrefix: function () { + var tracker = (ga.getAll && typeof ga.getAll === "function" && ga.getAll() || []).pop(); + return tracker ? tracker.get('name') + '.' : ''; + }, + trackPageView: function(page) { if (this.pageHasGa()) { if (!page) { @@ -10,13 +15,13 @@ Ember.GoogleAnalyticsTrackingMixin = Ember.Mixin.create({ page = loc.hash ? loc.hash.substring(1) : loc.pathname + loc.search; } - ga('send', 'pageview', page); + ga(this.getTrackerPrefix() + 'send', 'pageview', page); } }, trackEvent: function(category, action, label, value) { if (this.pageHasGa()) { - ga('send', 'event', category, action, label, value); + ga(this.getTrackerPrefix() + 'send', 'event', category, action, label, value); } } });