Wenn Sie von einer anderen Cookie-Verwaltungslösung zu unserer wechseln, möchten Sie vielleicht die bereits gesammelten Einwilligungen migrieren. Dies ist nützlich, um sicherzustellen, dass Benutzer, die ihre Zustimmung bereits im Rahmen der vorherigen Lösung gegeben haben, nicht erneut das Cookie-Banner und die damit verbundene Bitte um Zustimmung angezeigt bekommen.
Es gibt zwei Möglichkeiten, dies zu tun, je nachdem, ob die “alte” Plattform ein Cookie bereitstellt(synchrone Methode) oder einen Aufruf ihrer API erfordert(asynchrone Methode).
Synchrone Methode
Bevor Sie die Privacy Controls and Cookie Solution einbetten, müssen Sie eine synchrone Funktion (z.B. isConsentGivenByOtherPlatform
) definieren, um die Zustimmung von der anderen Plattform zu erhalten:
<script type="text/javascript"> function readLocalCookie(cookieName) { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var e=cookies[i].split('='); if (e[0] === cookieName) { return e[1]; } } return null; } function isConsentGivenByOtherPlatform() { var otherPlatformCookieName = 'cookie_from_other_platform'; // use the actual cookie name saved by the other platform var prevConsent = readLocalCookie(otherPlatformCookieName); if (prevConsent) { return true; } else { return false; } } </script>
Wichtig
Kopieren Sie den oben gezeigten Code nicht und fügen Sie ihn nicht ein – es ist nur ein Beispielcode, den wir Ihnen zur Verfügung gestellt haben, damit Sie den Ansatz verstehen.
Als nächstes fügen Sie das Privacy Controls and Cookie Solution-Snippet hinzu und rufen den onReady
Callback auf:
<script type="text/javascript"> var _iub = _iub || []; _iub.csConfiguration = { "lang": "en", "siteId": XXXXXX, // use your siteId "cookiePolicyId": YYYYYY, // use your cookiePolicyId "banner": { "acceptButtonDisplay": true, "customizeButtonDisplay": true, "position": "float-top-center" }, "callback": { "onReady": function() { if (typeof window.isConsentGivenByOtherPlatform === 'function' && isConsentGivenByOtherPlatform()) { _iub.cs.api.setPreferences({ consent: true, ccpa: true, uspr: { 'all': true, 'sd8': true, 'sd9': true, }, purposes: { '1': true, '2': true, '3': true, '4': true, '5': true, }, tcfv2: { 'all': true, }, gac: { 'all': true, }, }, true); } } } }; </script> <script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
Der onReady
Callback prüft, ob die Zustimmung bereits auf einer anderen Plattform erteilt wurde, und speichert sie, falls dies der Fall ist, indem er die Methode _iub.cs.api.setPreferences()
aufruft.
Kategoriebezogene Einwilligung
_iub.cs.api.storeConsent()
erlaubt es auch, den Zweck im Argument {consent: true}
, {consent: false}
oder {purposes: {1: true, 2: false, …}}
anzupassen.
Asynchrone Methode
Bevor Sie den Code für Privacy Controls and Cookie Solution einbetten, müssen Sie eine Funktion definieren, die:
- akzeptiert einen Rückruf;
- erkennt die Zustimmung;
- speichert die Zustimmung in einer globalen Variablen; und
- ruft den Rückruf im Anschluss auf.
Hier ist ein Beispiel:
<script type="text/javascript"> // fetch consent asynchronously from 3rd party function getConsentByOtherPlatform(cb) { $.getJSON('http://otherplatform.com/api/get-consent', function(result) { if (result.given) { window.consentByOtherPlatform = true; } else { window.consentByOtherPlatform = false; } cb(); }); } function isConsentGivenByOtherPlatform() { return !!window.consentByOtherPlatform; } </script>
Wichtig
Kopieren Sie den oben gezeigten Code nicht und fügen Sie ihn nicht ein – es ist nur ein Beispielcode, den wir Ihnen zur Verfügung gestellt haben, damit Sie den Ansatz verstehen.
Als nächstes fügen Sie das Privacy Controls and Cookie Solution Snippet hinzu und rufen den on
Ready Callback auf:
<script type="text/javascript"> var _iub = _iub || []; _iub.csConfiguration = { "lang": "en", "siteId": XXXXXX, // use your siteId "cookiePolicyId": YYYYYY, // use your cookiePolicyId "banner": { "acceptButtonDisplay": true, "customizeButtonDisplay": true, "position": "float-top-center" }, "callback": { "onReady": function() { if (typeof window.isConsentGivenByOtherPlatform === 'function' && isConsentGivenByOtherPlatform()) { _iub.cs.api.setPreferences({ consent: true, ccpa: true, uspr: { 'all': true, 'sd8': true, 'sd9': true, }, purposes: { '1': true, '2': true, '3': true, '4': true, '5': true, }, tcfv2: { 'all': true, }, gac: { 'all': true, }, }, true); } } } } }; </script> <script type="text/javascript"> // ask for 3rd party consent before including the CS getConsentByOtherPlatform(function() { var s = document.createElement('script'); s.src = '//cdn.iubenda.com/cs/iubenda_cs.js'; document.head.appendChild(s); }); </script>
Der onReady
Callback prüft, ob die Zustimmung bereits auf einer anderen Plattform erteilt wurde und speichert sie, falls dies der Fall ist, indem er die Methode _iub.cs.api.setPreferences()
aufruft.
Kategoriebezogene Einwilligung
_iub.cs.api.storeConsent()
erlaubt es auch, den Zweck im Argument {consent: true}
, {consent: false}
oder {purposes: {1: true, 2: false, …}}
anzupassen.
_iub.cs.api.setPreferences(consentObj, hideBanner)
Die Methode _iub.cs.api.setPreferences
, die zwei Argumente erwartet: consentObj (erforderlich) und hideBanner (optional)
consentObj
Es ist ein Objekt mit folgenden Einstellungen:
- Zustimmung – erforderlich – akzeptiert
true
oderfalse
– Es handelt sich um eine allgemeine Zustimmung - ccpa – erforderlich, wenn CCPA aktiviert ist – akzeptiert
true
oderfalse
– es bezieht sich auf den US-Datenschutz und wird nur angewendet, wenn CCPA in Cookie Solution aktiviert ist - uspr – erforderlich, wenn USPR aktiviert ist – akzeptiert ein Objekt mit den folgenden Optionen – es bezieht sich auf die USPR-Zustimmung und wird nur angewendet, wenn USPR in Cookie Solution aktiviert ist
- all – akzeptiert
true
oderfalse
– diese Option setzt den gleichen Wert für alle Zwecke
- all – akzeptiert
uspr: { all: true // or false }
- [purposeId] – akzeptiert
true
oderfalse
– diese Option legt den Wert für bestimmte ID-Zwecke fest
uspr: { 's': true, // or false 'sh': false, // or true 'adv': false // or true }
- purposes – erforderlich, wenn
perPurposeConsent
aktiviert ist – akzeptiert ein Objekt mit den folgenden Optionen – es bezieht sich auf die Zustimmung zu den Zwecken und wird nur angewendet, wennperPurposeConsent
in Cookie Solution aktiviert ist- all – akzeptiert
true
oderfalse
– diese Option setzt den gleichen Wert für alle Zwecke
- all – akzeptiert
purposes: { all: true // or false }
- [purposeId] – akzeptiert
true
oderfalse
– diese Option legt den Wert für bestimmte ID-Zwecke fest
purposes: { '1': true, // or false '2': false, // or true '4': false // or true }
- tcfv2 – erforderlich, wenn TCF aktiviert ist – akzeptiert ein Objekt mit den folgenden Optionen – es bezieht sich auf die TCF-Zustimmung und wird nur angewendet, wenn TCF in Cookie Solution aktiviert ist
- all – akzeptiert
true
oderfalse
– diese Option setzt den gleichen Wert für alle TCF-Zwecke
- all – akzeptiert
tcfv2: { all: true // or false }
- [string] – akzeptiert eine TCF-Zeichenkette
tcfv2: 'CP9rVEAP9rVEAB7FGCENAyEgAAAAAAAAAAAAAAAUHgJAA4AM-AjwBKoDfAHbAO5AgoBIgCSgEowJaATHAmSBNICfYFBAKDgAAAAA'
- gac – erforderlich, wenn Google Aditional Consent aktiviert ist – akzeptiert ein Objekt mit folgenden Optionen – es bezieht sich auf die GAC-Zustimmung und wird nur angewendet, wenn GAC in Cookie Solution aktiviert ist
- all – akzeptiert
true
oderfalse
– diese Option setzt den gleichen Wert für alle GAC-Anbieter
- all – akzeptiert
gac: { all: true // or false }
- [string] – akzeptiert eine GAC-Zeichenfolge
gac: '1~1584.2292.2392'
hideBanner
Es handelt sich um einen Booleschen Wert, mit dem Sie das Banner nach der Speicherung der Einstellungen ausblenden oder nicht ausblenden können, in diesem Fall sollte es immer true
_iub.cs.api.setPreferences({ ... }, true); // hide the banner after the preference storage _iub.cs.api.setPreferences({ ... }, false); // keep the banner after the preference storage