diff --git a/apps/web/modules/bookings/views/bookings-single-view.tsx b/apps/web/modules/bookings/views/bookings-single-view.tsx index 59a9c60406..2061efe6f7 100644 --- a/apps/web/modules/bookings/views/bookings-single-view.tsx +++ b/apps/web/modules/bookings/views/bookings-single-view.tsx @@ -150,6 +150,10 @@ export default function Success(props: PageProps) { const { data: session } = useSession(); const isHost = props.isLoggedInUserHost; + const [showUtmParams, setShowUtmParams] = useState(false); + + const utmParams = bookingInfo.tracking; + const [date, setDate] = useState(dayjs.utc(bookingInfo.startTime)); const calendarLinks = getCalendarLinks({ booking: bookingWithParsedMetadata, @@ -681,6 +685,46 @@ export default function Success(props: PageProps) { )} + {!!utmParams && isHost && ( + <> +
{t("utm_params")}
+
+ + + {showUtmParams && ( +
+ {Object.entries(utmParams).filter(([_, value]) => Boolean(value)).length > + 0 ? ( + + ) : ( +

{t("no_utm_params")}

+ )} +
+ )} +
+ + )}
{eventType.bookingFields.map((field) => { diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json index 8046e4cdd8..8ab599882f 100644 --- a/apps/web/public/static/locales/en/common.json +++ b/apps/web/public/static/locales/en/common.json @@ -3002,6 +3002,9 @@ "authorize": "Authorize", "next": "Next", "hide": "Hide", + "show":"Show", + "utm_params":"UTM parameters", + "no_utm_params":"No UTM parameters available.", "asc": "Asc", "desc": "Desc", "verify_email_change": "Verify email change", diff --git a/packages/features/bookings/lib/getUserBooking.ts b/packages/features/bookings/lib/getUserBooking.ts index d27dbb85de..b5e1d54204 100644 --- a/packages/features/bookings/lib/getUserBooking.ts +++ b/packages/features/bookings/lib/getUserBooking.ts @@ -61,6 +61,15 @@ const getUserBooking = async (uid: string) => { referenceUid: true, }, }, + tracking: { + select: { + utm_source: true, + utm_medium: true, + utm_campaign: true, + utm_term: true, + utm_content: true, + }, + }, }, });