From 6b23be6389f4acd2b123045c5f9671e23b9db656 Mon Sep 17 00:00:00 2001 From: Suzanne Hamilton Date: Tue, 31 Jan 2017 15:29:26 +0000 Subject: [PATCH] Add analytics dimension for A/B tests Link meta tags named `govuk:ab-test` to a custom Google Analytics dimension. The value of the meta tag and the dimension is a combination of the test name and bucket name, such as `EducationNavigation:B`. This links to existing Session dimension 13, which has been used for A/B tests in the past. Note that only one A/B test can use this dimension at once, otherwise the value will be overridden by different tests. --- app/assets/javascripts/analytics/static-analytics.js | 5 +++++ spec/javascripts/analytics/static-analytics-spec.js | 2 ++ 2 files changed, 7 insertions(+) diff --git a/app/assets/javascripts/analytics/static-analytics.js b/app/assets/javascripts/analytics/static-analytics.js index 3ce337b8d..f596ea832 100644 --- a/app/assets/javascripts/analytics/static-analytics.js +++ b/app/assets/javascripts/analytics/static-analytics.js @@ -94,6 +94,7 @@ this.setOrganisationsDimension(dimensions['analytics:organisations']); this.setWorldLocationsDimension(dimensions['analytics:world-locations']); this.setRenderingApplicationDimension(dimensions['rendering-application']); + this.setAbTestDimension(dimensions['ab-test']); }; StaticAnalytics.prototype.trackPageview = function(path, title, options) { @@ -156,5 +157,9 @@ this.setDimension(21, position); }; + StaticAnalytics.prototype.setAbTestDimension = function(testNameAndBucket) { + this.setDimension(40, testNameAndBucket); + }; + GOVUK.StaticAnalytics = StaticAnalytics; })(); diff --git a/spec/javascripts/analytics/static-analytics-spec.js b/spec/javascripts/analytics/static-analytics-spec.js index b23f87590..9510afc9e 100644 --- a/spec/javascripts/analytics/static-analytics-spec.js +++ b/spec/javascripts/analytics/static-analytics-spec.js @@ -62,6 +62,7 @@ describe("GOVUK.StaticAnalytics", function() { \ \ \ + \ '); analytics = new GOVUK.StaticAnalytics({universalId: 'universal-id'}); @@ -74,6 +75,7 @@ describe("GOVUK.StaticAnalytics", function() { expect(universalSetupArguments[8]).toEqual(['set', 'dimension7', 'historic']); expect(universalSetupArguments[9]).toEqual(['set', 'dimension9', '']); expect(universalSetupArguments[10]).toEqual(['set', 'dimension10', '']); + expect(universalSetupArguments[11]).toEqual(['set', 'dimension40', 'name-of-test:name-of-ab-bucket']); }); it('ignores meta tags not set', function() {