diff --git a/docs/analytics-ga4/analytics.md b/docs/analytics-ga4/analytics.md index 65eb2f5d7e..f5ca802b47 100644 --- a/docs/analytics-ga4/analytics.md +++ b/docs/analytics-ga4/analytics.md @@ -2,7 +2,7 @@ This document describes the use of Google Tag Manager (GTM) with Google Analytics 4 (GA4) on GOV.UK Publishing. Further information can be found in our [Implementation record](https://docs.publishing.service.gov.uk/analytics/). -No analytics code is initialised and no data is gathered without user consent. +No analytics code is initialised and no data is gathered without user consent. For more information, see our [consent](https://github.com/alphagov/govuk_publishing_components/blob/main/docs/analytics-ga4/consent.md) documentation. If you are a developer working on a part of GOV.UK that includes analytics, read our [developer guide](https://github.com/alphagov/govuk_publishing_components/blob/main/docs/analytics-ga4/developer-guide.md). @@ -22,14 +22,6 @@ Search data is gathered when users perform a search. For more information about different kinds of tracking, read our [overview of trackers](https://github.com/alphagov/govuk_publishing_components/blob/main/docs/analytics-ga4/ga4-all-trackers.md). -## Cookie consent - -The analytics code is only loaded if users consent to cookies. This is managed by the `init-ga4.js` script. - -If the page loads and cookie consent has already been given, the analytics code is initialised. This includes sending a page view and creating any event listeners for analytics code such as link tracking. - -If the page loads and cookie consent has not been given, an event listener is created for the `cookie-consent` event, which is dispatched by the [cookie banner component](https://github.com/alphagov/govuk_publishing_components/pull/2041/commits/777a381d2ccb67f0a7e78ebf659be806d8d6442d). If triggered, the event listener will initialise the analytics code as described above. This allows analytics to begin on the page where the user consents to cookies. - ## Code structure It is important that no analytics code runs until cookie consent is given. Code to be initialised as part of cookie consent should be attached to the `window.GOVUK.analyticsGa4.analyticsModules` object and include an `init` function, using the structure shown below. diff --git a/docs/analytics-ga4/consent.md b/docs/analytics-ga4/consent.md new file mode 100644 index 0000000000..f16770c06e --- /dev/null +++ b/docs/analytics-ga4/consent.md @@ -0,0 +1,7 @@ +# GA4 and cookie consent + +The analytics code is only loaded if users consent to cookies. This is managed by the `init-ga4.js` script. + +If the page loads and cookie consent has already been given, the analytics code is initialised. This includes sending a page view and creating any event listeners for analytics code such as link tracking. + +If the page loads and cookie consent has not been given, an event listener is created for the `cookie-consent` event, which is dispatched by the [cookie banner component](https://github.com/alphagov/govuk_publishing_components/pull/2041/commits/777a381d2ccb67f0a7e78ebf659be806d8d6442d). If triggered, the event listener will initialise the analytics code as described above. This allows analytics to begin on the page where the user consents to cookies.