diff --git a/src/js/components/CookieBar.tsx b/src/js/components/CookieBar.tsx index cc8e8eb..c8ee029 100644 --- a/src/js/components/CookieBar.tsx +++ b/src/js/components/CookieBar.tsx @@ -1,6 +1,10 @@ import * as React from 'react'; -import { hasCookiePreferences, acceptAllCookies } from '../utils/cookies'; +import { + hasCookiePreferences, + acceptAllCookies, + isAnalyticsCookiesConsentGiven, +} from '../utils/cookies'; import { Route } from '../utils/routes'; import Container from './reusable/Container'; import Heading from './reusable/Heading'; @@ -28,8 +32,8 @@ const CookieBar = () => { // init GA consent React.useEffect(() => { - initGa4(); setTimeout(() => { + initGa4(isAnalyticsCookiesConsentGiven()); setHasCookieBar(!hasCookiePreferences()); }, 1000); }, []); diff --git a/src/js/utils/analytics.ts b/src/js/utils/analytics.ts index f0a6ae8..e19f216 100644 --- a/src/js/utils/analytics.ts +++ b/src/js/utils/analytics.ts @@ -1,14 +1,25 @@ -export const initGa4 = () => { +export const initGa4 = (analyticsConsentGiven: boolean) => { window.dataLayer = window.dataLayer || []; gtag('js', new Date()); - gtag('consent', 'default', { - ad_storage: 'denied', - analytics_storage: 'denied', - personalization_storage: 'denied', - functionality_storage: 'granted', // Functional cookies are OK - security_storage: 'granted', - }); + if (analyticsConsentGiven) { + gtag('config', 'G-3SYTZ509HY'); + gtag('consent', 'default', { + ad_storage: 'granted', + analytics_storage: 'granted', + personalization_storage: 'granted', + functionality_storage: 'granted', + security_storage: 'granted', + }); + } else { + gtag('consent', 'default', { + ad_storage: 'denied', + analytics_storage: 'denied', + personalization_storage: 'denied', + functionality_storage: 'granted', // Functional cookies are OK + security_storage: 'granted', + }); + } }; export const acceptGa4 = () => {