diff --git a/apps/web/components/booking/pages/AvailabilityPage.tsx b/apps/web/components/booking/pages/AvailabilityPage.tsx index cdd91101..2b35e2dc 100644 --- a/apps/web/components/booking/pages/AvailabilityPage.tsx +++ b/apps/web/components/booking/pages/AvailabilityPage.tsx @@ -113,8 +113,8 @@ const AvailabilityPage = ({ profile, plan, eventType, workingHours, previousPage telemetry.withJitsu((jitsu) => jitsu.track( - telemetryEventTypes.pageView, - collectPageParameters("availability", { isTeamBooking: document.URL.includes("team/") }) + top !== window ? telemetryEventTypes.embedView : telemetryEventTypes.pageView, + collectPageParameters("/availability", { isTeamBooking: document.URL.includes("team/") }) ) ); }, [telemetry]); diff --git a/apps/web/components/booking/pages/BookingPage.tsx b/apps/web/components/booking/pages/BookingPage.tsx index f4ea09b6..1443f831 100644 --- a/apps/web/components/booking/pages/BookingPage.tsx +++ b/apps/web/components/booking/pages/BookingPage.tsx @@ -90,6 +90,15 @@ const BookingPage = ({ const { data: session } = useSession(); const isBackgroundTransparent = useIsBackgroundTransparent(); + useEffect(() => { + telemetry.withJitsu((jitsu) => + jitsu.track( + top !== window ? telemetryEventTypes.embedView : telemetryEventTypes.pageView, + collectPageParameters("/book", { isTeamBooking: document.URL.includes("team/") }) + ) + ); + }, []); + useEffect(() => { if (eventType.metadata.smartContractAddress) { const eventOwner = eventType.users[0]; @@ -293,7 +302,7 @@ const BookingPage = ({ const bookEvent = (booking: BookingFormValues) => { telemetry.withJitsu((jitsu) => jitsu.track( - telemetryEventTypes.bookingConfirmed, + top !== window ? telemetryEventTypes.embedBookingConfirmed : telemetryEventTypes.bookingConfirmed, collectPageParameters("/book", { isTeamBooking: document.URL.includes("team/") }) ) ); diff --git a/apps/web/lib/telemetry.ts b/apps/web/lib/telemetry.ts index 90093be7..df787e7f 100644 --- a/apps/web/lib/telemetry.ts +++ b/apps/web/lib/telemetry.ts @@ -13,6 +13,8 @@ export const telemetryEventTypes = { googleLogin: "google_login", samlLogin: "saml_login", samlConfig: "saml_config", + embedView: "embed_view", + embedBookingConfirmed: "embed_booking_confirmed", }; /** diff --git a/apps/web/pages/[user].tsx b/apps/web/pages/[user].tsx index b29cab95..58854b3c 100644 --- a/apps/web/pages/[user].tsx +++ b/apps/web/pages/[user].tsx @@ -119,7 +119,10 @@ export default function User(props: inferSSRProps) { useEffect(() => { telemetry.withJitsu((jitsu) => - jitsu.track(telemetryEventTypes.pageView, collectPageParameters("/[user]")) + jitsu.track( + top !== window ? telemetryEventTypes.embedView : telemetryEventTypes.pageView, + collectPageParameters("/[user]") + ) ); }, [telemetry]); return ( diff --git a/apps/web/pages/success.tsx b/apps/web/pages/success.tsx index 7be45f1c..21246f12 100644 --- a/apps/web/pages/success.tsx +++ b/apps/web/pages/success.tsx @@ -35,6 +35,7 @@ import useTheme from "@lib/hooks/useTheme"; import { isBrandingHidden } from "@lib/isBrandingHidden"; import { isSuccessRedirectAvailable } from "@lib/isSuccessRedirectAvailable"; import prisma from "@lib/prisma"; +import { collectPageParameters, telemetryEventTypes, useTelemetry } from "@lib/telemetry"; import { isBrowserLocale24h } from "@lib/timeFormat"; import { inferSSRProps } from "@lib/types/inferSSRProps"; @@ -172,6 +173,15 @@ export default function Success(props: SuccessProps) { const eventName = getEventName(eventNameObject); const needsConfirmation = eventType.requiresConfirmation && reschedule != "true"; + const telemetry = useTelemetry(); + useEffect(() => { + telemetry.withJitsu((jitsu) => + jitsu.track( + top !== window ? telemetryEventTypes.embedView : telemetryEventTypes.pageView, + collectPageParameters("/success") + ) + ); + }, [telemetry]); useEffect(() => { const users = eventType.users;