Po co nam to całe zarządzanie zgodami?
Świat internetu dynamicznie się zmienia, a przepisy dotyczące ochrony danych, jak słynne GDPR, wymuszają na właścicielach stron internetowych transparentność w kwestii zbierania danych. Zarządzanie zgodami to już nie opcja, a konieczność. Pozwala to nie tylko uniknąć konsekwencji prawnych, ale także budować zaufanie użytkowników, którzy coraz bardziej cenią sobie prywatność w sieci
Spis treści
Rozwiń spis treści
Co to Klaro?
Klaro to narzędzie, które pomaga stronom internetowym w tym całym procesie zarządzania zgodami. Działa to tak, że gdy wchodzisz na stronę, Klaro wyświetla Ci okienko, w którym możesz zdecydować, na co się zgadzasz, a na co nie.
Pewnie widziałeś je przy pierwszej wizycie na moim blogu - możesz też otworzyć je ponownie klikając tutaj. Możesz wyrazić zgodę na wszystkie rodzaje śledzenia, odrzucić je wszystkie, albo wybrać konkretne opcje.
Klaro ułatwia stronom spełnienie wymogów GDPR i innych przepisów dotyczących prywatności, a użytkownikom daje kontrolę nad tym, jakie dane o nich są zbierane. To takie narzędzie, które pomaga zachować równowagę między potrzebami strony, a prawami użytkowników.
Jak dodać Klaro do swojej strony
Aby zintegrować Klaro ze swoją stroną internetową, potrzebujesz wykonać kilka kroków:
- Pobierz pliki Klaro: Możesz pobrać Klaro z oficjalnej strony lub użyć menedżera pakietów, takiego jak npm. Interesuje Cię plik .js oraz .css ze stylami.
- Dołącz pliki CSS i JS: W sekcji head swojej strony dodaj link do pliku css Klaro, który odpowiada za wygląd okna zgody, oraz tagi script do pliku z konfiguracją Klaro i samego skryptu. Koniecznie w tej kolejności. Przykładowo u mnie wygląda to tak:
<!-- Klaro -->
<script defer type="text/javascript" src="/klaro/config.js"></script>
<link rel="stylesheet" href="/klaro/klaro.css" />
<script defer type="text/javascript" src="/klaro/klaro-no-css.js"></script>
- W pliku konfiguracji np. config.js dodaj wszystkie usługi, które zbierają lub wysyłają dane Twoich użytkowników, a także ustawiają ciasteczka. W tym samym pliku ustawisz też podstawowe funkcje Klaro.
Zalecane ustawienia dla Klaro
mustConsent: true,
Wymusza okienko, które zasłania content i wymusza wybór zgody lub jej brak. Pamiętaj, że odmowa często jest lepsza niż brak jakiejkowiek zgody.
hideDeclineAll: false,
W przypadku ustawienia na false da możliwość szybkiego wyłączenia wszystkich usług. Nie traktuj moich zaleceń jako wykładni prawniczej, ale wielu ekspertów twierdzi, że użytkownik pownien mieć tak samo prostą drogę od odrzucenia, jak do akceptacji wyborów.
acceptAll: true,
Podobnie jak wyżej - tylko tym razem dajemy możliwość szybkiej akceptacji wszystkich usług.
default: false,
Stan usług przed wyrażeniem zgody. Domyślnie polecam false - czyli niekatywne usługi. Jeśli jednak chcesz je uruchomić możesz, to też zrobić indywidualnie dla każdej usługi z osobna.
// Styling with theme
styling: {
theme: ["dark"],
},
// Set Polish as default language
lang: "pl",
Ustawienia wyglądu i domyślnego języka. Postaraj się, aby okienko nie zlewało się z resztą strony. Do dyspozycji masz również tłumaczenia usług i jęzka okienka dialogowego jeśli Twoja strona obsługuje więcej niż jeden język.
Jak ustawić prawidłowo usługi w Klaro?
Narzędzie daje nam możliwość szczegółowego ustawiania usług. Polecam zapoznanie się z przykładowym plikiem config.js od Klaro lub moją implementacją, żeby poznać szczegóły. Poniżej znajdziesz wskazówki jak wykorzystać mechanizmy Klaro, aby uruchamiać narzędzia z odpowiednim trybem zgody.
Ciasteczka
Dla każdej usługi definiujemy ciastka, które w przypadku braku zgody Klaro ma zablokować. Przykładowo dla Google Analytics zrobimy to w ten sposób:
cookies: [/^_ga/, /^_gid/, /^_gat/, /^_gtag/],
Google Analytics 4
W zależności od decyzji użytkownika będziemy uruchamiać skrypt wariantem uzależnionym od decyzji i wykorzystywać tryb consent mode od Google.
onDecline: `
console.log("Google Analytics service has been declined by the user.");
var gtagScript = document.createElement("script");
gtagScript.src = "https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXX";
document.head.appendChild(gtagScript);
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
// Najpierw ustawiamy domyślne zgody
gtag("consent", "default", {
ad_storage: "denied",
ad_user_data: "denied",
ad_personalization: "denied",
analytics_storage: "denied",
});
// Następnie inicjalizujemy GA4
gtag("js", new Date());
gtag("config", "G-XXXXXXXXX");`,
onAccept: `
console.log("Google Analytics service has been accepted by the user.");
var gtagScript = document.createElement("script");
gtagScript.src = "https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXX";
document.head.appendChild(gtagScript);
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
// Najpierw ustawiamy domyślne zgody
gtag("consent", "default", {
ad_storage: "denied",
ad_user_data: "denied",
ad_personalization: "denied",
analytics_storage: "granted",
});
// Następnie inicjalizujemy GA4
gtag("js", new Date());
gtag("config", "G-XXXXXXXXX");`,
Microsoft Clarity
Podobnie możemy wykozystać mechanizm zgód dostępny dla Microsoft Clarity i wywołać go z odpowiednim parametrem.
onDecline: `
console.log("Microsoft Clarity service has been declined by the user.");
(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "abcdefghij");
window.clarity("consent", false);
console.log("Clarity consent revoked");`,
onAccept: `
console.log("Microsoft Clarity service has been accepted by the user.");
(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "abcdefghij");
window.clarity("consent");
console.log("Clarity consent granted");`,
Czy Klaro jest zgodne z GDPR/RODO?
Klaro pozwala na zarządzanie narzędziami marketingowymi i analitycznymi, ale domyślnie brakuje mu jednej funkcji, która jest wymagana do pełnej zgodności z przepisami.
Niestety Klaro nie zapisuje nigdzie historii decyzji dotyczących zgód, więc samodzielnie nie jest narzędiem, które zapewni nam pełną zgodność.
Da się jednak rozwiązać zapisem na akcji onUpdate i to rozwiązanie spróbuję jeszcze wdrożyć w powtarzalny sposób. Daj znać w komentarzu czy przydałoby Ci się takie rozwiązanie!
Zobacz też: Jak poprawnie obsłużyć Microsoft Clarity z Consent Magic?