diff --git a/apps/scandic-web/components/Forms/BookingWidget/index.tsx b/apps/scandic-web/components/Forms/BookingWidget/index.tsx index c234e8fc1..850800f97 100644 --- a/apps/scandic-web/components/Forms/BookingWidget/index.tsx +++ b/apps/scandic-web/components/Forms/BookingWidget/index.tsx @@ -9,6 +9,7 @@ import { REDEMPTION } from "@/constants/booking" import { selectHotel, selectRate } from "@/constants/routes/hotelReservation" import useLang from "@/hooks/useLang" +import { trackBookingSearchClick } from "@/utils/tracking/booking" import { serializeBookingSearchParams } from "@/utils/url" import FormContent, { BookingWidgetFormContentSkeleton } from "./FormContent" @@ -37,6 +38,7 @@ export default function Form({ type, onClose }: BookingWidgetFormProps) { useFormContext() function onSubmit(data: BookingWidgetSchema) { + trackBookingSearchClick(data.search, data.hotel ? "hotel" : "destination") const bookingFlowPage = data.hotel ? selectRate(lang) : selectHotel(lang) const bookingWidgetParams = serializeBookingSearchParams({ rooms: data.rooms, diff --git a/apps/scandic-web/components/LanguageSwitcher/LanguageSwitcherContent/index.tsx b/apps/scandic-web/components/LanguageSwitcher/LanguageSwitcherContent/index.tsx index 5c1792e41..b7166c891 100644 --- a/apps/scandic-web/components/LanguageSwitcher/LanguageSwitcherContent/index.tsx +++ b/apps/scandic-web/components/LanguageSwitcher/LanguageSwitcherContent/index.tsx @@ -56,7 +56,7 @@ export default function LanguageSwitcherContent({ className={styles.link} href={replaceUrlPart(pathname, url)} rel={env.isLangLive(key) ? undefined : "nofollow"} - onClick={onLanguageSwitch} + onClick={() => onLanguageSwitch(key)} variant="languageSwitcher" keepSearchParams > diff --git a/apps/scandic-web/components/LanguageSwitcher/index.tsx b/apps/scandic-web/components/LanguageSwitcher/index.tsx index 3579a5d10..8e6e97357 100644 --- a/apps/scandic-web/components/LanguageSwitcher/index.tsx +++ b/apps/scandic-web/components/LanguageSwitcher/index.tsx @@ -15,6 +15,7 @@ import useDropdownStore from "@/stores/main-menu" import useClickOutside from "@/hooks/useClickOutside" import { useHandleKeyUp } from "@/hooks/useHandleKeyUp" import useLang from "@/hooks/useLang" +import { trackLanguageSwitchClick } from "@/utils/tracking/navigation" import SkeletonShimmer from "../SkeletonShimmer" import LanguageSwitcherContainer from "./LanguageSwitcherContainer" @@ -94,6 +95,11 @@ export default function LanguageSwitcher({ type }: LanguageSwitcherProps) { defaultMessage: "Open language menu", }) + function onLanguageSwitch(toLang: string) { + trackLanguageSwitchClick(currentLanguage, toLang) + toggleDropdown(dropdownType) + } + if (isLoading) { return } @@ -132,7 +138,7 @@ export default function LanguageSwitcher({ type }: LanguageSwitcherProps) { toggleDropdown(dropdownType)} + onLanguageSwitch={onLanguageSwitch} /> diff --git a/apps/scandic-web/types/components/languageSwitcher/languageSwitcher.ts b/apps/scandic-web/types/components/languageSwitcher/languageSwitcher.ts index c58b227a8..36aa2f9a3 100644 --- a/apps/scandic-web/types/components/languageSwitcher/languageSwitcher.ts +++ b/apps/scandic-web/types/components/languageSwitcher/languageSwitcher.ts @@ -16,7 +16,7 @@ export interface LanguageSwitcherProps { export interface LanguageSwitcherContentProps { urls: LanguageSwitcherData - onLanguageSwitch: () => void + onLanguageSwitch: (lang: string) => void } export interface LanguageSwitcherContainerProps { diff --git a/apps/scandic-web/utils/tracking/booking.ts b/apps/scandic-web/utils/tracking/booking.ts index f649bc0f6..009588212 100644 --- a/apps/scandic-web/utils/tracking/booking.ts +++ b/apps/scandic-web/utils/tracking/booking.ts @@ -67,3 +67,17 @@ export function trackBreakfastSelection({ }, }) } + +export function trackBookingSearchClick( + searchTerm: string, + searchType: string +) { + trackEvent({ + event: "hotelSearchButtonClick", + hotelInfo: { + searchTerm, + searchType, + action: "Hotel search", + }, + }) +} diff --git a/apps/scandic-web/utils/tracking/navigation.ts b/apps/scandic-web/utils/tracking/navigation.ts index 3691fccb8..edf239ec3 100644 --- a/apps/scandic-web/utils/tracking/navigation.ts +++ b/apps/scandic-web/utils/tracking/navigation.ts @@ -30,3 +30,13 @@ export function trackLoginClick(position: TrackingPosition) { }, }) } + +export function trackLanguageSwitchClick(fromLang: string, toLang: string) { + trackEvent({ + event: "languageSelection", + language: { + fromSelection: fromLang, + toSelection: toLang, + }, + }) +}