diff --git a/apps/scandic-web/app/[lang]/(live)/layout.tsx b/apps/scandic-web/app/[lang]/(live)/layout.tsx index ebd7c7e0d..203ff31c1 100644 --- a/apps/scandic-web/app/[lang]/(live)/layout.tsx +++ b/apps/scandic-web/app/[lang]/(live)/layout.tsx @@ -55,6 +55,7 @@ export default async function RootLayout({ {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} diff --git a/apps/scandic-web/app/[lang]/(no-layout)/layout.tsx b/apps/scandic-web/app/[lang]/(no-layout)/layout.tsx index 23f601e8c..be297429b 100644 --- a/apps/scandic-web/app/[lang]/(no-layout)/layout.tsx +++ b/apps/scandic-web/app/[lang]/(no-layout)/layout.tsx @@ -46,6 +46,7 @@ export default async function RootLayout({ {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} diff --git a/apps/scandic-web/app/[lang]/webview/layout.tsx b/apps/scandic-web/app/[lang]/webview/layout.tsx index ca5c7f458..25f10b216 100644 --- a/apps/scandic-web/app/[lang]/webview/layout.tsx +++ b/apps/scandic-web/app/[lang]/webview/layout.tsx @@ -41,6 +41,7 @@ export default async function RootLayout({ {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} diff --git a/apps/scandic-web/components/Current/Tracking.tsx b/apps/scandic-web/components/Current/Tracking.tsx index 7470fd987..c6099c68c 100644 --- a/apps/scandic-web/components/Current/Tracking.tsx +++ b/apps/scandic-web/components/Current/Tracking.tsx @@ -94,11 +94,11 @@ export default function Tracking({ pageData }: TrackingProps) { } useEffect(() => { - if (window.datalayer) { + if (window.dataLayer) { const trackingData = { ...pageData, pathName, queryString } const pageObject = createPageObject(trackingData) - window.datalayer.page = pageObject + window.dataLayer.page = pageObject } }, [pathName, queryString, pageData]) diff --git a/apps/scandic-web/components/TrackingSDK/GTMScript.tsx b/apps/scandic-web/components/TrackingSDK/GTMScript.tsx index ab04ae4ac..0129a0eda 100644 --- a/apps/scandic-web/components/TrackingSDK/GTMScript.tsx +++ b/apps/scandic-web/components/TrackingSDK/GTMScript.tsx @@ -9,7 +9,7 @@ export default function GTMScript() { data-cookieconsent="statistics" dangerouslySetInnerHTML={{ __html: ` - (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://analytics.scandichotels.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','adobeDataLayer','GTM-KNJCW67W'); + (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://analytics.scandichotels.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KNJCW67W'); `, }} async diff --git a/apps/scandic-web/types/window.d.ts b/apps/scandic-web/types/window.d.ts index dec9c1cd3..b6b03f0aa 100644 --- a/apps/scandic-web/types/window.d.ts +++ b/apps/scandic-web/types/window.d.ts @@ -1,5 +1,8 @@ interface Window { - datalayer: { [key: string]: any } + dataLayer: { + [key: string]: any + push: (...args: unknown) => void + } adobeDataLayer: { push: (...args: unknown) => void } diff --git a/apps/scandic-web/utils/tracking/base.ts b/apps/scandic-web/utils/tracking/base.ts index dc024d050..61ce7b663 100644 --- a/apps/scandic-web/utils/tracking/base.ts +++ b/apps/scandic-web/utils/tracking/base.ts @@ -1,7 +1,11 @@ import { SESSION_ID_KEY_NAME } from "@/hooks/useSessionId" export function trackEvent(data: any) { - if (typeof window !== "undefined" && window.adobeDataLayer) { + if ( + typeof window !== "undefined" && + window.adobeDataLayer && + window.dataLayer + ) { let sessionId = "" try { @@ -13,6 +17,7 @@ export function trackEvent(data: any) { data = { ...data, siteVersion: "new-web", sessionId } window.adobeDataLayer.push(data) + window.dataLayer.push(data) } }