Leading Consent Management Platform

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

JavaScript API

Si instalo UniConsent con la etiqueta unica (https://cmp.uniconsent.com/v2/cmp.js), dos funciones estan disponibles en cuanto se ejecuta la etiqueta:

  • unicReady(callback) se dispara una vez, cuando el estado del consentimiento es definitivo.
  • unicUpdate(callback) se dispara al mismo tiempo que unicReady, y de nuevo tras cada cambio de consentimiento.
unicReady(function (status) {
  if (status.UNIC_P_1) {
    loadAnalytics();
  }
});

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

Consulte la referencia completa, incluido el objeto de estado, los eventos DOM y la proteccion de cola asincrona, en API Consent Ready.

API de UniConsent CMP v2

  • openunic

La API openunic se utiliza para mostrar la interfaz de usuario (UI) de la plataforma de gestión de consentimiento (CMP) de UniConsent a los usuarios. Esta función debe llamarse cuando necesite presentar la interfaz del CMP al usuario, permitiéndole revisar y modificar sus preferencias de consentimiento.

__unicapi('openunic')
  • agreeAll

La API agreeAll se utiliza para indicar que el usuario ha aceptado todas las opciones de consentimiento. Esta función debe activarse programáticamente en la interfaz personalizada de su plataforma de gestión de consentimiento (CMP) cuando el usuario haga clic en el botón "Aceptar todo" en la primera capa de la interfaz de usuario (UI). Esta acción indica que el usuario consiente todas las categorías de procesamiento de datos.

__unicapi('agreeAll')
  • rejectAll

La API rejectAll se utiliza para indicar que el usuario ha rechazado todas las opciones de consentimiento. Esta función debe activarse programáticamente en la interfaz personalizada de su plataforma de gestión de consentimiento (CMP) cuando el usuario haga clic en el botón "Rechazar todo" en la primera capa de la interfaz de usuario (UI). Esta acción indica que el usuario no consiente ninguna categoría de procesamiento de datos.

__unicapi('rejectAll')
  • openOptions

La API openOptions se utiliza para abrir la segunda capa de la interfaz de usuario (UI) de la plataforma de gestión de consentimiento (CMP) de UniConsent. Esta segunda capa proporciona a los usuarios opciones de consentimiento y configuraciones más detalladas.

__unicapi('openOptions')
  • openVendorList

La API openVendorList se utiliza para mostrar la interfaz de usuario (UI) de la lista de proveedores dentro del CMP de UniConsent. Esta UI proporciona a los usuarios información detallada sobre los proveedores de terceros que pueden procesar sus datos.

__unicapi('openVendorList')
  • openCookiesList

La API openCookiesList se utiliza para mostrar la interfaz de usuario (UI) de la lista de cookies dentro del CMP de UniConsent. Esta UI proporciona a los usuarios información detallada sobre las cookies utilizadas en el sitio web.

__unicapi('openCookiesList')

Ejemplo de enlace HTML:

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

Obtenga el consentimiento de sus proveedores personalizados, como ID de proveedor a true o false. Devuelve false cuando los proveedores personalizados no están activados.

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

Obtenga los datos de consentimiento de sus proveedores personalizados, con el consentimiento de cada proveedor en vendor.consents.

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

En los banners de categorías de consentimiento, obtenga las categorías que permite el visitante, como ID de categoría (1 a 4) a true, por ejemplo {"1": true, "2": true}. No sigue las elecciones de IAB TCF: para un valor definido en todas las regiones, use UNIC_EP_1 a UNIC_EP_4 de unicReady y unicUpdate.

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

Obtenga el estado de consentimiento de sus finalidades personalizadas.

__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

Defina por programación el estado de consentimiento de sus finalidades personalizadas. Los valores indicados se combinan con el estado existente y se guardan con las demás elecciones del visitante.

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

Obtenga el ID de consentimiento de auditoría del estado de consentimiento del usuario.

__unicapi('getConsentId', 2, (consentId) => {
  console.log(consentId);
});

API de la plataforma de gestión de consentimiento IAB TCF V2

  • getTCData (obsoleto, use 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'
)

Puede encontrar toda la API en: IAB TCF Document.

Mecanismo de señal de privacidad del usuario de EE. UU. "USP API" (Mecanismo de cumplimiento CCPA)

  • getUSPData

Obtiene los datos de consentimiento USP actuales.

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

Respuesta uspData:

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

Registra una función de callback que se invocará cuando un usuario haga clic en el botón "Delete My Data" en la interfaz de consentimiento CCPA/USP. Esto permite a los editores gestionar las solicitudes de eliminación de datos del usuario según lo requerido por la California Consumer Privacy Act (CCPA).

__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' })
  });
})

Cuando el usuario hace clic en "Delete My Data", se ejecutan las siguientes acciones en secuencia:

  1. Se invoca el callback de eliminación registrado, permitiendo al editor realizar la eliminación real de los datos.
  2. El consentimiento USP del usuario se establece como opt-out (1YY), indicando que el usuario no consiente la venta de datos personales.
  3. La cadena de consentimiento USP se guarda en la cookie usprivacy.
  4. La interfaz de consentimiento se cierra.
  • performDeletion

Activa programáticamente el flujo de eliminación de datos. Esto llama al callback previamente registrado mediante registerDeletion y puede usarse para construir una interfaz de eliminación personalizada.

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

Esperar a la elección de IAB TCF antes de iniciar los anuncios

tcData.unicLoad es true en cuanto se conoce la elección de IAB TCF del visitante: una elección guardada al cargar la página, o la elección recién hecha, de aceptación o rechazo. Su pila publicitaria lee entonces la elección de la cadena TC. Donde no se aplica IAB TCF, siempre es true.

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

Variables del evento unic_data

El evento unic_data de la capa de datos incluye estas variables, que puede leer en Google Tag Manager como variables de la capa de datos. Se envía al cargar la página y de nuevo tras cada elección o cambio de consentimiento. En el código de la página, unicReady y unicUpdate dan los mismos valores de consentimiento: consulte Consent Ready API.

VariableSignificado
UNIC_IS_LOADDonde se aplica IAB TCF, solo es true cuando el visitante permite el almacenamiento o algún proveedor personalizado: false antes de una elección y tras un rechazo. Siempre true donde no se aplica IAB TCF
GEORegión cuyas reglas se aplican, por ejemplo EU, CA, USCA o USTX
LOCUbicación detectada
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 para la ubicación del visitante
US_STATECódigo de dos letras del estado de EE. UU. del visitante, vacío fuera de EE. UU.
GEO_IS_MSPATrue en un estado cubierto por US State Privacy
TC_STRINGCadena IAB TCF
GPP_STRINGCadena IAB GPP
uspDataCadena US Privacy
MSPA_STRINGCadena US State Privacy (sección IAB GPP US National)
GPCTrue cuando el navegador envía Global Privacy Control
UNIC_P_1 … UNIC_P_10, UNIC_SF_1, UNIC_SF_2Finalidades y funciones especiales IAB TCF
UNIC_EP_1 … UNIC_EP_4Categorías de consentimiento 1 a 4
UNIC_CP_{id}Sus finalidades personalizadas, por ID de finalidad
customVendorsConsentimiento de sus proveedores personalizados, por ID de proveedor
CONSENT_MODEValores de Google Consent Mode

unic_data se envía a la capa de datos antes de que se ejecute unicUpdate, así que en una función de unicUpdate el último evento unic_data tiene los valores actuales de Google Consent Mode (cuando Google Consent Mode está activado):

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

Cómo cargar sus páginas web con UniConsent CMP en un iFrame

Para sincronizar cookies con SameSite=None; Partitioned;, lo cual puede ser necesario cuando su página se carga en un iFrame (como en Discord), puede agregar el siguiente código debajo de su etiqueta CMP.

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);

¿Aún tiene preguntas?

Contáctenos: support@uniconsent.com