Leading Consent Management Platform

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

Finalità personalizzate

Le finalità personalizzate (Custom Purposes) ti consentono di definire finalità di consenso proprie, oltre alle finalità standard dell'IAB TCF e ai tipi di Google Consent Mode. Vengono mostrate nell'interfaccia del consenso, memorizzate separatamente dal consenso TCF e possono essere interrogate tramite l'API JavaScript o utilizzate con il caricamento dei tag UnicScript.

Configurare le finalità personalizzate

1. Attivare le finalità personalizzate

  1. Accedi alla dashboard di UniConsent.
  2. Vai a Consent Collection -> Consent Manager e seleziona il tuo sito web.
  3. Vai a Step 4: Advanced Features.
  4. Imposta Enable Custom Purposes su ON.
  5. Fai clic su Save Changes.

2. Definire le finalità personalizzate

  1. Dopo l'attivazione, comparirà una nuova scheda Custom Purposes.
  2. Fai clic sulla scheda Custom Purposes.
  3. Fai clic su Add Custom Purpose per creare una nuova finalità.
  4. Compila i campi:
    • Language: seleziona la lingua che vuoi modificare. L'inglese è la lingua predefinita. Puoi aggiungere le traduzioni del nome e della descrizione nelle altre lingue supportate dal tuo progetto.
    • ID: una stringa identificativa univoca composta solo da lettere minuscole, numeri e trattini bassi (ad esempio custom_analytics, ab_testing, newsletter_tracking). Gli spazi vengono convertiti automaticamente in trattini bassi. Questo ID viene utilizzato nella memorizzazione, nel dataLayer, nel caricamento dei tag e nelle query API.
    • Name: il nome visualizzato dagli utenti nell'interfaccia del consenso (ad esempio "Custom Analytics"). Quando modifichi una lingua diversa da quella predefinita, il nome in inglese viene mostrato come segnaposto.
    • Description: una descrizione mostrata quando gli utenti fanno clic sulla finalità per visualizzare maggiori dettagli. Quando modifichi una lingua diversa da quella predefinita, la descrizione in inglese viene mostrata come segnaposto.
  5. Fai clic su Save Changes, quindi su Publish per pubblicare.

Puoi aggiungere più finalità personalizzate. Ognuna deve avere un ID univoco.

3. Supporto multilingue

Le finalità personalizzate supportano le traduzioni in più lingue. Per aggiungere le traduzioni:

  1. Apri una finalità personalizzata esistente o creane una nuova.
  2. Usa il menu a discesa Language nella parte superiore del modulo per cambiare lingua.
  3. Inserisci Name e Description tradotti per ciascuna lingua.
  4. Il Purpose ID resta lo stesso in tutte le lingue.
  5. Se per una lingua non viene fornita una traduzione, verrà utilizzato il testo in inglese (predefinito).

Come funzionano le finalità personalizzate

  • Le finalità personalizzate compaiono nell'interfaccia del consenso accanto alle finalità standard. Gli utenti possono attivarle o disattivarle singolarmente.
  • Lo stato del consenso viene memorizzato in una chiave di archiviazione separata (__unic_custom_consent), indipendente dalle stringhe di consenso TCF e da Google Consent Mode.
  • Quando gli utenti fanno clic su "Agree All", tutte le finalità personalizzate vengono concesse. Quando fanno clic su "Reject All", vengono tutte negate.
  • Le finalità personalizzate funzionano con tutti i quadri normativi: GDPR, TCF Canada, CCPA, US State Privacy, Simple Mode (EZ), LGPD, PIPL e POPIA.

API JavaScript

Interrogare lo stato del consenso personalizzato

Usa getCustomConsent per recuperare lo stato attuale del consenso di tutte le finalità personalizzate:

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

Oppure utilizzando l'alias __unicapi:

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

Impostare lo stato del consenso personalizzato

Usa setCustomConsent per impostare in modo programmatico lo stato del consenso delle finalità personalizzate:

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

Oppure utilizzando l'alias __unicapi:

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

I valori forniti vengono uniti allo stato del consenso esistente e salvati nel localStorage. Devi includere solo le finalità che vuoi aggiornare: le altre manterranno i valori attuali.

Accesso tramite DataLayer

Lo stato del consenso delle finalità personalizzate viene inviato al dataLayer come UNIC_CP_{id}:

// 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);
  }
})();

Caricamento dei tag con UnicScript

Puoi caricare in modo condizionale script e iframe in base al consenso delle finalità personalizzate utilizzando gli attributi unic-cp-id e unic-cp-ids.

Caricare uno script per una singola finalità personalizzata

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

Caricare uno script esterno per una finalità personalizzata

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

Caricare uno script per più finalità personalizzate

Perché lo script venga caricato, deve essere stato concesso il consenso a tutte le finalità specificate:

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

Caricare un iframe per una finalità personalizzata

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

Caricare un iframe per più finalità personalizzate

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

Integrazione con Google Tag Manager

In GTM puoi utilizzare le variabili del dataLayer UNIC_CP_{id} per creare trigger basati sul consenso delle finalità personalizzate:

  1. Crea in GTM una variabile di livello dati (Data Layer Variable) con il nome UNIC_CP_custom_analytics.
  2. Crea un trigger che si attivi quando UNIC_CP_custom_analytics è uguale a true.
  3. Associa il trigger ai tag che vuoi controllare.

Archiviazione

I dati del consenso personalizzato vengono memorizzati nella chiave __unic_custom_consent del localStorage (web) o nell'archiviazione chiave-valore nativa (app mobile). Il formato è:

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

Questa archiviazione è indipendente da:

  • Stringa di consenso TCF (euconsent-v2)
  • Google Consent Mode (__unic_consent_mode)
  • Stringa USP

Il consenso personalizzato viene cancellato quando gli utenti reimpostano il proprio consenso tramite la CMP.

Hai ancora domande?

Contattaci: support@uniconsent.com