Leading Consent Management Platform

Compliant with GDPR, CCPA, COPPA, LGPD, PECR, PDPA, PIPEDA, and more.

UniConsent Tag für Web

Schnelleinrichtung mit dem einzelnen UniConsent-Tag (empfohlen)

Fügen Sie auf jeder Seite einen Script-Tag mit Ihrem Lizenzschlüssel ein, möglichst weit oben im <head>. Der Tag setzt den Google Consent Mode-Standardstatus, definiert sofort unicReady und unicUpdate und lädt anschließend die vollständige CMP im Hintergrund.

<script src="https://cmp.uniconsent.com/v2/cmp.js" data-license="YOUR_LICENSE"></script>

Den Lizenzschlüssel finden Sie im Bereich Install & Setup.

  • Der einzelne Tag ersetzt den Stub-Tag, den Consent Mode-Standardstatus-Tag und den unten beschriebenen cmp.js-Loader. Fügen Sie diese nicht erneut hinzu.
  • Er setzt einen Consent Mode-Standard mit allen Speicherarten auf „denied" und einem wait_for_update von 3 Sekunden. Wenn Sie eigene Consent Mode-Standards setzen, platzieren Sie diese nach dem Tag, sonst werden sie überschrieben.
  • Der Tag ignoriert sich selbst, wenn das CMP-Skript bereits auf der Seite ist.
  • Verwenden Sie unicReady und unicUpdate, um Ihren Code auszuführen, sobald die Einwilligung endgültig ist. Siehe Consent Ready API.

UniConsent bereits mit dem klassischen zweiteiligen Tag installiert? Er funktioniert weiterhin. Siehe den Abschnitt Klassische Tag-Einrichtung am Ende dieser Seite.

Sie können Show Privacy Settings Button deaktivieren und den folgenden Link auf Ihrer Seite einfügen.

<a href="#" onclick='__unicapi("openunic");return false;'>Consent Settings</a>

Sie können ein DIV auf Ihren Webseiten mit einem CSS-Selektor ansteuern. UniConsent fügt automatisch den Einwilligungseinstellungen-Link innerhalb des DIVs basierend auf dem geografischen Standort und Ihren aktivierten Funktionen ein.

<div id="uniconsent-config"></div>

Sie können das folgende Platzhalter-DIV im Footer Ihrer Webseiten platzieren. UniConsent fügt automatisch den Einwilligungseinstellungen-Link innerhalb des Platzhalters basierend auf dem geografischen Standort und Ihren aktivierten Funktionen ein.

<div id="uniconsent-config"></div>

Installation mit WordPress- und Drupal-Plugin:

Den Lizenzschlüssel finden Sie im Bereich Install & Setup.

Für WordPress WP Rocket-Benutzer

Vermeiden Sie Lazyload für CMP-Tags:

Sie müssen data-nowprocket zu allen Skripten hinzufügen:

<script data-nowprocket data-cfasync="false" src="https://cmp.uniconsent.com/v2/cmp.js" data-license="YOUR_LICENSE"></script>

Außerdem müssen Sie Inline-JavaScript vom Zusammenführen ausschließen:

  1. Melden Sie sich in Ihrem WordPress-Admin-Dashboard an > Settings > WP Rocket.
  2. Klicken Sie auf den Tab File Optimization und scrollen Sie zum Bereich JavaScript Files.
  3. Minify JavaScript files > Exclude JavaScript Files: Geben Sie cmp.uniconsent.com ein.

Wenn Sie die WP Consent API benötigen, fügen Sie den folgenden Tag auf Ihren Seiten ein:

<script data-nowprocket data-cfasync="false" async src="http://cmp.uniconsent.com/v2/wp-consent-api.min.js"></script>

Weitere Informationen finden Sie unter How to enable WP Consent API.

Für Cloudflare Rocket Loader-Benutzer

Sie müssen data-cfasync="false" zu den Skripten hinzufügen:

<script data-nowprocket data-cfasync="false" src="https://cmp.uniconsent.com/v2/cmp.js" data-license="YOUR_LICENSE"></script>

Installation über Google Tag Manager

Eine Anleitung zur Installation von UniConsent über Google Tag Manager finden Sie unter https://www.uniconsent.com/docs/tutorials/gtm-integration.

Performance-Tipp: Vorabverbindung zur CMP-Domain

Fügen Sie die folgenden Tags oben auf Ihren Seiten im <head> vor dem UniConsent-Tag ein. Damit kann der Browser den DNS-Namen frühzeitig auflösen und die Verbindung zu cmp.uniconsent.com öffnen, sodass das CMP-Skript früher geladen wird und das Einwilligungsbanner schneller erscheint.

<link rel='dns-prefetch' href='//cmp.uniconsent.com' />
<link rel="preconnect" href="https://cmp.uniconsent.com" crossorigin>

Wenn Sie die CMP über eine First-Party-CMP-Domain bereitstellen, verwenden Sie Ihre eigene Domain anstelle von cmp.uniconsent.com.

Warum der Tag standardmäßig synchron ist

Der einzelne Tag wird bewusst ohne async geladen. Er wird vor allem anderen auf der Seite ausgeführt, sodass der Google Consent Mode-Standardstatus, die IAB TCF-, USP- und GPP-Stubs sowie die Funktionen unicReady und unicUpdate bereitstehen, bevor Ihre Google-Tags, Werbe-Tags oder Ihr eigener Code ausgeführt werden. Der Tag selbst ist klein und wird zwischengespeichert, die vollständige CMP wird im Hintergrund geladen. Die Auswirkung auf die Ladezeit ist daher minimal. Zusammen mit den Preconnect-Tags oben ergibt das die schnellste Bannerdarstellung, ohne dass Tags vor dem Setzen der Einwilligungsstandards ausgelöst werden.

Wenn Sie den Tag lieber mit async laden möchten

Sie können dem Tag async hinzufügen. Beachten Sie dabei Folgendes:

  • Ihr Inline-Code kann ausgeführt werden, bevor der Tag ausgeführt wurde, sodass unicReady und unicUpdate möglicherweise noch nicht existieren. Fügen Sie den unten gezeigten zweizeiligen Queue-Guard hinzu, damit frühe Aufrufe nach dem Laden des Tags nachgeholt werden.
  • Der Consent Mode-Standardstatus wird möglicherweise erst gesetzt, nachdem Ihre Google-Tags geladen wurden. Setzen Sie entweder den Consent Mode-Standardstatus selbst vor Ihren Google-Tags, oder laden Sie Ihre Google-Tags aus einem unicReady-Callback.
  • Dasselbe gilt für den IAB TCF-Stub. Mit async existiert __tcfapi möglicherweise noch nicht, wenn Ihre Werbe-Tags oder Prebid darauf zugreifen. Fügen Sie entweder den Stub-Tag vor Ihren Werbe-Tags hinzu, oder laden Sie diese aus einem unicReady-Callback.

Integration mit der API beim asynchronen Laden

<script async src="https://cmp.uniconsent.com/v2/cmp.js" data-license="YOUR_LICENSE"></script>
<script>
  window.unicReady  = window.unicReady  || function (cb) { (window.unicReady.q  = window.unicReady.q  || []).push(cb); };
  window.unicUpdate = window.unicUpdate || function (cb) { (window.unicUpdate.q = window.unicUpdate.q || []).push(cb); };

  unicReady(function (status) {
    // Einwilligung ist endgültig: laden Sie hier Ihre Tags
  });

  unicUpdate(function (status) {
    // jede Änderung der Einwilligung
  });
</script>

Sie können auch die DOM-Events unic:ready und unic:update auf window abhören, die vor dem Tag registriert werden. Das Status-Objekt und alle Details finden Sie in der Consent Ready API.

Weiter

Wenn Sie Ihre Drittanbieter-JavaScript-Tags integrieren möchten, gehen Sie bitte zum Bereich Drittanbieter-JavaScript-Tags-Integration.

Einrichtung überprüfen

Sie können die Entwicklerkonsole auf Warnmeldungen überwachen oder den UniConsent Consent Validator verwenden, um sicherzustellen, dass Consent Mode, IAB TCF und IAB GPP-Daten verfügbar sind und korrekt auf Ihren Webseiten übergeben werden.

Überprüfen Sie regelmäßig den Status des Implementierungsaudits in Ihrem Dashboard.

Klassische Tag-Einrichtung (bestehende Installationen)

Dieser Abschnitt gilt für Websites, die UniConsent installiert haben, bevor der einzelne Tag verfügbar war. Der klassische zweiteilige Tag funktioniert weiterhin, eine Migration ist nicht erforderlich. Zum Umstieg entfernen Sie alle unten aufgeführten Tags und fügen den einzelnen Tag vom Anfang dieser Seite hinzu.

Jede Ihrer Websites hat einen eindeutigen JavaScript-Tag, der auf jeder Seite installiert werden muss.

Den UniConsent-Tag finden Sie im Bereich Install & Setup.

Es gibt zwei Teile der Tags. Der erste Teil ist ein Stub, der oben auf Ihrer Seite eingebunden werden sollte. Der zweite Teil kann mit async geladen werden. Die Auswirkung auf die Leistung Ihrer Website ist minimal.

Stub-Codes

Sie können den Stub-Code auch mit dem folgenden JavaScript-Tag laden:

<script src="https://cmp.uniconsent.com/v2/stub.min.js"></script>

Sie können auch den folgenden Code durch den oben genannten Stub-Tag ersetzen, um die Seitengeschwindigkeit zu verbessern:

<script type="text/javascript">
!function(){var e,t,a;e="__tcfapiLocator",t=[],(a=window.frames[e])||(function t(){var n=window.document,i=!!a;if(!i)if(n.body){var o=n.createElement("iframe");o.style.cssText="display:none",o.name=e,n.body.appendChild(o)}else setTimeout(t,50);return!i}(),window.__tcfapi=function(){for(var e,a=[],n=0;n<arguments.length;n++)a[n]=arguments[n];if(!a.length)return t;if("setGdprApplies"===a[0])a.length>3&&2===parseInt(a[1],10)&&"boolean"==typeof a[3]&&(e=a[3],"function"==typeof a[2]&&a[2]("set",!0));else if("ping"===a[0]){var i={gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"};"function"==typeof a[2]&&a[2](i,!0)}else t.push(a)},window.addEventListener("message",(function(e){var t="string"==typeof e.data,a={};try{a=t?JSON.parse(e.data):e.data}catch(e){}var n=a.__tcfapiCall;if(n)try{window.__tcfapi(n.command,n.version,(function(a,i){var o={__tcfapiReturn:{returnValue:a,success:i,callId:n.callId}};t&&(o=JSON.stringify(o)),e.source&&"function"==typeof e.source.postMessage&&e.source.postMessage(o,"*")}),n.parameter)}catch(e){}}),!1))}();
!function(){var e,a,t;e="__uspapiLocator",a=[],(t=window.frames[e])||(function a(){var n=window.document,s=!!t;if(!t)if(n.body){var i=n.createElement("iframe");i.style.cssText="display:none",i.name=e,n.body.appendChild(i)}else setTimeout(a,50);return!s}(),window.__uspapi=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(!e.length)return a;"ping"===e[0]?"function"==typeof e[2]&&e[2]({cmpLoaded:!1,cmpStatus:"stub"},!0):a.push(e)},window.addEventListener("message",(function(e){var a="string"==typeof e.data,t={};try{t=a?JSON.parse(e.data):e.data}catch(e){}var n=t&&t.__uspapiCall;if(n)try{window.__uspapi(n.command,n.version,(function(t,s){var i={__uspapiReturn:{returnValue:t,success:s,callId:n.callId}};a&&(i=JSON.stringify(i)),e.source&&"function"==typeof e.source.postMessage&&e.source.postMessage(i,"*")}),n.parameter)}catch(e){}}),!1))}();
window.__gpp_addFrame=function(e){if(!window.frames[e])if(document.body){var t=document.createElement("iframe");t.style.cssText="display:none",t.name=e,document.body.appendChild(t)}else window.setTimeout(window.__gpp_addFrame,50,e)},window.__gpp_stub=function(){var e=arguments;if(__gpp.queue=__gpp.queue||[],__gpp.events=__gpp.events||[],!e.length||1==e.length&&"queue"==e[0])return __gpp.queue;if(1==e.length&&"events"==e[0])return __gpp.events;var t=e[0],p=e.length>1?e[1]:null,s=e.length>2?e[2]:null;if("ping"===t)p&&p({gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[-1],gppString:"",parsedSections:{}},!0);else if("addEventListener"===t){"lastId"in __gpp||(__gpp.lastId=0),__gpp.lastId++;var n=__gpp.lastId;__gpp.events.push({id:n,callback:p,parameter:s}),p({eventName:"listenerRegistered",listenerId:n,data:!0,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[-1],gppString:"",parsedSections:{}}},!0)}else if("removeEventListener"===t){for(var a=!1,i=0;i<__gpp.events.length;i++)if(__gpp.events[i].id==s){__gpp.events.splice(i,1),a=!0;break}p({eventName:"listenerRemoved",listenerId:s,data:a,pingData:{gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnatv1","8:uscav1","9:usvav1","10:uscov1","11:usutv1","12:usctv1"],cmpId:0,sectionList:[],applicableSections:[-1],gppString:"",parsedSections:{}}},!0)}else"hasSection"===t?p(!1,!0):"getSection"===t||"getField"===t?p(null,!0):__gpp.queue.push([].slice.apply(e))},window.__gpp_msghandler=function(e){var t="string"==typeof e.data;try{var p=t?JSON.parse(e.data):e.data}catch(e){p=null}if("object"==typeof p&&null!==p&&"__gppCall"in p){var s=p.__gppCall;try{window.__gpp(s.command,(function(p,n){var a={__gppReturn:{returnValue:p,success:n,callId:s.callId}};e.source&&"function"==typeof e.source.postMessage&&e.source.postMessage(t?JSON.stringify(a):a,"*")}),"parameter"in s?s.parameter:null,"version"in s?s.version:"1.1")}catch(e){}}},"__gpp"in window&&"function"==typeof window.__gpp||(window.__gpp=window.__gpp_stub,window.addEventListener("message",window.__gpp_msghandler,!1),window.__gpp_addFrame("__gppLocator"));
</script>

Der oben genannte Stub-Code oder -Tag unterstützt die folgenden APIs: IAB TCF API, IAB GPP API, IAB USP API.

Sie können dies oben auf Ihren Seiten einfügen, wenn Sie nicht Google Tag Manager verwenden, aber Consent Mode V2 aktivieren möchten:

<script src="https://cmp.uniconsent.com/v2/stubgcm.min.js"></script>

oder fügen Sie den folgenden Code oben auf Ihren Seiten ein:

<script>
window.gtag||(window.dataLayer=window.dataLayer||[],window.gtag=function(){window.dataLayer.push(arguments)}),window.gtag("set","developer_id.dZTcxZD",!0),window.gtag("consent","default",{ad_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",security_storage:"granted",wait_for_update:3e3}),window.gtag("set","ads_data_redaction",!0),window.gtag("set","url_passthrough",!1);
</script>

Weitere Informationen zur Einrichtung von Google Consent Mode finden Sie unter https://www.uniconsent.com/docs/tutorials/google-consent-mode

WP Rocket- und Cloudflare Rocket Loader-Benutzer mit dem klassischen Tag

Fügen Sie data-nowprocket und data-cfasync="false" zu beiden Skripten hinzu. Die oben beschriebenen WP Rocket-Ausschlusseinstellungen gelten ebenfalls.

<script data-nowprocket data-cfasync="false" src="https://cmp.uniconsent.com/v2/stub.min.js"></script>
<script data-nowprocket data-cfasync="false" async src='https://cmp.uniconsent.com/v2/YOUR_ID/cmp.js'></script>
  1. Google Consent Mode aktiviert, aber Standardstatus-Stub-Code fehlt

    Problem: Möglicherweise wird eine Fehlermeldung im Validator oder in der Entwicklerkonsole angezeigt:

    Error: Consent Mode Default Status is not added.

    Lösung: Fügen Sie den Standardstatus-Stub-Code oben auf Ihren Seiten ein, um dieses Problem zu beheben. Folgen Sie den Anweisungen hier: Consent Mode Default Status Tag Installation.

  2. Google Consent Mode aktiviert, aber Standardstatus-Stub-Code wird nach Google-Tags eingefügt

    Problem: Wenn der Standardstatus-Stub-Code nach Ihren Google-Tags eingefügt wird, sehen Sie möglicherweise die folgende Fehlermeldung im Validator oder in der Entwicklerkonsole:

    Error: Your Google tags are loaded before Consent Mode Default Status and CMP.

    Lösung: Stellen Sie sicher, dass der Standardstatus-Stub-Code ganz oben auf Ihren Seiten eingefügt wird, vor allen Google-Tags. Folgen Sie der Anleitung hier: Consent Mode Default Status Tag Installation.

  3. Google Consent Mode über Google Tag Manager aktiviert, aber nicht alle Google-Tags werden im Google Tag Manager verwaltet

    Problem: Wenn einige Google-Tags nicht im Google Tag Manager verwaltet werden, sehen Sie möglicherweise Fehler, die den oben beschriebenen ähneln.

    Lösung: Fügen Sie entweder den Standardstatus-Stub-Code oben auf Ihren Seiten ein oder stellen Sie sicher, dass alle Ihre Google-Tags innerhalb des Google Tag Manager verwaltet werden. Siehe die Anleitung: Consent Mode Default Status Tag Installation.

  4. IAB TCF-Stub-Code fehlt

    Problem: Der IAB TCF-Stub-Code ist nicht eingebunden, was zu potenziellen Fehlern führt.

    Lösung: Fügen Sie den IAB TCF-Stub-Code oben auf Ihren Seiten ein. Folgen Sie den Anweisungen hier: Stub Codes Installation.

  5. IAB GPP-Stub-Code fehlt

    Problem: Der IAB GPP-Stub-Code fehlt in Ihrer Implementierung.

    Lösung: Binden Sie den IAB GPP-Stub-Code oben auf Ihren Seiten ein. Die entsprechende Anleitung finden Sie hier: Stub Codes Installation.

  6. USP API-Stub-Code fehlt

    Problem: Der IAB USP-Stub-Code ist nicht vorhanden.

    Lösung: Fügen Sie den IAB USP-Stub-Code oben auf Ihren Seiten ein. Detaillierte Anweisungen finden Sie hier: Stub Codes Installation.