Propósitos personalizados

Los Propósitos Personalizados le permiten definir sus propios propósitos de consentimiento más allá de los propósitos estándar de IAB TCF y los tipos de Google Consent Mode. Se muestran en la interfaz de consentimiento, se almacenan de forma separada del consentimiento TCF y pueden consultarse mediante la API JavaScript o usarse con la carga de etiquetas UnicScript.

Configuración de Propósitos Personalizados

1. Habilitar Propósitos Personalizados

  1. Inicie sesión en el panel de UniConsent.
  2. Navegue a Consent Collection -> Consent Manager y seleccione su sitio web.
  3. Vaya a Step 4: Advanced Features.
  4. Active Enable Custom Purposes.
  5. Haga clic en Save Changes.

2. Definir Propósitos Personalizados

  1. Después de habilitar, aparecerá una nueva pestaña Custom Purposes.
  2. Haga clic en la pestaña Custom Purposes.
  3. Haga clic en Add Custom Purpose para crear un nuevo propósito.
  4. Complete:
    • Language: Seleccione el idioma que desea editar. El inglés es el idioma predeterminado. Puede agregar traducciones para el nombre y la descripción en otros idiomas soportados por su proyecto.
    • ID: Una cadena identificadora única usando solo letras minúsculas, números y guiones bajos (por ejemplo, custom_analytics, ab_testing, newsletter_tracking). Los espacios se convierten automáticamente en guiones bajos. Este ID se usa en el almacenamiento, dataLayer, carga de etiquetas y consultas de API.
    • Name: El nombre visible que se muestra a los usuarios en la interfaz de consentimiento (por ejemplo, "Custom Analytics"). Al editar un idioma no predeterminado, el nombre en inglés se muestra como marcador de posición.
    • Description: Una descripción que se muestra cuando los usuarios hacen clic en el propósito para más detalles. Al editar un idioma no predeterminado, la descripción en inglés se muestra como marcador de posición.
  5. Haga clic en Save Changes, luego Publish para implementar.

Puede agregar múltiples propósitos personalizados. Cada uno debe tener un ID único.

3. Soporte multiidioma

Los propósitos personalizados soportan traducciones a múltiples idiomas. Para agregar traducciones:

  1. Abra un propósito personalizado existente o cree uno nuevo.
  2. Use el menú desplegable Language en la parte superior del formulario para cambiar de idioma.
  3. Ingrese el Name y la Description traducidos para cada idioma.
  4. El Purpose ID permanece igual en todos los idiomas.
  5. Si no se proporciona una traducción para un idioma, se utilizará el texto en inglés (predeterminado).

Cómo funcionan los Propósitos Personalizados

  • Los propósitos personalizados aparecen en la interfaz de consentimiento junto con los propósitos estándar. Los usuarios pueden activar o desactivar cada uno individualmente.
  • El estado del consentimiento se almacena en una clave de almacenamiento separada (__unic_custom_consent), independiente de las cadenas de consentimiento TCF y Google Consent Mode.
  • Cuando los usuarios hacen clic en "Aceptar todo", todos los propósitos personalizados se otorgan. Cuando hacen clic en "Rechazar todo", todos se deniegan.
  • Los propósitos personalizados funcionan en todos los marcos legales: GDPR, TCF Canada, CCPA, US State Privacy, Simple Mode (EZ), LGPD, PIPL y POPIA.

API JavaScript

Consultar el estado de consentimiento personalizado

Use getCustomConsent para recuperar el estado de consentimiento actual de todos los propósitos personalizados:

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

O usando el alias __unicapi:

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

Establecer el estado de consentimiento personalizado

Use setCustomConsent para establecer programáticamente el estado de consentimiento de los propósitos personalizados:

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

O usando el alias __unicapi:

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

Los valores proporcionados se fusionan con el estado de consentimiento existente y se persisten en localStorage. Solo necesita incluir los propósitos que desea actualizar; los demás propósitos mantendrán sus valores actuales.

Acceso mediante DataLayer

El estado de consentimiento de propósitos personalizados se envía al dataLayer como 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);
  }
})();

Carga de etiquetas con UnicScript

Puede cargar scripts e iframes de forma condicional según el consentimiento de propósitos personalizados utilizando los atributos unic-cp-id y unic-cp-ids.

Cargar script para un solo propósito personalizado

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

Cargar script externo para un propósito personalizado

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

Cargar script para múltiples propósitos personalizados

Todos los propósitos especificados deben tener consentimiento para que el script se cargue:

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

Cargar iframe para un propósito personalizado

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

Cargar iframe para múltiples propósitos personalizados

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

Integración con Google Tag Manager

En GTM, puede usar las variables de dataLayer UNIC_CP_{id} para crear activadores basados en el consentimiento de propósitos personalizados:

  1. Cree una Data Layer Variable en GTM con el nombre UNIC_CP_custom_analytics.
  2. Cree un Trigger que se dispare cuando UNIC_CP_custom_analytics sea igual a true.
  3. Adjunte el activador a las etiquetas que desea controlar.

Almacenamiento

Los datos de consentimiento personalizado se almacenan bajo la clave __unic_custom_consent en localStorage (web) o almacenamiento nativo de clave-valor (aplicaciones móviles). El formato es:

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

Este almacenamiento es independiente de:

  • La cadena de consentimiento TCF (euconsent-v2)
  • Google Consent Mode (__unic_consent_mode)
  • La cadena USP

El consentimiento personalizado se borra cuando los usuarios restablecen su consentimiento a través del CMP.

¿Tiene más preguntas?

Contáctenos: support@uniconsent.com