diff --git a/app/assets/javascripts/discourse/initializers/page_tracking.js b/app/assets/javascripts/discourse/initializers/page_tracking.js
index 6ed83dd8b..aa361ccad 100644
--- a/app/assets/javascripts/discourse/initializers/page_tracking.js
+++ b/app/assets/javascripts/discourse/initializers/page_tracking.js
@@ -12,4 +12,11 @@ Discourse.addInitializer(function() {
       window._gaq.push(['_trackPageview']);
     });
   }
+
+  // Also use Universal Analytics if it is present
+  if (typeof window.ga !== 'undefined') { 
+    pageTracker.on('change', function() {
+      window.ga('send', 'pageview');
+    });
+  }
 });
diff --git a/app/helpers/common_helper.rb b/app/helpers/common_helper.rb
index 9946e9c55..0ac0cc8b8 100644
--- a/app/helpers/common_helper.rb
+++ b/app/helpers/common_helper.rb
@@ -1,4 +1,10 @@
 module CommonHelper
+  def render_google_universal_analytics_code
+    if Rails.env == "production" && SiteSetting.ga_universal_tracking_code.present?
+      render partial: "common/google_universal_analytics"
+    end
+  end
+
   def render_google_analytics_code
     if Rails.env == "production" && SiteSetting.ga_tracking_code.present?
       render partial: "common/google_analytics"
diff --git a/app/views/common/_google_universal_analytics.html.erb b/app/views/common/_google_universal_analytics.html.erb
new file mode 100644
index 000000000..c34c8d677
--- /dev/null
+++ b/app/views/common/_google_universal_analytics.html.erb
@@ -0,0 +1,10 @@
+<script>
+  (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','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', '<%= SiteSetting.ga_universal_tracking_code %>', '<% SiteSetting.ga_universal_domain_name.gsub(/^http(s)?:\/\//, '') %>'');
+  ga('send', 'pageview');
+
+</script>
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 913165ead..ba52b4e21 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -27,6 +27,8 @@
 
     <%= raw SiteContent.content_for(:head) %>
 
+    <%= render_google_universal_analytics_code %>
+
     <%= yield :head %>
   </head>
 
diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml
index 8220ee5f5..a75462a41 100644
--- a/config/locales/server.en.yml
+++ b/config/locales/server.en.yml
@@ -604,8 +604,10 @@ en:
     traditional_markdown_linebreaks: "Use traditional linebreaks in Markdown, which require two trailing spaces for a linebreak"
     post_undo_action_window_mins: "Number of seconds users are allowed to reverse actions on a post (like, flag, etc)"
     must_approve_users: "Admins must approve all users before they gain access"
-    ga_tracking_code: "Google analytics tracking code code, eg: UA-12345678-9; see http://google.com/analytics"
-    ga_domain_name: "Google analytics domain name, eg: mysite.com; see http://google.com/analytics"
+    ga_tracking_code: "Google analytics (ga.js) tracking code code, eg: UA-12345678-9; see http://google.com/analytics"
+    ga_domain_name: "Google analytics (ga.js) domain name, eg: mysite.com; see http://google.com/analytics"
+    ga_universal_tracking_code: "Google Universal Analytics (analytics.js) tracking code code, eg: UA-12345678-9; see http://google.com/analytics"
+    ga_universal_domain_name: "Google Universal Analytics (analytics.js) domain name, eg: mysite.com; see http://google.com/analytics"
     enable_escaped_fragments: "Enable workaround solution to help older search engine webcrawlers index your site. WARNING: enable only if you have to."
     enable_noscript_support: "Enable standard webcrawler search engine support via the noscript tag"
     top_menu: "Determine which items appear in the homepage navigation, and in what order. Example latest|new|unread|starred|categories|top|read|posted"
diff --git a/config/site_settings.yml b/config/site_settings.yml
index 6e8fcffe9..5b43ab241 100644
--- a/config/site_settings.yml
+++ b/config/site_settings.yml
@@ -30,6 +30,12 @@ basic:
   ga_domain_name:
     client: true
     default: ''
+  ga_universal_tracking_code:
+    client: true
+    default: ''
+  ga_universal_domain_name:
+    client: true
+    default: 'auto'
   category_featured_topics:
     client: true
     default: 3