Merged in hotfix/gtm (pull request #2070)

Hotfix/gtm

* hotfix: gtm

* wip


Approved-by: Joakim Jäderberg
This commit is contained in:
Linus Flood
2025-05-14 05:53:48 +00:00
parent f23e6a1213
commit d5b77ae61f
7 changed files with 16 additions and 5 deletions

View File

@@ -55,6 +55,7 @@ export default async function RootLayout({
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
<Script id="ensure-adobeDataLayer">{`
window.adobeDataLayer = window.adobeDataLayer || []
window.dataLayer = window.dataLayer || []
`}</Script>
</head>
<body className="scandic">

View File

@@ -46,6 +46,7 @@ export default async function RootLayout({
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
<Script id="ensure-adobeDataLayer">{`
window.adobeDataLayer = window.adobeDataLayer || []
window.dataLayer = window.dataLayer || []
`}</Script>
</head>
<body className="scandic">

View File

@@ -41,6 +41,7 @@ export default async function RootLayout({
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}
<Script id="ensure-adobeDataLayer">{`
window.adobeDataLayer = window.adobeDataLayer || []
window.dataLayer = window.dataLayer || []
`}</Script>
</head>
<body className={`scandic ${styles.layout}`}>

View File

@@ -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])

View File

@@ -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

View File

@@ -1,5 +1,8 @@
interface Window {
datalayer: { [key: string]: any }
dataLayer: {
[key: string]: any
push: (...args: unknown) => void
}
adobeDataLayer: {
push: (...args: unknown) => void
}

View File

@@ -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)
}
}