From 0885dde2c18dc6a29e3190f2f82fa52312218e94 Mon Sep 17 00:00:00 2001 From: Tom Byers Date: Wed, 22 Jan 2020 11:45:10 +0000 Subject: [PATCH 1/2] Update Google Analytics tracker config Removes the following fields from the tracker config: - `name`, which was erroring due to it including a `.` - `displayFeaturesTask` which seems to be deprecated Also refactors the `create` command to put all fields into the options parameter, as shown in the developer docs: https://developers.google.com/analytics/devguides/collection/analyticsjs/creating-trackers --- app/assets/javascripts/analytics/analytics.js | 8 ++++++-- app/assets/javascripts/analytics/init.js | 3 +-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/analytics/analytics.js b/app/assets/javascripts/analytics/analytics.js index b2d4dea09..711f6ec80 100644 --- a/app/assets/javascripts/analytics/analytics.js +++ b/app/assets/javascripts/analytics/analytics.js @@ -6,10 +6,14 @@ // Stripped-down wrapper for Google Analytics, based on: // https://github.com/alphagov/static/blob/master/doc/analytics.md const Analytics = function (config) { - window.ga('create', config.trackingId, config.cookieDomain, config.name, { 'cookieExpires': config.expires * 24 * 60 * 60 }); + window.ga('create', { + 'trackingId': config.trackingId, + 'cookieDomain': config.cookieDomain, + 'cookieExpires': config.expires * 24 * 60 * 60 + }); window.ga('set', 'anonymizeIp', config.anonymizeIp); - window.ga('set', 'displayFeaturesTask', config.displayFeaturesTask); + window.ga('set', 'allowAdFeatures', config.allowAdFeatures); window.ga('set', 'transport', config.transport); }; diff --git a/app/assets/javascripts/analytics/init.js b/app/assets/javascripts/analytics/init.js index 0a8e012e6..63f8b495a 100644 --- a/app/assets/javascripts/analytics/init.js +++ b/app/assets/javascripts/analytics/init.js @@ -24,9 +24,8 @@ trackingId: trackingId, cookieDomain: 'auto', anonymizeIp: true, - displayFeaturesTask: null, + allowAdFeatures: false, transport: 'beacon', - name: 'GOVUK.analytics', expires: 365 }); From cfdc83a336c3b4fd9148a820212e2b1d5a358ade Mon Sep 17 00:00:00 2001 From: Tom Byers Date: Wed, 22 Jan 2020 12:26:55 +0000 Subject: [PATCH 2/2] Update tests --- tests/javascripts/analytics/analytics.test.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/javascripts/analytics/analytics.test.js b/tests/javascripts/analytics/analytics.test.js index 28d88d622..ea4b91fe2 100644 --- a/tests/javascripts/analytics/analytics.test.js +++ b/tests/javascripts/analytics/analytics.test.js @@ -29,9 +29,8 @@ describe("Analytics", () => { trackingId: 'UA-75215134-1', cookieDomain: 'auto', anonymizeIp: true, - displayFeaturesTask: null, + allowAdFeatures: false, transport: 'beacon', - name: 'GOVUK.analytics', expires: 365 }); @@ -49,9 +48,9 @@ describe("Analytics", () => { setUpArguments = window.ga.mock.calls; - expect(setUpArguments[0]).toEqual(['create', 'UA-75215134-1', 'auto', 'GOVUK.analytics', { 'cookieExpires': 31536000 }]); + expect(setUpArguments[0]).toEqual(['create', { 'trackingId': 'UA-75215134-1', 'cookieDomain': 'auto', 'cookieExpires': 31536000 }]); expect(setUpArguments[1]).toEqual(['set', 'anonymizeIp', true]); - expect(setUpArguments[2]).toEqual(['set', 'displayFeaturesTask', null]); + expect(setUpArguments[2]).toEqual(['set', 'allowAdFeatures', false]); expect(setUpArguments[3]).toEqual(['set', 'transport', 'beacon']); });