@@ -8,6 +8,7 @@ import timezone from "dayjs/plugin/timezone";
88import QueryProviders from "./panel/QueryClientProvider" ;
99import LoadingFallback from "./panel/LoadingFallback" ;
1010import Toast from "@/components/Toast" ;
11+ import Script from "next/script" ;
1112
1213// dayjs locale 설정, time zone 설정
1314dayjs . locale ( "ko" ) ;
@@ -55,6 +56,21 @@ export default function RootLayout({
5556} > ) {
5657 return (
5758 < html lang = { "ko" } >
59+ < head >
60+ { /* Google Tag Manager */ }
61+ < Script
62+ id = { "google-tag-manager" }
63+ strategy = { "afterInteractive" }
64+ dangerouslySetInnerHTML = { {
65+ __html : `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
66+ new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
67+ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
68+ 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
69+ })(window,document,'script','dataLayer','GTM-TSB9PTJB');` ,
70+ } }
71+ />
72+ { /* End Google Tag Manager */ }
73+ </ head >
5874 < body
5975 style = { {
6076 margin : 0 ,
@@ -63,6 +79,16 @@ export default function RootLayout({
6379 height : "100dvh" ,
6480 } }
6581 >
82+ { /* Google Tag Manager (noscript) */ }
83+ < noscript >
84+ < iframe
85+ src = { "https://www.googletagmanager.com/ns.html?id=GTM-TSB9PTJB" }
86+ height = { "0" }
87+ width = { "0" }
88+ style = { { display : "none" , visibility : "hidden" } }
89+ > </ iframe >
90+ </ noscript >
91+ { /* End Google Tag Manager (noscript) */ }
6692 < Suspense fallback = { < LoadingFallback /> } >
6793 < QueryProviders >
6894 < SenifitThemeProvider >
0 commit comments