Compliant with GDPR, CCPA, COPPA, LGPD, PECR, PDPA, PIPEDA, and more.
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.
UniConsent soporta dos modos de consentimiento. El modo que se aplica depende de la configuracion de su CMP y la region del visitante:
unic-purpose-id con IDs de proposito TCF (1–11).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 usenunic-purpose-idno 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.
| ID de proposito | Descripcion |
|---|---|
| 1 | Estrictamente necesario — Cookies esenciales para la funcionalidad basica del sitio (siempre permitidas) |
| 2 | Rendimiento / Analisis — Cookies de analisis y medicion |
| 3 | Funcionalidad — Cookies para funciones mejoradas y personalizacion |
| 4 | Segmentacion / Publicidad — Cookies para publicidad y seguimiento |
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>
<iframe
data-unicscript
unic-e-purpose-id="2"
width="560"
height="315"
data-src="https://example.com/analytics-widget"
frameborder="0"
></iframe>
| ID de proposito | Descripcion |
|---|---|
| 1 | Almacenar y/o acceder a informacion en un dispositivo |
| 2 | Usar datos limitados para seleccionar publicidad |
| 3 | Crear perfiles para publicidad personalizada |
| 4 | Usar perfiles para seleccionar publicidad personalizada |
| 5 | Crear perfiles para personalizar contenido |
| 6 | Usar perfiles para seleccionar contenido personalizado |
| 7 | Medir el rendimiento de la publicidad |
| 8 | Medir el rendimiento del contenido |
| 9 | Comprender audiencias a traves de estadisticas o combinaciones de datos de diversas fuentes |
| 10 | Desarrollar y mejorar servicios |
| 11 | Usar datos limitados para seleccionar contenido |
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>
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>
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>
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>
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>
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>
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 Google | Tipo del Simple Mode de UniConsent | Proposito |
|---|---|---|
ad_storage | Targeting and Advertising | Habilita cookies de publicidad. |
analytics_storage | Performance | Habilita cookies de analisis. |
functionality_storage | Functionality | Habilita cookies funcionales para la funcionalidad y configuracion del sitio web. |
personalization_storage | Functionality | Habilita cookies funcionales para la personalizacion del usuario. |
security_storage | Strictly Necessary | Habilita cookies necesarias para la seguridad, proteccion y preferencias de interfaz del sitio web. Estas cookies no requieren consentimiento. |
ad_user_data | Targeting and Advertising | Habilita cookies de publicidad y establece el consentimiento para el envio de datos personales a los servicios principales de Google. |
ad_personalization | Targeting and Advertising | Habilita cookies de publicidad para el uso de datos en la personalizacion de anuncios, como el remarketing. |
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>
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).
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>
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.
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.
| Atributo | Requerido | Descripcion |
|---|---|---|
data-unicscript | Si | Marca el div para control de consentimiento |
style="display:none" | Si | Evita 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-message | No | Mensaje personalizado (por defecto: "This content requires your consent to be displayed.") |
unic-consent-button | No | Texto del boton (por defecto: "Accept") |
unic-consent-action | No | "grant" = otorgar consentimiento silenciosamente via API, "open" u omitido = abrir dialogo CMP |
* Se requiere un atributo de proposito.
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.
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 elunic-purpose-idapropiado (ej.unic-purpose-id="1"para almacenamiento en dispositivo,unic-purpose-id="4"para publicidad personalizada).
Contactenos: support@uniconsent.com