From 80a75fd8caf9ff522f7ac3e92d017f2f6365c2fb Mon Sep 17 00:00:00 2001 From: Andy Sellick Date: Mon, 25 Mar 2024 11:08:51 +0000 Subject: [PATCH] Add discovery_engine_attribution_token to GA4 pageview --- CHANGELOG.md | 2 ++ .../analytics-ga4/ga4-page-views.js | 3 ++- .../analytics-ga4/ga4-page-views.spec.js | 10 +++++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06d099cd95..beeefe2ece 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ of the commit log. ## Unreleased + +* Add discovery_engine_attribution_token to GA4 pageview ([PR #3951](https://github.com/alphagov/govuk_publishing_components/pull/3951)) * Remove support for specialist topics from contextual navigation ie breadcrumbs ([#3927](https://github.com/alphagov/govuk_publishing_components/pull/3927)) * Improve test coverage of contextual breadcrumb logic ([PR #3944](https://github.com/alphagov/govuk_publishing_components/pull/3944) and [PR #3945](https://github.com/alphagov/govuk_publishing_components/pull/3945)) * Remove GA4 callout tracking from the govspeak component ([PR #3946](https://github.com/alphagov/govuk_publishing_components/pull/3946)) diff --git a/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js b/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js index 2184e2d35f..e547f9b6b9 100644 --- a/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js +++ b/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js @@ -62,7 +62,8 @@ window.GOVUK.analyticsGa4.analyticsModules = window.GOVUK.analyticsGa4.analytics intervention: this.getBannerPresence('[data-ga4-intervention-banner]'), query_string: this.getQueryString(), search_term: this.getSearchTerm(), - spelling_suggestion: this.getMetaContent('spelling-suggestion') + spelling_suggestion: this.getMetaContent('spelling-suggestion'), + discovery_engine_attribution_token: this.getMetaContent('discovery-engine-attribution-token') } } window.GOVUK.analyticsGa4.core.sendData(data) diff --git a/spec/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.spec.js b/spec/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.spec.js index 29fb10cb70..5007325355 100644 --- a/spec/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.spec.js +++ b/spec/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.spec.js @@ -60,7 +60,8 @@ describe('Google Tag Manager page view tracking', function () { intervention: undefined, query_string: undefined, search_term: undefined, - spelling_suggestion: undefined + spelling_suggestion: undefined, + discovery_engine_attribution_token: undefined } } spyOn(GOVUK.analyticsGa4.core, 'getTimestamp').and.returnValue('123456') @@ -644,4 +645,11 @@ describe('Google Tag Manager page view tracking', function () { GOVUK.analyticsGa4.analyticsModules.PageViewTracker.init() expect(window.dataLayer[0]).toEqual(expected) }) + + it('correctly sets the discovery_engine_attribution_token parameter', function () { + createMetaTags('discovery-engine-attribution-token', 'searchyMcSearch') + expected.page_view.discovery_engine_attribution_token = 'searchyMcSearch' + GOVUK.analyticsGa4.analyticsModules.PageViewTracker.init() + expect(window.dataLayer[0]).toEqual(expected) + }) })