Benutzerdefinierte Zwecke

Benutzerdefinierte Zwecke (Custom Purposes) ermöglichen es Ihnen, eigene Einwilligungszwecke über die standardmäßigen IAB TCF-Zwecke und Google Consent Mode-Typen hinaus zu definieren. Sie werden in der Einwilligungs-UI angezeigt, separat von der TCF-Einwilligung gespeichert und können über die JavaScript API abgefragt oder mit UnicScript-Tag-Loading verwendet werden.

Benutzerdefinierte Zwecke einrichten

1. Benutzerdefinierte Zwecke aktivieren

  1. Melden Sie sich im UniConsent-Dashboard an.
  2. Navigieren Sie zu Consent Collection -> Consent Manager und wählen Sie Ihre Website aus.
  3. Gehen Sie zu Step 4: Advanced Features.
  4. Schalten Sie Enable Custom Purposes auf EIN.
  5. Klicken Sie auf Save Changes.

2. Benutzerdefinierte Zwecke definieren

  1. Nach der Aktivierung erscheint ein neuer Tab Custom Purposes.
  2. Klicken Sie auf den Tab Custom Purposes.
  3. Klicken Sie auf Add Custom Purpose, um einen neuen Zweck zu erstellen.
  4. Füllen Sie folgende Felder aus:
    • Language: Wählen Sie die Sprache, die Sie bearbeiten möchten. Englisch ist die Standardsprache. Sie können Übersetzungen für Name und Beschreibung in anderen von Ihrem Projekt unterstützten Sprachen hinzufügen.
    • ID: Ein eindeutiger Bezeichner aus Kleinbuchstaben, Zahlen und Unterstrichen (z. B. custom_analytics, ab_testing, newsletter_tracking). Leerzeichen werden automatisch in Unterstriche umgewandelt. Diese ID wird in der Speicherung, im dataLayer, beim Tag-Loading und bei API-Abfragen verwendet.
    • Name: Der Anzeigename, der den Nutzern in der Einwilligungs-UI angezeigt wird (z. B. "Benutzerdefinierte Analysen"). Bei der Bearbeitung einer nicht-standardmäßigen Sprache wird der englische Name als Platzhalter angezeigt.
    • Description: Eine Beschreibung, die angezeigt wird, wenn Nutzer für weitere Details auf den Zweck klicken. Bei der Bearbeitung einer nicht-standardmäßigen Sprache wird die englische Beschreibung als Platzhalter angezeigt.
  5. Klicken Sie auf Save Changes und dann auf Publish zur Veröffentlichung.

Sie können mehrere benutzerdefinierte Zwecke hinzufügen. Jeder muss eine eindeutige ID haben.

3. Mehrsprachige Unterstützung

Benutzerdefinierte Zwecke unterstützen mehrsprachige Übersetzungen. So fügen Sie Übersetzungen hinzu:

  1. Öffnen Sie einen bestehenden benutzerdefinierten Zweck oder erstellen Sie einen neuen.
  2. Verwenden Sie das Dropdown-Menü Language oben im Formular, um die Sprache zu wechseln.
  3. Geben Sie den übersetzten Name und die Description für jede Sprache ein.
  4. Die Purpose ID bleibt über alle Sprachen hinweg gleich.
  5. Wenn keine Übersetzung für eine Sprache vorhanden ist, wird der englische (Standard-)Text verwendet.

Wie benutzerdefinierte Zwecke funktionieren

  • Benutzerdefinierte Zwecke erscheinen in der Einwilligungs-UI neben den Standardzwecken. Nutzer können jeden einzeln umschalten.
  • Der Einwilligungsstatus wird in einem separaten Speicherschlüssel (__unic_custom_consent) gespeichert, unabhängig von TCF-Einwilligungsstrings und Google Consent Mode.
  • Wenn Nutzer auf "Alle akzeptieren" klicken, werden alle benutzerdefinierten Zwecke erteilt. Wenn Nutzer auf "Alle ablehnen" klicken, werden alle verweigert.
  • Benutzerdefinierte Zwecke funktionieren mit allen Rechtsrahmen: GDPR, TCF Canada, CCPA, US State Privacy, Simple Mode (EZ), LGPD, PIPL und POPIA.

JavaScript API

Benutzerdefinierten Einwilligungsstatus abfragen

Verwenden Sie getCustomConsent, um den aktuellen Einwilligungsstatus aller benutzerdefinierten Zwecke abzurufen:

__tcfapi('getCustomConsent', 2, function(data, success) {
  if (success) {
    console.log(data);
    // Example output: { "custom_analytics": true, "ab_testing": false }
  }
});

Oder mit dem __unicapi-Alias:

__unicapi('getCustomConsent', 2, function(data, success) {
  if (success) {
    // Check a specific custom purpose
    if (data['custom_analytics']) {
      // Custom analytics consent is granted
    }
  }
});

Benutzerdefinierten Einwilligungsstatus setzen

Verwenden Sie setCustomConsent, um den Einwilligungsstatus benutzerdefinierter Zwecke programmatisch zu setzen:

__tcfapi('setCustomConsent', 2, { "custom_analytics": true, "ab_testing": false });

Oder mit dem __unicapi-Alias:

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

Die angegebenen Werte werden mit dem bestehenden Einwilligungsstatus zusammengeführt und in localStorage gespeichert. Sie müssen nur die Zwecke angeben, die Sie aktualisieren möchten — andere Zwecke behalten ihre aktuellen Werte.

Zugriff über DataLayer

Der Einwilligungsstatus benutzerdefinierter Zwecke wird als UNIC_CP_{id} in den dataLayer gepusht:

// Listen for consent data
(function waitCMP() {
  var readyCMP;
  if (!readyCMP && window['dataLayer']) {
    window['dataLayer'].forEach(function(event) {
      if (event['event'] === 'unic_data') {
        readyCMP = 1;
        console.log(event['UNIC_CP_custom_analytics']); // true or false
        console.log(event['UNIC_CP_ab_testing']);        // true or false
      }
    });
  }
  if (!readyCMP) {
    setTimeout(waitCMP, 100);
  }
})();

UnicScript Tag-Loading

Sie können Skripte und Iframes bedingt basierend auf der Einwilligung für benutzerdefinierte Zwecke laden, indem Sie die Attribute unic-cp-id und unic-cp-ids verwenden.

Skript für einen einzelnen benutzerdefinierten Zweck laden

<script type="text/unicscript" unic-cp-id="custom_analytics">
  console.log('Custom analytics consent granted');
</script>

Externes Skript für einen benutzerdefinierten Zweck laden

<script type="text/unicscript" unic-cp-id="custom_analytics" src="https://example.com/analytics.js"></script>

Skript für mehrere benutzerdefinierte Zwecke laden

Alle angegebenen Zwecke müssen eingewilligt sein, damit das Skript geladen wird:

<script type="text/unicscript" unic-cp-ids="custom_analytics,ab_testing">
  console.log('Both custom analytics and A/B testing consent granted');
</script>

Iframe für einen benutzerdefinierten Zweck laden

<iframe
  data-unicscript
  unic-cp-id="custom_analytics"
  width="560"
  height="315"
  data-src="https://example.com/widget"
  frameborder="0"
></iframe>

Iframe für mehrere benutzerdefinierte Zwecke laden

<iframe
  data-unicscript
  unic-cp-ids="custom_analytics,ab_testing"
  width="560"
  height="315"
  data-src="https://example.com/widget"
  frameborder="0"
></iframe>

Google Tag Manager-Integration

In GTM können Sie die dataLayer-Variablen UNIC_CP_{id} verwenden, um Trigger basierend auf der Einwilligung für benutzerdefinierte Zwecke zu erstellen:

  1. Erstellen Sie eine Data Layer Variable in GTM mit dem Namen UNIC_CP_custom_analytics.
  2. Erstellen Sie einen Trigger, der ausgelöst wird, wenn UNIC_CP_custom_analytics gleich true ist.
  3. Verknüpfen Sie den Trigger mit den Tags, die Sie steuern möchten.

Speicherung

Benutzerdefinierte Einwilligungsdaten werden unter dem Schlüssel __unic_custom_consent in localStorage (Web) oder im nativen Key-Value-Speicher (mobile Apps) gespeichert. Das Format ist:

{
  "custom_analytics": true,
  "ab_testing": false
}

Diese Speicherung ist unabhängig von:

  • TCF-Einwilligungsstring (euconsent-v2)
  • Google Consent Mode (__unic_consent_mode)
  • USP-String

Benutzerdefinierte Einwilligungen werden gelöscht, wenn Nutzer ihre Einwilligung über die CMP zurücksetzen.

Noch Fragen?

Kontaktieren Sie uns: support@uniconsent.com