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 2.3, los propositos de Easy Mode o los tipos de Google Consent Mode.

Dos modos de consentimiento

UniConsent soporta dos modos de consentimiento. El modo que se aplica depende de la configuracion de su CMP y la region del visitante:

  • Modo IAB TCF — Usado para el cumplimiento del GDPR (UE) con el Marco de Transparencia y Consentimiento de IAB. Usa atributos unic-purpose-id con IDs de proposito TCF (1–11).
  • Easy Mode (Modo Simple) — Un modo de consentimiento simplificado para regiones no-TCF como LGPD (Brasil), PIPL (China), POPIA (Sudafrica), o cualquier region donde habilite Easy Mode. Usa atributos unic-e-purpose-id con IDs de proposito Easy (1–4).

Importante: Cuando Easy Mode esta habilitado para una region, solo se procesan los atributos unic-e-purpose-id. Los scripts que usen unic-purpose-id no seran activados. Asegurese de usar el atributo correcto segun la configuracion de su CMP.

Si no esta seguro de que modo se aplica, verifique la configuracion de "Easy Mode" y "Region" en el panel de control de su CMP.

IDs de proposito de Easy Mode

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

Cargar scripts basado en ID de proposito de Easy Mode

Ejemplo 1: Cargar script para consentimiento de analisis (Easy Mode)

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

Ejemplo 2: Cargar script externo para analisis (Easy Mode)

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

Ejemplo 3: Cargar Google Analytics (gtag.js) con Easy Mode

<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 (Easy Mode)

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

Cargar iframes basado en ID de proposito de Easy Mode

<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 2.3

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 del Simple Mode de UniConsent.

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

Tipo de consentimiento de GoogleTipo del Simple Mode 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

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>

Modifique la etiqueta de espacio publicitario de Google Adsense agregada en la pagina, cambie:

<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 (Easy Mode). 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