From d010485c1a54568dab38bbe78094a377754b3c57 Mon Sep 17 00:00:00 2001 From: Rotimi Best Date: Thu, 28 Nov 2024 16:02:34 +0100 Subject: [PATCH] chore: collect org analytics --- .../src/lib/utils/services/posthog/index.ts | 21 +++++++++++++++++++ apps/dashboard/src/routes/+layout.svelte | 8 ++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/apps/dashboard/src/lib/utils/services/posthog/index.ts b/apps/dashboard/src/lib/utils/services/posthog/index.ts index ef7b980a..60c054a0 100644 --- a/apps/dashboard/src/lib/utils/services/posthog/index.ts +++ b/apps/dashboard/src/lib/utils/services/posthog/index.ts @@ -20,3 +20,24 @@ export const initPosthog = (): void => { api_host: 'https://eu.posthog.com' }); }; + +export const initOrgAnalytics = (siteId: string) => { + if (dev) return; + + // add js to head of page + const script1 = document.createElement('script'); + script1.textContent = ` + (function () { + window.counterscale = { + q: [["set", "siteId", "${siteId}"], ["trackPageview"]], + }; + })(); + `; + document.head.appendChild(script1); + + const script2 = document.createElement('script'); + script2.id = 'counterscale-script'; + script2.src = 'https://be13a4b3.counterscale-5jn.pages.dev/tracker.js'; + script2.defer = true; + document.head.appendChild(script2); +} diff --git a/apps/dashboard/src/routes/+layout.svelte b/apps/dashboard/src/routes/+layout.svelte index 5aa069ea..714e7ff8 100644 --- a/apps/dashboard/src/routes/+layout.svelte +++ b/apps/dashboard/src/routes/+layout.svelte @@ -32,7 +32,7 @@ import { setTheme } from '$lib/utils/functions/theme'; import hideNavByRoute from '$lib/utils/functions/routes/hideNavByRoute'; import shouldRedirectOnAuth from '$lib/utils/functions/routes/shouldRedirectOnAuth'; - import { identifyPosthogUser, initPosthog } from '$lib/utils/services/posthog'; + import { identifyPosthogUser, initPosthog, initOrgAnalytics } from '$lib/utils/services/posthog'; import { initSentry, setSentryUser } from '$lib/utils/services/sentry'; import UpgradeModal from '$lib/components/Upgrade/Modal.svelte'; import { handleLocaleChange } from '$lib/utils/functions/translations'; @@ -234,7 +234,6 @@ setTheme(data.org?.theme); } } - setupAnalytics(); handleResize(); @@ -269,11 +268,14 @@ // } }); - if (data.isOrgSite && data.org) { + if (data.isOrgSite && data.org && !$currentOrg.siteName) { $globalStore.orgSiteName = data.orgSiteName; $globalStore.isOrgSite = data.isOrgSite; currentOrg.set(data.org); + + // Setup internal analytics + initOrgAnalytics(data.orgSiteName); } return () => {