use GTM dataLayer to register pageviews

This commit is contained in:
hobbes7878 2025-09-17 17:52:20 +01:00
parent 1402aacede
commit d600af5e91
Failed to extract signature

View file

@ -1,31 +1,13 @@
// Reuters Google Tag ID
const GOOGLE_TAG_ID = 'G-WBSR7WLTGD';
export default () => {
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}`);
}
registerPageview();
};
export const registerPageview = () => {
if (typeof window === 'undefined' || !window.gtag) return;
window.gtag('event', 'page_view', {
page_location: window.location.origin + window.location.pathname,
page_title: document?.title,
if (typeof window === 'undefined' || !window.dataLayer) return;
window.dataLayer.push({
event: 'page_view',
page_location: window.location.href,
page_title: document.title,
});
};