diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro
index 90ff76a..2f6ca54 100644
--- a/src/layouts/BaseLayout.astro
+++ b/src/layouts/BaseLayout.astro
@@ -50,6 +50,12 @@ const imageUrl = new URL(image, SITE_ORIGIN).toString();
const cloudflareBeaconToken = import.meta.env.PUBLIC_CLOUDFLARE_WEB_ANALYTICS_TOKEN;
const googleAnalyticsId = import.meta.env.PUBLIC_GOOGLE_ANALYTICS_ID;
const googleSiteVerification = import.meta.env.PUBLIC_GOOGLE_SITE_VERIFICATION;
+const googleAnalyticsScript = googleAnalyticsId
+ ? `window.dataLayer = window.dataLayer || [];
+function gtag(){dataLayer.push(arguments);}
+gtag('js', new Date());
+gtag('config', ${JSON.stringify(googleAnalyticsId)});`
+ : '';
const siteUrl = new URL('/', SITE_ORIGIN).toString();
const organizationId = `${siteUrl}#organization`;
@@ -100,10 +106,9 @@ const jsonLdString = JSON.stringify(structuredData).replace(/` tag.
- * Inline `
+ )
+ }
+ {googleAnalyticsScript && }
@@ -258,22 +276,6 @@ const csp = [
document.head.append(beacon);
}
- const googleAnalyticsId = import.meta.env.PUBLIC_GOOGLE_ANALYTICS_ID;
- if (googleAnalyticsId) {
- const tag = document.createElement('script');
- tag.async = true;
- tag.src = `https://www.googletagmanager.com/gtag/js?id=${encodeURIComponent(googleAnalyticsId)}`;
- document.head.append(tag);
-
- const analyticsWindow = window as typeof window & {
- dataLayer?: unknown[][];
- gtag?: (...args: unknown[]) => void;
- };
- const dataLayer = analyticsWindow.dataLayer ||= [];
- const gtag = analyticsWindow.gtag ||= (...args: unknown[]) => dataLayer.push(args);
- gtag('js', new Date());
- gtag('config', googleAnalyticsId);
- }