(function() { const CONSENT_KEY = "chumbay_cookie_consent_v1"; // --- always create dataLayer BEFORE loading GTM --- window.dataLayer = window.dataLayer || []; function gtag(){ dataLayer.push(arguments); } // --- default consent: BLOCK analytics & ads --- gtag('consent', 'default', { analytics_storage: 'denied', ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied' }); // --- GTM loader: identical to your GTM snippet --- function loadGTM() { if (window.gtmLoaded) return; window.gtmLoaded = true; (function(w,d,s,l,i){ w[l]=w[l]||[]; w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'}); var f=d.getElementsByTagName(s)[0], j=d.createElement(s), dl=l!='dataLayer'?'&l='+l:''; j.async=true; j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl; f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-T6MGSN59'); } // --- allow analytics --- function grantConsent() { gtag('consent', 'update', { analytics_storage: 'granted', ad_storage: 'granted', ad_user_data: 'granted', ad_personalization: 'granted' }); } // --- restore previous consent --- const saved = localStorage.getItem(CONSENT_KEY); if (saved) { const c = JSON.parse(saved); if (c.analytics || c.marketing) { grantConsent(); loadGTM(); } } else { document.getElementById("cookie-banner").style.display = "block"; } // Accept All document.getElementById("cookie-accept-all").onclick = function() { save(); }; function save() { localStorage.setItem(CONSENT_KEY, JSON.stringify({ necessary: true, analytics: true, marketing: true })); grantConsent(); loadGTM(); document.getElementById("cookie-banner").style.display = "none"; } // Only necessary document.getElementById("cookie-accept-necessary").onclick = function() { localStorage.setItem(CONSENT_KEY, JSON.stringify({ necessary: true, analytics: false, marketing: false })); document.getElementById("cookie-banner").style.display = "none"; }; // custom settings toggle document.getElementById("cookie-settings").onclick = function() { const panel = document.getElementById("cookie-settings-panel"); panel.style.display = panel.style.display === "none" ? "block" : "none"; }; document.getElementById("cookie-save-settings").onclick = function() { const analytics = document.getElementById("consent-analytics").checked; const marketing = document.getElementById("consent-marketing").checked; localStorage.setItem(CONSENT_KEY, JSON.stringify({ necessary: true, analytics, marketing })); if (analytics || marketing) { grantConsent(); loadGTM(); } document.getElementById("cookie-banner").style.display = "none"; }; })();