From b3f1e53ec7a5a249c7ff6d69f59cfc46c1fb189e Mon Sep 17 00:00:00 2001 From: Ben Halpern Date: Fri, 4 Sep 2020 09:37:16 -0400 Subject: [PATCH] [deploy] Add ga tracking to config (#10150) * Add ga tracking to config * Remove empty line * Remove console.log * Fix typo * Update app/assets/javascripts/initializers/initializeBaseTracking.js.erb * Add google tracking id example --- app/controllers/admin/configs_controller.rb | 2 +- app/controllers/ga_events_controller.rb | 2 +- app/lib/constants/site_config.rb | 4 ++-- app/models/site_config.rb | 5 ++--- app/views/admin/configs/show.html.erb | 8 ++++---- app/views/pages/badge.html.erb | 2 +- app/views/shell/_top.html.erb | 3 ++- config/sample_application.yml | 4 ---- spec/requests/admin/configs_spec.rb | 6 +++--- spec/requests/stories_index_spec.rb | 5 +++++ 10 files changed, 21 insertions(+), 20 deletions(-) diff --git a/app/controllers/admin/configs_controller.rb b/app/controllers/admin/configs_controller.rb index 0d8d11a47..909342b50 100644 --- a/app/controllers/admin/configs_controller.rb +++ b/app/controllers/admin/configs_controller.rb @@ -34,7 +34,7 @@ module Admin def config_params allowed_params = %i[ - ga_view_id + ga_tracking_id periodic_email_digest_max periodic_email_digest_min sidebar_tags diff --git a/app/controllers/ga_events_controller.rb b/app/controllers/ga_events_controller.rb index d39b49e7b..8c5cf80ad 100644 --- a/app/controllers/ga_events_controller.rb +++ b/app/controllers/ga_events_controller.rb @@ -9,7 +9,7 @@ class GaEventsController < ApplicationController json = JSON.parse(request.raw_post) user_id = user_signed_in? ? current_user.id : nil client_id = "#{scrambled_ip[0..12]}_#{json['user_agent']}_#{user_id}" - tracker = Staccato.tracker(ApplicationConfig["GA_TRACKING_ID"], client_id) + tracker = Staccato.tracker(SiteConfig.ga_tracking_id, client_id) tracker.pageview( path: json["path"], user_id: user_id, diff --git a/app/lib/constants/site_config.rb b/app/lib/constants/site_config.rb index c4448ebef..02b8af671 100644 --- a/app/lib/constants/site_config.rb +++ b/app/lib/constants/site_config.rb @@ -113,8 +113,8 @@ module Constants description: "The \"Client Secret\" portion of the GitHub Oauth Apps portal", placeholder: "" }, - ga_view_id: { - description: "Google Analytics Reporting API v4 - View ID", + ga_tracking_id: { + description: "Google Analytics Tracking ID, e.g. UA-71991000-1", placeholder: "" }, health_check_token: { diff --git a/app/models/site_config.rb b/app/models/site_config.rb index dafee7215..8419f9fa5 100644 --- a/app/models/site_config.rb +++ b/app/models/site_config.rb @@ -61,9 +61,8 @@ class SiteConfig < RailsSettings::Base field :jobs_url, type: :string field :display_jobs_banner, type: :boolean, default: false - # Google Analytics Reporting API v4 - # - field :ga_view_id, type: :string, default: "" + # Google Analytics Tracking ID, e.g. UA-71991000-1 + field :ga_tracking_id, type: :string, default: ApplicationConfig["GA_TRACKING_ID"] # Images field :main_social_image, type: :string diff --git a/app/views/admin/configs/show.html.erb b/app/views/admin/configs/show.html.erb index ba24a205b..68857a23b 100644 --- a/app/views/admin/configs/show.html.erb +++ b/app/views/admin/configs/show.html.erb @@ -464,11 +464,11 @@ } %>
- <%= admin_config_label :ga_view_id, "View ID" %> - <%= f.text_field :ga_view_id, + <%= admin_config_label :ga_tracking_id, "View ID" %> + <%= f.text_field :ga_tracking_id, class: "form-control", - value: SiteConfig.ga_view_id %> -
<%= Constants::SiteConfig::DETAILS[:ga_view_id][:description] %>
+ value: SiteConfig.ga_tracking_id %> +
<%= Constants::SiteConfig::DETAILS[:ga_tracking_id][:description] %>
diff --git a/app/views/pages/badge.html.erb b/app/views/pages/badge.html.erb index 1d18d7ec8..8aa3197d4 100644 --- a/app/views/pages/badge.html.erb +++ b/app/views/pages/badge.html.erb @@ -115,7 +115,7 @@ m.parentNode.insertBefore(a, m) })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); - ga('create', '<%= ApplicationConfig["GA_TRACKING_ID"] %>', 'auto'); + ga('create', '<%= SiteConfig.ga_tracking_id %>', 'auto'); ga('set', 'anonymizeIp', true); ga('send', 'pageview'); ga('send', 'event', 'view', '/badge version impression', '<%= @html_variant.name %>', null); diff --git a/app/views/shell/_top.html.erb b/app/views/shell/_top.html.erb index 502ba964c..4397c30d6 100644 --- a/app/views/shell/_top.html.erb +++ b/app/views/shell/_top.html.erb @@ -54,7 +54,8 @@ data-user-status="<%= user_logged_in_status %>" class="<%= SiteConfig.default_font.tr("_", "-") %>-article-body" data-pusher-key="<%= ApplicationConfig["PUSHER_KEY"] %>" - data-app-name="<%= ApplicationConfig["APP_NAME"] %>"> + data-app-name="<%= ApplicationConfig["APP_NAME"] %>" + data-ga-tracking="<%= SiteConfig.ga_tracking_id %>">