Leading Consent Management Platform

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

Gestion de elementos y etiquetas en la pagina con UnicScript

Puede gestionar elementos en la pagina usando UnicScript para cargar etiquetas basadas en el consentimiento del usuario para IDs de proposito especificos o IDs de proveedor personalizados, segun lo definido por los propositos de IAB TCF, los propositos de Consent Categories o los tipos de Google Consent Mode.

Dos modos de consentimiento

UniConsent usa dos tipos de consentimiento, según el tipo de banner y la región del visitante:

  • IAB TCF: los banners de GDPR e IAB TCF Canada. Usa unic-purpose-id con los ID de finalidad IAB TCF (1 a 11).
  • Consent Categories: el banner de categorías de los proyectos Consent Categories y los banners de LGPD (Brasil), PIPL (China), POPIA (Sudáfrica), PDPD (Vietnam) y sus reglas para otros países en cualquier proyecto. Usa unic-e-purpose-id con los ID de categoría (1 a 4).

Qué atributo usar:

AtributoDónde se carga
unic-e-purpose-id, unic-e-purpose-idsEn todas partes. Donde se aplica IAB TCF, las categorías siguen sus finalidades, y tras una exclusión en EE. UU. la categoría 4 queda desactivada.
unic-gcm-id, unic-gcm-idsEn todas partes, según las señales de Google Consent Mode.
unic-cp-id, unic-cp-idsEn todas partes, según sus finalidades personalizadas.
unic-purpose-id, unic-purpose-idsDonde se aplica IAB TCF, con los banners de EE. UU. y donde no se aplica ningún banner. Nunca donde se aplica un banner Consent Categories, ni siquiera tras aceptar.
unic-vendor-idCon IAB TCF, cuando el visitante permite el proveedor personalizado. Con Consent Categories, sigue la categoría 4. Requiere Enable Custom Vendors.

Consejo: para un script que deba funcionar en todas las regiones y con todos los tipos de banner, use unic-e-purpose-id o unic-gcm-id. Los atributos en plural (unic-e-purpose-ids="2,4") solo cargan cuando todos los ID indicados están permitidos.

ID de propositoDescripcion
1Estrictamente necesario — Cookies esenciales para la funcionalidad basica del sitio (siempre permitidas)
2Rendimiento / Analisis — Cookies de analisis y medicion
3Funcionalidad — Cookies para funciones mejoradas y personalizacion
4Segmentacion / Publicidad — Cookies para publicidad y seguimiento

Ejemplo 1: Cargar script para consentimiento de analisis (Consent Categories)

<script type="text/unicscript" unic-e-purpose-id="2">
  console.log('Analytics consent granted');
</script>

Ejemplo 2: Cargar script externo para analisis (Consent Categories)

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

Ejemplo 3: Cargar Google Analytics (gtag.js) con Consent Categories

<script type="text/unicscript" unic-e-purpose-id="2" async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script type="text/unicscript" unic-e-purpose-id="2">
  window.dataLayer = window.dataLayer || [];
  function gtag(){ dataLayer.push(arguments); }
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXX');
</script>

Ejemplo 4: Cargar script para consentimiento de publicidad (Consent Categories)

<script type="text/unicscript" unic-e-purpose-id="4" src="https://example.com/ads.js"></script>
<iframe
  data-unicscript
  unic-e-purpose-id="2"
  width="560"
  height="315"
  data-src="https://example.com/analytics-widget"
  frameborder="0"
></iframe>

Modo IAB TCF

IDs de proposito de IAB TCF

ID de propositoDescripcion
1Almacenar y/o acceder a informacion en un dispositivo
2Usar datos limitados para seleccionar publicidad
3Crear perfiles para publicidad personalizada
4Usar perfiles para seleccionar publicidad personalizada
5Crear perfiles para personalizar contenido
6Usar perfiles para seleccionar contenido personalizado
7Medir el rendimiento de la publicidad
8Medir el rendimiento del contenido
9Comprender audiencias a traves de estadisticas o combinaciones de datos de diversas fuentes
10Desarrollar y mejorar servicios
11Usar datos limitados para seleccionar contenido

Cargar scripts basado en ID de proposito TCF

Puede cargar JavaScript en linea de forma dinamica basandose en el consentimiento para IDs de proposito especificos.

Ejemplo 1: Cargar script para un solo ID de proposito

<script type="text/unicscript" unic-purpose-id="1">
  console.log('Consent granted for purpose 1');
</script>

Ejemplo 2: Cargar script externo con un ID de proposito

<script type="text/unicscript" unic-purpose-id="1" src="path-to-external-script.js"></script>

Cargar JavaScript en linea basado en multiples IDs de proposito

Ejemplo: Cargar script para multiples IDs de proposito

<script type="text/unicscript" unic-purpose-ids="1,2,3">
  console.log('Consent granted for purposes 1, 2, and 3');
</script>

Cargar JavaScript en linea basado en el consentimiento de un ID de proveedor personalizado

Ejemplo:

<script type="text/unicscript" unic-vendor-id="1">
  console.log('hello vendor 1');
</script>

Ejemplo 2:

<script type="text/unicscript" unic-vendor-id="1" src="xxxxx"></script>

Cargar iframes en linea basado en el consentimiento del ID de proposito

Puede cargar iframes de forma dinamica basandose en el consentimiento para un ID de proposito especifico.

Ejemplo: Cargar iframe para un solo ID de proposito

<iframe
  data-unicscript
  unic-purpose-id="1"
  width="560"
  height="315"
  data-src="https://www.youtube.com/embed/XXXX"
  frameborder="0"
  allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
  allowfullscreen
></iframe>

Cargar iframes en linea basado en multiples IDs de proposito

Ejemplo: Cargar iframe para multiples IDs de proposito

<iframe
  data-unicscript
  unic-purpose-ids="1,2,3"
  width="560"
  height="315"
  data-src="https://www.youtube.com/embed/XXXX"
  frameborder="0"
  allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
  allowfullscreen
></iframe>

Cargar iframes en linea basado en el consentimiento de un ID de proveedor personalizado

Ejemplo: Cargar iframe para un solo ID de proveedor

<iframe
  unic-vendor-id="1"
  width="560"
  height="315"
  data-src="https://www.youtube.com/embed/XXXX"
  frameborder="0"
  allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
  allowfullscreen
></iframe>

Cargar JavaScript en linea basado en IDs de proposito personalizados

Puede cargar scripts e iframes basandose en el consentimiento para Custom Purposes usando los atributos unic-cp-id y unic-cp-ids.

Ejemplo 1: Cargar script para un solo ID de proposito personalizado

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

Ejemplo 2: Cargar script externo para un ID de proposito personalizado

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

Ejemplo 3: Cargar script para multiples IDs de proposito personalizados (todos deben tener consentimiento)

<script type="text/unicscript" unic-cp-ids="custom_analytics,ab_testing">
  console.log('Both custom purposes consented');
</script>

Ejemplo 4: Cargar iframe para un ID de proposito personalizado

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

Esta seccion describe como cargar JavaScript en linea basandose en los tipos de consentimiento de Google Consent Mode, combinados con los tipos de consentimiento de Consent Categories de UniConsent.

La siguiente tabla muestra como los distintos tipos de consentimiento de Google Consent Mode se corresponden con los tipos de consentimiento de Consent Categories de UniConsent y sus respectivos propositos:

Tipo de consentimiento de GoogleTipo de Consent Categories de UniConsentProposito
ad_storageTargeting and AdvertisingHabilita cookies de publicidad.
analytics_storagePerformanceHabilita cookies de analisis.
functionality_storageFunctionalityHabilita cookies funcionales para la funcionalidad y configuracion del sitio web.
personalization_storageFunctionalityHabilita cookies funcionales para la personalizacion del usuario.
security_storageStrictly NecessaryHabilita cookies necesarias para la seguridad, proteccion y preferencias de interfaz del sitio web. Estas cookies no requieren consentimiento.
ad_user_dataTargeting and AdvertisingHabilita cookies de publicidad y establece el consentimiento para el envio de datos personales a los servicios principales de Google.
ad_personalizationTargeting and AdvertisingHabilita cookies de publicidad para el uso de datos en la personalizacion de anuncios, como el remarketing.

Ejemplo: Cargar JavaScript en linea

Utilice el siguiente formato para cargar JavaScript en linea basandose en el consentimiento del usuario:

<script type="text/unicscript" unic-gcm-id="functionality_storage">
  console.log('Consent for functionality storage is granted, script is executed.');
</script>

Puede especificar multiples tipos de consentimiento usando el atributo unic-gcm-ids, como se muestra a continuacion:

<script type="text/unicscript" unic-gcm-ids="analytics_storage,ad_user_data">
  console.log('Consent for analytics storage and ad user data is granted, script is executed.');
</script>

Ejemplo: Cargar iframes basado en el consentimiento

Tambien puede aplicar la configuracion de consentimiento a iframes. Aqui tiene un ejemplo:

<iframe data-unicscript unic-gcm-ids="functionality_storage,ad_personalization"
  width="560" height="315"
  data-src="https://www.youtube.com/embed/XXXXXXX"
  frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
  allowfullscreen>
</iframe>

Este ejemplo asegura que el contenido del iframe solo se cargue si se proporciona consentimiento para las categorias especificadas (functionality_storage y ad_personalization).

Gestionar Google Adsense con UnicScript

AdSense lee por sí mismo la elección de IAB TCF del visitante y sirve anuncios no personalizados o limitados cuando no se permiten los anuncios personalizados. En la mayoría de los casos, deje las etiquetas de AdSense como están: bloquearlas también detiene esos anuncios.

Para mostrar AdSense solo a los visitantes que permiten perfiles publicitarios (finalidad 3 de IAB TCF), cambie:

<script
  async
  src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"
  type="text/javascript"
></script>

por:

<script
  async
  src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"
  unic-purpose-id="3"
  type="text/unicscript"
></script>

Después cambie la etiqueta del bloque de anuncios de la página:

<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-XXXXXX" data-ad-slot="XXXXXXX" data-ad-format="auto" data-full-width-responsive="true"></ins>
<script type="text/javascript">
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

por:

<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-XXXXXX" data-ad-slot="XXXXXXX" data-ad-format="auto" data-full-width-responsive="true"></ins>
<script type="text/unicscript" unic-purpose-id="3" >
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>

Bloques de marcador de posicion con consentimiento en linea

Muestre un marcador de posicion en linea con un mensaje personalizado cuando el contenido esta bloqueado por falta de consentimiento. Una vez otorgado el consentimiento, el marcador de posicion desaparece y se revela el contenido original.

Esto es util para contenido incrustado como videos de YouTube, publicaciones de redes sociales, widgets de analisis o scripts de terceros donde desea mostrar a los usuarios por que el contenido esta bloqueado y darles una forma de otorgar consentimiento directamente.

Uso basico

Envuelva su contenido en un <div> con data-unicscript y el atributo de proposito apropiado:

<div data-unicscript
     style="display:none"
     unic-e-purpose-id="2"
     unic-consent-message="Necesitamos su consentimiento para mostrar este contenido."
     unic-consent-button="Permitir">
    <iframe data-src="https://www.youtube.com/embed/XXXX"
            width="560" height="315" allowfullscreen></iframe>
</div>

Importante: Siempre agregue style="display:none" para evitar que el contenido parpadee antes de que se cargue el CMP.

Atributos

AtributoRequeridoDescripcion
data-unicscriptSiMarca el div para control de consentimiento
style="display:none"SiEvita el parpadeo de contenido antes de que se cargue el CMP
unic-purpose-id*ID de proposito IAB TCF individual (ej. "1")
unic-purpose-ids*Multiples IDs de proposito IAB TCF, separados por comas (ej. "1,3,4" — todos deben ser otorgados)
unic-cp-id*ID de proposito personalizado
unic-e-purpose-id*ID de proposito Easy
unic-gcm-id*Senal de Google Consent Mode (ej. "analytics_storage")
unic-vendor-id*ID de proveedor personalizado
unic-consent-messageNoMensaje personalizado (por defecto: "This content requires your consent to be displayed.")
unic-consent-buttonNoTexto del boton (por defecto: "Accept")
unic-consent-actionNo"grant" = otorgar consentimiento silenciosamente via API, "open" u omitido = abrir dialogo CMP

* Se requiere un atributo de proposito.

Bloquear contenido dentro del Div

Iframes — use data-src en lugar de src para evitar la carga antes del consentimiento:

<iframe data-src="https://www.youtube.com/embed/XXXX" width="560" height="315"></iframe>

Scripts — use type="text/plain" para evitar la ejecucion antes del consentimiento:

<script type="text/plain" src="https://example.com/analytics.js"></script>

<script type="text/plain">
    console.log('Esto se ejecuta solo despues de otorgar el consentimiento');
</script>

Cuando se otorga el consentimiento, data-src se copia a src y los scripts con type="text/plain" se activan automaticamente.

Ejemplos de incrustaciones sociales y widgets de terceros

Video de YouTube:

<div data-unicscript
     style="display:none"
     unic-e-purpose-id="4"
     unic-consent-message="Por favor acepte las cookies de publicidad para ver este video."
     unic-consent-button="Aceptar y reproducir"
     unic-consent-action="grant">
    <iframe data-src="https://www.youtube.com/embed/XXXX"
            width="560" height="315" allowfullscreen></iframe>
</div>

Publicacion de X (Twitter):

<div data-unicscript
     style="display:none"
     unic-e-purpose-id="4"
     unic-consent-message="Por favor acepte las cookies para ver esta publicacion de X."
     unic-consent-button="Mostrar publicacion"
     unic-consent-action="grant">
    <blockquote class="twitter-tweet">
        <a href="https://twitter.com/user/status/XXXX"></a>
    </blockquote>
    <script type="text/plain" src="https://platform.twitter.com/widgets.js"></script>
</div>

Publicacion de Instagram:

<div data-unicscript
     style="display:none"
     unic-e-purpose-id="4"
     unic-consent-message="Por favor acepte las cookies para ver esta publicacion de Instagram."
     unic-consent-button="Mostrar publicacion"
     unic-consent-action="grant">
    <blockquote class="instagram-media" data-instgrm-permalink="https://www.instagram.com/p/XXXX/">
    </blockquote>
    <script type="text/plain" src="https://www.instagram.com/embed.js"></script>
</div>

Publicacion de Facebook:

<div data-unicscript
     style="display:none"
     unic-e-purpose-id="4"
     unic-consent-message="Por favor acepte las cookies para ver esta publicacion de Facebook."
     unic-consent-button="Mostrar publicacion"
     unic-consent-action="grant">
    <div class="fb-post" data-href="https://www.facebook.com/user/posts/XXXX"></div>
    <script type="text/plain" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v18.0"></script>
</div>

Video de TikTok:

<div data-unicscript
     style="display:none"
     unic-e-purpose-id="4"
     unic-consent-message="Por favor acepte las cookies para ver este video de TikTok."
     unic-consent-button="Mostrar video"
     unic-consent-action="grant">
    <blockquote class="tiktok-embed" cite="https://www.tiktok.com/@user/video/XXXX">
    </blockquote>
    <script type="text/plain" src="https://www.tiktok.com/embed.js"></script>
</div>

Google Maps:

<div data-unicscript
     style="display:none"
     unic-e-purpose-id="3"
     unic-consent-message="Por favor acepte las cookies para ver el mapa."
     unic-consent-button="Mostrar mapa"
     unic-consent-action="grant">
    <iframe data-src="https://www.google.com/maps/embed?pb=XXXX"
            width="600" height="450" style="border:0;" allowfullscreen loading="lazy"></iframe>
</div>

Comentarios de Disqus:

<div data-unicscript
     style="display:none"
     unic-e-purpose-id="3"
     unic-consent-message="Necesitamos su consentimiento para mostrar los comentarios."
     unic-consent-button="Mostrar comentarios"
     unic-consent-action="grant">
    <div id="disqus_thread"></div>
    <script type="text/plain">
        var disqus_config = function () { this.page.url = PAGE_URL; this.page.identifier = PAGE_IDENTIFIER; };
        (function() { var d = document, s = d.createElement('script');
        s.src = 'https://EXAMPLE.disqus.com/embed.js';
        s.setAttribute('data-timestamp', +new Date());
        (d.head || d.body).appendChild(s); })();
    </script>
</div>

Nota: Los ejemplos anteriores usan unic-e-purpose-id (Consent Categories). Si su sitio usa el modo IAB TCF, reemplace con el unic-purpose-id apropiado (ej. unic-purpose-id="1" para almacenamiento en dispositivo, unic-purpose-id="4" para publicidad personalizada).

Aun tiene preguntas?

Contactenos: support@uniconsent.com

Adelántese en privacidad y consentimiento

Leyes de privacidad, consentimiento y cumplimiento, unos pocos correos al mes.

Sin spam, cancele cuando quiera. Privacidad