From 6b9cb80f33ddcc7432e421cc2f73261d0e97cf6a Mon Sep 17 00:00:00 2001 From: hobbes7878 Date: Thu, 18 Sep 2025 09:04:38 +0100 Subject: [PATCH] cleanup --- src/components/Analytics/providers/ga.ts | 32 ++++++++++++++++++------ 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/src/components/Analytics/providers/ga.ts b/src/components/Analytics/providers/ga.ts index b32ace4e..159f1d55 100644 --- a/src/components/Analytics/providers/ga.ts +++ b/src/components/Analytics/providers/ga.ts @@ -1,13 +1,31 @@ +// Reuters Google Tag ID +const GOOGLE_TAG_ID = 'G-WBSR7WLTGD'; + export default () => { - registerPageview(); + try { + window.dataLayer = window.dataLayer || []; + if (!window.gtag) { + /** @type {Gtag.Gtag} */ + window.gtag = function () { + // eslint-disable-next-line prefer-rest-params + window.dataLayer.push(arguments); + }; + window.gtag('js', new Date()); + // config event registers a pageview by default + window.gtag('config', GOOGLE_TAG_ID, { + send_page_view: false, + }); + registerPageview(); + } + } catch (e) { + console.warn(`Error initialising Google Analytics: ${e}`); + } }; export const registerPageview = () => { - if (typeof window === 'undefined' || !window.dataLayer) return; - - window.dataLayer.push({ - event: 'page_view', - page_location: window.location.href, - page_title: document.title, + if (typeof window === 'undefined' || !window.gtag) return; + window.gtag('event', 'page_view', { + page_location: window.location.origin + window.location.pathname, + page_title: document?.title, }); };