Klaro! + Google Consent Mode v2 integrációs dokumentáció
Cél: GDPR kompatibilis cookie-hozzájárulási rendszer létrehozása, amely megfelel a Google Consent Mode v2 követelményeinek is.
1. Alkalmazott technológia
- Klaro! – open source cookie consent manager
- Google Consent Mode v2 – 2024-től kötelező a Google Analytics / Ads használatához
- Manuális integráció gtag() hívásokkal
2. Weboldalon használt szolgáltatások
- Google Analytics (GA4)
- YouTube videó beágyazások
- Facebook Pixel
3. Betöltési sorrend a <head>
-ben
<!-- Google Consent Mode alap beállítás -->
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('consent', 'default', {
ad_storage: 'denied',
analytics_storage: 'denied',
wait_for_update: 500
});
</script>
<!-- Google Analytics gtag -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script>
gtag('js', new Date());
gtag('config', 'G-XXXXXXX');
</script>
Megjegyzés: A Klaro csak akkor frissíti a hozzájárulási állapotot, ha a user elfogadja a sütiket.
4. Klaro config kivonat (Consent Mode-ready)
var klaroConfig = {
version: 1,
lang: 'hu',
cookieName: 'klaro',
htmlTexts: true,
mustConsent: false,
translations: {
hu: {
consentModal: {
title: 'Sütikezelési beállítások',
description: 'Ez a weboldal sütiket használ a működéshez, statisztikákhoz és marketinghez.'
},
purposes: {
analytics: 'Statisztika',
marketing: 'Marketing'
},
purposeItem: {
service: 'szolgáltatás',
services: 'szolgáltatások'
},
ok: 'Elfogadom',
acceptAll: 'Mindet elfogadom',
decline: 'Elutasítom'
}
},
services: [
{
name: 'google-analytics',
title: 'Google Analytics',
purposes: ['analytics'],
default: false,
onlyOnce: true,
callback: function(consent) {
if (typeof gtag === 'function') {
gtag('consent', 'update', {
analytics_storage: consent ? 'granted' : 'denied'
});
}
}
},
{
name: 'youtube',
title: 'YouTube videók',
purposes: ['analytics'],
default: false,
onlyOnce: true,
callback: function(consent) {
if (typeof gtag === 'function') {
gtag('consent', 'update', {
analytics_storage: consent ? 'granted' : 'denied'
});
}
}
},
{
name: 'facebook',
title: 'Facebook Pixel',
purposes: ['marketing'],
default: false,
onlyOnce: true,
callback: function(consent) {
if (typeof gtag === 'function') {
gtag('consent', 'update', {
ad_storage: consent ? 'granted' : 'denied'
});
}
}
}
]
};
5. Klaro betöltés (footerben v. head végén):
<script defer src="https://cdn.jsdelivr.net/npm/klaro/dist/klaro.min.js"></script>
6. Visszahívható beállítás gomb
<button onclick="klaro.show()" style="position:fixed;bottom:20px;right:20px;background:#4bb1e0;color:#fff;padding:0.5em 1em;border-radius:30px;border:none;cursor:pointer;z-index:9999;">
Sütibeállítások
</button>
7. Fontos!
- NE töltsd be automatikusan a Google Analyticset (pl. GTM-ből, pluginból), csak ha a hozzájárulás megvan.
- Klaro nem tárolja a hozzájárulást 3rd party helyen, csak a saját domaineden cookie formájában (pl.
klaro
). - Az
onlyOnce: true
megakadályozza a többszörös callback hívást.
8. Források
- Klaro! doksi: https://kiprotect.com/docs/klaro/
- Google Consent Mode: https://support.google.com/tagmanager/answer/10718549
- Cookie-hozzájárulás követelmények: https://gdpr.eu/cookies/
- Blogcikk a témáról a Business Bloom Consulting® blogján: https://businessbloom.consulting/cookie-consent-mode-v2/