Leading Consent Management Platform

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

JavaScript-API

Wenn Sie UniConsent mit dem einzelnen Tag (https://cmp.uniconsent.com/v2/cmp.js) installiert haben, stehen zwei Funktionen zur Verfügung, sobald der Tag ausgeführt wird:

  • unicReady(callback) wird einmal ausgelöst, sobald der Einwilligungsstatus endgültig ist.
  • unicUpdate(callback) wird zeitgleich mit unicReady ausgelöst und danach bei jeder Änderung der Einwilligung.
unicReady(function (status) {
  if (status.UNIC_P_1) {
    loadAnalytics();
  }
});

unicUpdate(function (status) {
  applyConsent(status);
});

Die vollständige Referenz, einschließlich Status-Objekt, DOM-Events und Async-Queue-Guard, finden Sie unter Consent Ready API.

UniConsent CMP v2 API

  • openunic

Die openunic-API wird verwendet, um die Benutzeroberfläche der UniConsent Consent Management Platform (CMP) anzuzeigen. Diese Funktion sollte aufgerufen werden, wenn Sie dem Benutzer die CMP-Oberfläche präsentieren möchten, damit er seine Einwilligungseinstellungen überprüfen und ändern kann.

__unicapi('openunic')
  • agreeAll

Die agreeAll-API wird verwendet, um anzuzeigen, dass der Benutzer allen Einwilligungsoptionen zugestimmt hat. Diese Funktion sollte in Ihrer benutzerdefinierten CMP-Oberfläche programmatisch ausgelöst werden, sobald der Benutzer auf die Schaltfläche „Allen zustimmen" in Ihrer ersten Benutzeroberflächen-Ebene klickt. Diese Aktion signalisiert, dass der Benutzer allen Kategorien der Datenverarbeitung zustimmt.

__unicapi('agreeAll')
  • rejectAll

Die rejectAll-API wird verwendet, um anzuzeigen, dass der Benutzer alle Einwilligungsoptionen abgelehnt hat. Diese Funktion sollte in Ihrer benutzerdefinierten CMP-Oberfläche programmatisch ausgelöst werden, sobald der Benutzer auf die Schaltfläche „Alle ablehnen" in Ihrer ersten Benutzeroberflächen-Ebene klickt. Diese Aktion signalisiert, dass der Benutzer keiner Kategorie der Datenverarbeitung zustimmt.

__unicapi('rejectAll')
  • openOptions

Die openOptions-API wird verwendet, um die zweite Ebene der Benutzeroberfläche der UniConsent Consent Management Platform (CMP) zu öffnen. Diese zweite Ebene bietet Benutzern detailliertere Einwilligungsoptionen und Einstellungen.

__unicapi('openOptions')
  • openVendorList

Die openVendorList-API wird verwendet, um die Anbieterlisten-Oberfläche innerhalb der UniConsent CMP anzuzeigen. Diese Oberfläche bietet Benutzern detaillierte Informationen über Drittanbieter, die ihre Daten verarbeiten könnten.

__unicapi('openVendorList')
  • openCookiesList

Die openCookiesList-API wird verwendet, um die Cookie-Listen-Oberfläche innerhalb der UniConsent CMP anzuzeigen. Diese Oberfläche bietet Benutzern detaillierte Informationen über die auf der Website verwendeten Cookies.

__unicapi('openCookiesList')

Beispiel HTML-Link:

<a class="font-bold underline cursor-pointer" href="javascript:void(0);" onclick="__unicapi('openCookiesList');">Cookies List</a>
  • getUConsent

Abrufen der Einwilligung Ihrer benutzerdefinierten Anbieter, als Anbieter-ID zu true oder false. Gibt false zurück, wenn benutzerdefinierte Anbieter nicht aktiviert sind.

__unicapi('getUConsent', 2, (uConsent, success) => {
  if (success && uConsent && uConsent['1']) {
    // custom vendor 1 is allowed
  }
})
  • getUCData

Abrufen der Einwilligungsdaten Ihrer benutzerdefinierten Anbieter, mit der Einwilligung jedes Anbieters in vendor.consents.

__unicapi('getUCData', 2, (ucData, success) => {
  if (success && ucData.vendor) {
    console.log(ucData.vendor.consents)
  }
})
  • getEConsent

Bei Bannern mit Einwilligungskategorien die vom Besucher erlaubten Kategorien abrufen, als Kategorie-ID (1 bis 4) zu true, zum Beispiel {"1": true, "2": true}. Folgt nicht den IAB TCF-Auswahlen: Für einen Wert, der in jeder Region gesetzt ist, verwenden Sie UNIC_EP_1 bis UNIC_EP_4 aus unicReady und unicUpdate.

__unicapi('getEConsent', 2, (eConsent, success) => {
  if (success && eConsent && eConsent['2']) {
    // category 2 (Performance / Analytics) is allowed
  }
})
  • getCustomConsent

Abrufen des Einwilligungsstatus Ihrer benutzerdefinierten Zwecke.

__unicapi('getCustomConsent', 2, (data, success) => {
  if (success) {
    console.log(data);
    // Example: { "custom_analytics": true, "ab_testing": false }

    if (data['custom_analytics']) {
      // custom analytics consent is granted
    }
  }
});
  • setCustomConsent

Den Einwilligungsstatus Ihrer benutzerdefinierten Zwecke programmatisch setzen. Die übergebenen Werte werden mit dem bestehenden Status zusammengeführt und mit den übrigen Auswahlen des Besuchers gespeichert.

__unicapi('setCustomConsent', 2, { "custom_analytics": true, "ab_testing": false });
  • getConsentId

Abrufen der Audit-Einwilligungs-ID für den Einwilligungsstatus des Nutzers.

__unicapi('getConsentId', 2, (consentId) => {
  console.log(consentId);
});
  • getTCData (veraltet, verwenden Sie addEventListener)
__tcfapi(
  'getTCData',
  2,
  (tcData, success) => {
    if (success) {
      // do something with tcData
    } else {
      // do something else
    }
  },
  [1, 2, 3]
) // vendors Ids
  • ping
__tcfapi('ping', 2, (pingReturn) => {
  // do something with pingReturn
})
  • addEventListener
const callback = (tcData, success) => {
  if (success && (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete')) {
    // do something with tcData.tcString

    // remove the ourself to not get called more than once
    __tcfapi(
      'removeEventListener',
      2,
      (success) => {
        if (success) {
          // oh good...
        }
      },
      tcData.listenerId
    )
  } else {
    // do something else
  }
}

__tcfapi('addEventListener', 2, callback)
  • getVendorList
__tcfapi(
  'getVendorList',
  2,
  (gvl, success) => {
    if (success) {
      // do something with gvl
    } else {
      // do something else
    }
  },
  'LATEST'
)

Die vollständige API-Dokumentation finden Sie unter: IAB TCF Document.

U.S. Privacy User Signal Mechanism „USP API" (CCPA-Compliance-Mechanismus)

  • getUSPData

Abrufen der aktuellen USP-Einwilligungsdaten.

__uspapi('getUSPData', 1, (uspData, success) => {
  if (success) {
    // do something with uspData
  } else {
    // do something else
  }
})

Antwort uspData:

{
 "version": 1, /* number indicating the U.S. Privacy spec version */
 "uspString": "1YNN" /* string; not applicable: "1---" */
}
  • registerDeletion

Registrieren Sie eine Callback-Funktion, die aufgerufen wird, wenn ein Benutzer auf die Schaltfläche „Meine Daten löschen" in der CCPA/USP-Einwilligungsoberfläche klickt. Dies ermöglicht es Publishern, Datenlöschungsanfragen von Benutzern gemäß dem California Consumer Privacy Act (CCPA) zu bearbeiten.

__uspapi('registerDeletion', 1, (param) => {
  // Handle user data deletion request
  // For example: call your backend API to delete user data
  console.log('User requested data deletion');

  // Example: send a deletion request to your server
  fetch('/api/delete-user-data', {
    method: 'POST',
    body: JSON.stringify({ action: 'delete' })
  });
})

Wenn der Benutzer auf „Meine Daten löschen" klickt, werden die folgenden Aktionen nacheinander ausgeführt:

  1. Der registrierte Lösch-Callback wird aufgerufen, damit der Publisher die tatsächliche Datenlöschung durchführen kann.
  2. Die USP-Einwilligung des Benutzers wird auf Opt-out (1YY) gesetzt, was bedeutet, dass der Benutzer dem Verkauf personenbezogener Daten nicht zustimmt.
  3. Der USP-Einwilligungsstring wird im usprivacy-Cookie gespeichert.
  4. Die Einwilligungsoberfläche wird geschlossen.
  • performDeletion

Programmatisches Auslösen des Datenlöschungsvorgangs. Dies ruft den zuvor über registerDeletion registrierten Callback auf und kann zum Erstellen einer benutzerdefinierten Löschoberfläche verwendet werden.

__uspapi('performDeletion', 1, null, param)

Mit dem Start der Anzeigen auf die IAB TCF-Auswahl warten

tcData.unicLoad ist true, sobald die IAB TCF-Auswahl des Besuchers bekannt ist: eine gespeicherte Auswahl beim Laden der Seite oder die gerade getroffene Auswahl, Zustimmung oder Ablehnung. Ihr Anzeigen-Stack liest die Auswahl dann aus dem TC-String. Wo IAB TCF nicht gilt, ist es immer true.

__tcfapi('addEventListener', 2, function (tcData, success) {
  if (success && tcData.unicLoad === true) {
    if (!window._initAds) {
      window._initAds = true
      // your code to start the ads
    }
  }
})

Variablen im unic_data-Event

Das unic_data-Event im Data Layer enthält diese Variablen, die Sie in Google Tag Manager als Datenschichtvariablen lesen können. Es wird beim Laden der Seite und erneut nach jeder Einwilligungsauswahl oder -änderung gesendet. Im Seitencode liefern unicReady und unicUpdate dieselben Einwilligungswerte: siehe Consent Ready API.

VariableBedeutung
UNIC_IS_LOADWo IAB TCF gilt, nur true, wenn der Besucher die Speicherung oder einen benutzerdefinierten Anbieter erlaubt: false vor einer Auswahl und nach einer Ablehnung. Immer true, wo IAB TCF nicht gilt
GEORegion, deren Regeln gelten, zum Beispiel EU, CA, USCA oder USTX
LOCErkannter Standort
GEO_IS_EU, GEO_IS_US, GEO_IS_USCA, GEO_IS_CA, GEO_IS_BR, GEO_IS_CN, GEO_IS_ZA, GEO_IS_APAC, GEO_IS_LATAM, GEO_IS_OTHERTrue für den Standort des Besuchers
US_STATEZweistelliger US-Bundesstaatscode des Besuchers, außerhalb der USA leer
GEO_IS_MSPATrue in einem Bundesstaat, den US State Privacy abdeckt
TC_STRINGIAB TCF-String
GPP_STRINGIAB GPP-String
uspDataUS Privacy-String
MSPA_STRINGUS State Privacy-String (IAB GPP-Abschnitt US National)
GPCTrue, wenn der Browser Global Privacy Control sendet
UNIC_P_1 … UNIC_P_10, UNIC_SF_1, UNIC_SF_2IAB TCF-Zwecke und Sonderfunktionen
UNIC_EP_1 … UNIC_EP_4Einwilligungskategorien 1 bis 4
UNIC_CP_{id}Ihre eigenen Zwecke, nach Zweck-ID
customVendorsEinwilligung für Ihre eigenen Anbieter, nach Anbieter-ID
CONSENT_MODEGoogle Consent Mode-Werte

unic_data wird in den Data Layer geschrieben, bevor unicUpdate ausgeführt wird. In einem unicUpdate-Callback enthält das letzte unic_data-Event daher die aktuellen Google Consent Mode-Werte (wenn Google Consent Mode aktiviert ist):

unicUpdate(function () {
  var events = (window.dataLayer || []).filter(function (e) { return e && e.event === 'unic_data'; });
  var latest = events[events.length - 1];
  if (latest) {
    console.log(latest.CONSENT_MODE);
  }
});

So laden Sie Ihre Webseiten mit UniConsent CMP in einem iFrame

Um Cookies mit SameSite=None; Partitioned; zu synchronisieren, was erforderlich sein kann, wenn Ihre Seite in einem iFrame geladen wird (z. B. in Discord), können Sie den folgenden Code unterhalb Ihres CMP-Tags einfügen.

const callback = (tcData, success) => {
  if (success && tcData.eventStatus === "useractioncomplete") {
    __tcfapi(
      'removeEventListener',
      2,
      (success) => {
        if (success) {
            const date = new Date();
            date.setTime(date.getTime() + (300 * 24 * 60 * 60 * 1000));
            const expires = `expires=${date.toUTCString()}`;
            document.cookie = `euconsent-v2=${tcData.tcString}; ${expires}; path=/; Secure; SameSite=None; Partitioned`;
        }
      },
      tcData.listenerId
    )
  }
}
__tcfapi('addEventListener', 2, callback);

Noch Fragen?

Kontaktieren Sie uns: support@uniconsent.com

Beim Datenschutz immer einen Schritt voraus

Datenschutzgesetze, Einwilligung und Compliance, ein paar E-Mails im Monat.

Kein Spam, jederzeit abbestellbar. Datenschutz