From d5746ed277b67eb4e1f99e6a1764fd6ad42334f5 Mon Sep 17 00:00:00 2001 From: Hariom Balhara Date: Tue, 30 May 2023 09:00:02 +0530 Subject: [PATCH] Make trackingId begin with GTM- always (#8937) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Co-authored-by: Omar López --- packages/app-store/gtm/config.json | 2 +- packages/app-store/gtm/zod.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/app-store/gtm/config.json b/packages/app-store/gtm/config.json index c691e6f7ef..b2faf7243d 100644 --- a/packages/app-store/gtm/config.json +++ b/packages/app-store/gtm/config.json @@ -14,7 +14,7 @@ "tag": { "scripts": [ { - "content": "(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://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-{TRACKING_ID}');" + "content": "(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://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','{TRACKING_ID}');" } ] } diff --git a/packages/app-store/gtm/zod.ts b/packages/app-store/gtm/zod.ts index 6f45d901cc..297950930c 100644 --- a/packages/app-store/gtm/zod.ts +++ b/packages/app-store/gtm/zod.ts @@ -4,7 +4,12 @@ import { eventTypeAppCardZod } from "@calcom/app-store/eventTypeAppCardZod"; export const appDataSchema = eventTypeAppCardZod.merge( z.object({ - trackingId: z.string(), + trackingId: z.string().transform((val) => { + let trackingId = val.trim(); + // Ensure that trackingId is transformed if needed to begin with "GTM-" always + trackingId = !trackingId.startsWith("GTM-") ? `GTM-${trackingId}` : trackingId; + return trackingId; + }), }) );