From a67cd65f474c7aea65024d9762475d5305fb6452 Mon Sep 17 00:00:00 2001 From: Tom Byers Date: Tue, 14 Jan 2020 14:14:53 +0000 Subject: [PATCH] Make Google Analytics cookies expire in 1 year --- app/assets/javascripts/analytics/analytics.js | 2 +- app/assets/javascripts/analytics/init.js | 4 +++- tests/javascripts/analytics/analytics.test.js | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/analytics/analytics.js b/app/assets/javascripts/analytics/analytics.js index 1b6f526d4..b2d4dea09 100644 --- a/app/assets/javascripts/analytics/analytics.js +++ b/app/assets/javascripts/analytics/analytics.js @@ -6,7 +6,7 @@ // 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); + window.ga('create', config.trackingId, config.cookieDomain, config.name, { 'cookieExpires': config.expires * 24 * 60 * 60 }); window.ga('set', 'anonymizeIp', config.anonymizeIp); window.ga('set', 'displayFeaturesTask', config.displayFeaturesTask); diff --git a/app/assets/javascripts/analytics/init.js b/app/assets/javascripts/analytics/init.js index ea0d43454..50a5d3eb4 100644 --- a/app/assets/javascripts/analytics/init.js +++ b/app/assets/javascripts/analytics/init.js @@ -25,7 +25,9 @@ cookieDomain: 'auto', anonymizeIp: true, displayFeaturesTask: null, - transport: 'beacon' + transport: 'beacon', + name: 'GOVUK.analytics', + expires: 365 }); // Track initial pageview diff --git a/tests/javascripts/analytics/analytics.test.js b/tests/javascripts/analytics/analytics.test.js index 224569ba2..28d88d622 100644 --- a/tests/javascripts/analytics/analytics.test.js +++ b/tests/javascripts/analytics/analytics.test.js @@ -30,7 +30,9 @@ describe("Analytics", () => { cookieDomain: 'auto', anonymizeIp: true, displayFeaturesTask: null, - transport: 'beacon' + transport: 'beacon', + name: 'GOVUK.analytics', + expires: 365 }); }); @@ -47,7 +49,7 @@ describe("Analytics", () => { setUpArguments = window.ga.mock.calls; - expect(setUpArguments[0]).toEqual(['create', 'UA-75215134-1', 'auto']); + expect(setUpArguments[0]).toEqual(['create', 'UA-75215134-1', 'auto', 'GOVUK.analytics', { 'cookieExpires': 31536000 }]); expect(setUpArguments[1]).toEqual(['set', 'anonymizeIp', true]); expect(setUpArguments[2]).toEqual(['set', 'displayFeaturesTask', null]); expect(setUpArguments[3]).toEqual(['set', 'transport', 'beacon']);