diff --git a/lib/rack/tracker/google_analytics/google_analytics.rb b/lib/rack/tracker/google_analytics/google_analytics.rb index a18d1e0..259ba88 100644 --- a/lib/rack/tracker/google_analytics/google_analytics.rb +++ b/lib/rack/tracker/google_analytics/google_analytics.rb @@ -1,6 +1,6 @@ class Rack::Tracker::GoogleAnalytics < Rack::Tracker::Handler - self.allowed_tracker_options = [:cookie_domain, :user_id] + self.allowed_tracker_options = [:cookie_domain, :user_id, :name] class Send < OpenStruct def initialize(attrs = {}) diff --git a/lib/rack/tracker/google_analytics/template/google_analytics.erb b/lib/rack/tracker/google_analytics/template/google_analytics.erb index 000ff7c..ed47e73 100644 --- a/lib/rack/tracker/google_analytics/template/google_analytics.erb +++ b/lib/rack/tracker/google_analytics/template/google_analytics.erb @@ -5,9 +5,13 @@ (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', '<%= tracker %>', <%= tracker_options.to_json %>); } + + ga(function() { + if (!ga.getByName('<%= tracker_options[:name] || 't0' %>')) { + ga('create', '<%= tracker %>', <%= tracker_options.to_json %>); + } + }); <% if options[:enhanced_link_attribution] %> ga('require', 'linkid', 'linkid.js'); <% end %>