From 320134e8dd00daab9c522f1ec36dfeca8a850212 Mon Sep 17 00:00:00 2001 From: leanhvu21042001 Date: Tue, 2 Dec 2025 10:32:12 +0700 Subject: [PATCH] fix: gtag is not defined --- packages/landing-site/src/pages/index.astro | 1 + packages/site/src/layouts/base.astro | 1 + packages/system/src/util/analytics-utils.ts | 22 ++++++++++++++------- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/packages/landing-site/src/pages/index.astro b/packages/landing-site/src/pages/index.astro index 46a6d896..fd19a237 100644 --- a/packages/landing-site/src/pages/index.astro +++ b/packages/landing-site/src/pages/index.astro @@ -41,6 +41,7 @@ const GA_TAG_ID = import.meta.env.VITE_GOOGLE_ANALYTICS diff --git a/packages/site/src/layouts/base.astro b/packages/site/src/layouts/base.astro index 8da9dc9a..d894fb2b 100644 --- a/packages/site/src/layouts/base.astro +++ b/packages/site/src/layouts/base.astro @@ -58,6 +58,7 @@ const GA_TAG_ID = import.meta.env.VITE_GOOGLE_ANALYTICS diff --git a/packages/system/src/util/analytics-utils.ts b/packages/system/src/util/analytics-utils.ts index 012d6ed5..208836e4 100644 --- a/packages/system/src/util/analytics-utils.ts +++ b/packages/system/src/util/analytics-utils.ts @@ -29,11 +29,19 @@ export const track = ( event: T, ...data: TrackingCustomEvents[T] extends void ? [] : [TrackingCustomEvents[T]] ): void => { - import.meta.env.MODE === 'production' - ? data[0] != null - ? gtag('event', event, data[0]) - : gtag('event', event) - : data[0] != null - ? console.info('track', event, data[0]) - : console.info('track', event); + if (import.meta.env.MODE === 'production') { + if (typeof window !== 'undefined' && typeof window.gtag === 'function') { + if (data[0] != null) { + window.gtag('event', event, data[0]); + } else { + window.gtag('event', event); + } + } + } else { + if (data[0] != null) { + console.info('track', event, data[0]); + } else { + console.info('track', event); + } + } };