diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 4a4ab33218a..356e38745b4 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -23,6 +23,9 @@ module ApplicationHelper if current_user.present? result[:userId] = current_user.id end + if SiteSetting.ga_universal_auto_link_domains.present? + result[:allowLinker] = true + end result.to_json.html_safe end diff --git a/app/views/common/_google_universal_analytics.html.erb b/app/views/common/_google_universal_analytics.html.erb index 9067c94cb3a..7c03711df43 100644 --- a/app/views/common/_google_universal_analytics.html.erb +++ b/app/views/common/_google_universal_analytics.html.erb @@ -5,4 +5,10 @@ })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', '<%= SiteSetting.ga_universal_tracking_code %>', <%= ga_universal_json %>); + + <% if SiteSetting.ga_universal_auto_link_domains.present? %> + ga('require', 'linker'); + ga('linker:autoLink', <%= raw SiteSetting.ga_universal_auto_link_domains.split('|').to_json %>); + <% end %> + diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 67a2dce7907..fe6f87f7f2e 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -1035,6 +1035,7 @@ en: ga_domain_name: "OBSOLETE: 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" + ga_universal_auto_link_domains: "Enable Google Universal Analytics (analytics.js) cross-domain tracking. Outgoing links to these domains will have the client id added to them. See Google's Cross-Domain Tracking guide." gtm_container_id: "Google Tag Manager container id. eg: GTM-ABCDEF" enable_escaped_fragments: "Fall back to Google's Ajax-Crawling API if no webcrawler is detected. See https://developers.google.com/webmasters/ajax-crawling/docs/learn-more" allow_moderators_to_create_categories: "Allow moderators to create new categories" diff --git a/config/site_settings.yml b/config/site_settings.yml index 9816e822ce1..1ef95a5690d 100644 --- a/config/site_settings.yml +++ b/config/site_settings.yml @@ -103,6 +103,9 @@ basic: ga_universal_domain_name: client: true default: 'auto' + ga_universal_auto_link_domains: + default: '' + type: list ga_tracking_code: client: true default: ''