Compliant with GDPR, CCPA, COPPA, LGPD, PECR, PDPA, PIPEDA, and more.
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.
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')
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')
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')
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')
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')
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>
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
}
})
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)
}
})
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
}
})
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
}
}
});
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 });
Abrufen der Audit-Einwilligungs-ID für den Einwilligungsstatus des Nutzers.
__unicapi('getConsentId', 2, (consentId) => {
console.log(consentId);
});
__tcfapi(
'getTCData',
2,
(tcData, success) => {
if (success) {
// do something with tcData
} else {
// do something else
}
},
[1, 2, 3]
) // vendors Ids
__tcfapi('ping', 2, (pingReturn) => {
// do something with pingReturn
})
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)
__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.
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---" */
}
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:
1YY) gesetzt, was bedeutet, dass der Benutzer dem Verkauf personenbezogener Daten nicht zustimmt.usprivacy-Cookie gespeichert.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)
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
}
}
})
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.
| Variable | Bedeutung |
|---|---|
UNIC_IS_LOAD | Wo 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 |
GEO | Region, deren Regeln gelten, zum Beispiel EU, CA, USCA oder USTX |
LOC | Erkannter 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_OTHER | True für den Standort des Besuchers |
US_STATE | Zweistelliger US-Bundesstaatscode des Besuchers, außerhalb der USA leer |
GEO_IS_MSPA | True in einem Bundesstaat, den US State Privacy abdeckt |
TC_STRING | IAB TCF-String |
GPP_STRING | IAB GPP-String |
uspData | US Privacy-String |
MSPA_STRING | US State Privacy-String (IAB GPP-Abschnitt US National) |
GPC | True, wenn der Browser Global Privacy Control sendet |
UNIC_P_1 … UNIC_P_10, UNIC_SF_1, UNIC_SF_2 | IAB TCF-Zwecke und Sonderfunktionen |
UNIC_EP_1 … UNIC_EP_4 | Einwilligungskategorien 1 bis 4 |
UNIC_CP_{id} | Ihre eigenen Zwecke, nach Zweck-ID |
customVendors | Einwilligung für Ihre eigenen Anbieter, nach Anbieter-ID |
CONSENT_MODE | Google 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);
}
});
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);
Kontaktieren Sie uns: support@uniconsent.com
Datenschutzgesetze, Einwilligung und Compliance, ein paar E-Mails im Monat.