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);
+ }
+ }
};