diff --git a/app/[lang]/(live)/layout.tsx b/app/[lang]/(live)/layout.tsx index 3704178c4..fde914bbe 100644 --- a/app/[lang]/(live)/layout.tsx +++ b/app/[lang]/(live)/layout.tsx @@ -7,10 +7,13 @@ import { env } from "@/env/server" import TrpcProvider from "@/lib/trpc/Provider" import TokenRefresher from "@/components/Auth/TokenRefresher" +import CookieBotConsent from "@/components/CookieBot" import AdobeSDKScript from "@/components/Current/AdobeSDKScript" +import GTMScript from "@/components/Current/GTMScript" import VwoScript from "@/components/Current/VwoScript" import { ToastHandler } from "@/components/TempDesignSystem/Toasts" import { preloadUserTracking } from "@/components/TrackingSDK" +import RouterTracking from "@/components/TrackingSDK/RouterTracking" import { getIntl } from "@/i18n" import ServerIntlProvider from "@/i18n/Provider" import { setLang } from "@/i18n/serverContext" @@ -38,6 +41,7 @@ export default async function RootLayout({ + diff --git a/components/TrackingSDK/Client.tsx b/components/CookieBot/index.tsx similarity index 58% rename from components/TrackingSDK/Client.tsx rename to components/CookieBot/index.tsx index 9239c9e70..32b9dd0c0 100644 --- a/components/TrackingSDK/Client.tsx +++ b/components/CookieBot/index.tsx @@ -1,24 +1,13 @@ "use client" import { usePathname } from "next/navigation" -import { useCallback, useEffect, useRef } from "react" +import { useCallback, useEffect } from "react" import { webviews } from "@/constants/routes/webviews" -import useTrackingStore from "@/stores/tracking" -import { createSDKPageObject } from "@/utils/tracking" - -import { TrackingSDKProps } from "@/types/components/tracking" - -export default function TrackingSDK({ - pageData, - userData, - hotelInfo, -}: TrackingSDKProps) { +export default function CookieBot() { const pathName = usePathname() const isWebview = webviews.includes(pathName) - const { hasRun, setHasRun, getPageLoadTime } = useTrackingStore() - const hasRunLocal = useRef(false) const CookiebotCallbackOnAccept = useCallback(() => { const cookie = window._satellite.cookie.get("CookieConsent") @@ -43,38 +32,6 @@ export default function TrackingSDK({ } } - useEffect(() => { - if (!hasRun && !hasRunLocal.current) { - hasRunLocal.current = true - setHasRun() - - if (window.adobeDataLayer) { - const trackingData = { - ...pageData, - pathName, - pageLoadTime: getPageLoadTime(), - } - - const pageObject = createSDKPageObject(trackingData) - console.log("TRACKING: Tracking pageView", pageObject, userData) - window.adobeDataLayer.push({ - event: "pageView", - pageInfo: pageObject, - userInfo: userData, - hotelInfo: hotelInfo, - }) - } - } - }, [ - pathName, - pageData, - userData, - hasRun, - setHasRun, - hotelInfo, - getPageLoadTime, - ]) - useEffect(() => { // handle consent window.addEventListener("CookiebotOnAccept", CookiebotCallbackOnAccept) diff --git a/components/Current/GTMScript.tsx b/components/Current/GTMScript.tsx new file mode 100644 index 000000000..3abcc7dfc --- /dev/null +++ b/components/Current/GTMScript.tsx @@ -0,0 +1,21 @@ +export default function GTMScript() { + return ( +