Parcourir la source

feat: support setting up GTM

Fred Liang il y a 1 an
Parent
commit
31d9d2efcd
2 fichiers modifiés avec 8 ajouts et 1 suppressions
  1. 2 0
      app/config/server.ts
  2. 6 1
      app/layout.tsx

+ 2 - 0
app/config/server.ts

@@ -89,6 +89,8 @@ export const getServerSideConfig = () => {
     googleApiKey: process.env.GOOGLE_API_KEY,
     googleUrl: process.env.GOOGLE_URL,
 
+    gtmId: process.env.GTM_ID,
+
     needCode: ACCESS_CODES.size > 0,
     code: process.env.CODE,
     codes: ACCESS_CODES,

+ 6 - 1
app/layout.tsx

@@ -6,7 +6,7 @@ import { getClientConfig } from "./config/client";
 import { type Metadata } from "next";
 import { SpeedInsights } from "@vercel/speed-insights/next";
 import { getServerSideConfig } from "./config/server";
-
+import { GoogleTagManager } from "@next/third-parties/google";
 const serverConfig = getServerSideConfig();
 
 export const metadata: Metadata = {
@@ -46,6 +46,11 @@ export default function RootLayout({
             <SpeedInsights />
           </>
         )}
+        {serverConfig?.gtmId && (
+          <>
+            <GoogleTagManager gtmId={serverConfig.gtmId} />
+          </>
+        )}
       </body>
     </html>
   );