diff --git a/packages/console/src/containers/ConsoleContent/index.tsx b/packages/console/src/containers/ConsoleContent/index.tsx index f1ae1cd5003..457df0d3bdb 100644 --- a/packages/console/src/containers/ConsoleContent/index.tsx +++ b/packages/console/src/containers/ConsoleContent/index.tsx @@ -14,8 +14,8 @@ function ConsoleContent() { const { scrollableContent } = useOutletContext(); const routeObjects = useConsoleRoutes(); const routes = useRoutes(routeObjects); - usePlausiblePageview(routeObjects); + usePlausiblePageview(routeObjects, ':tenantId'); // Use this hook here to make sure console listens to user tenant scope changes. useTenantScopeListener(); diff --git a/packages/console/src/hooks/use-plausible-pageview.ts b/packages/console/src/hooks/use-plausible-pageview.ts index f4135a9509e..5b1657112cb 100644 --- a/packages/console/src/hooks/use-plausible-pageview.ts +++ b/packages/console/src/hooks/use-plausible-pageview.ts @@ -8,7 +8,13 @@ import { getRoutePattern } from '@/utils/route'; const log = debug('usePlausiblePageview'); -export const usePlausiblePageview = (routes: RouteObject[]) => { +/** + * Track pageview with Plausible by listening to route changes. + * + * @param routes An array of route objects to match the current route against. + * @param prefix A prefix to prepend to the route pattern. + */ +export const usePlausiblePageview = (routes: RouteObject[], prefix: string) => { const { pathname } = useLocation(); useEffect(() => { @@ -19,8 +25,8 @@ export const usePlausiblePageview = (routes: RouteObject[]) => { // https://plausible.io/docs/custom-locations#3-specify-a-custom-location window.plausible?.('pageview', { u: - appendPath(new URL('https://' + plausibleDataDomain), routePattern).href + + appendPath(new URL('https://' + plausibleDataDomain), prefix, routePattern).href + window.location.search, }); - }, [pathname, routes]); + }, [pathname, prefix, routes]); }; diff --git a/packages/console/src/onboarding/index.tsx b/packages/console/src/onboarding/index.tsx index 2d6a5fd1594..8ecf318ef92 100644 --- a/packages/console/src/onboarding/index.tsx +++ b/packages/console/src/onboarding/index.tsx @@ -43,7 +43,7 @@ export function OnboardingApp() { const matched = useMatch(welcomePathname); const routes = useRoutes(routeObjects); - usePlausiblePageview(routeObjects); + usePlausiblePageview(routeObjects, 'onboarding'); useEffect(() => { setThemeOverride(Theme.Light); diff --git a/packages/console/src/pages/Profile/index.tsx b/packages/console/src/pages/Profile/index.tsx index 8d3a68116d1..c6bf4c0e8d3 100644 --- a/packages/console/src/pages/Profile/index.tsx +++ b/packages/console/src/pages/Profile/index.tsx @@ -34,7 +34,7 @@ function Profile() { const { t } = useTranslation(undefined, { keyPrefix: 'admin_console' }); const { navigate } = useTenantPathname(); const childrenRoutes = useRoutes(profile); - usePlausiblePageview(profile); + usePlausiblePageview(profile, 'profile'); const api = useStaticApi({ prefixUrl: adminTenantEndpoint, resourceIndicator: meApi.indicator }); const fetcher = useSwrFetcher(api);