Sitio web personalizado
Implementación avanzada de Consentio para desarrolladores
Implementación básica
Para la implementación básica, simplemente inserta una línea de código:
<script src="https://consentio.cz/widget/YOUR_SCRIPT_KEY/consentio.min.js" async></script>
El widget se inicializa automáticamente y muestra la barra de cookies en la primera carga de página.
Puedes encontrar tu SCRIPT_KEY único en el panel, en Ajustes → Instalación.
lang del elemento
<html> o de la cabecera Accept-Language del navegador.
API de JavaScript
Una vez cargado el widget, el objeto global window.Consentio está disponible para control programático.
Métodos disponibles
| Método | Descripción |
|---|---|
show() |
Muestra el banner de cookies |
hide() |
Oculta el banner de cookies |
showPreferences() |
Muestra la configuración de preferencias |
getConsent() |
Devuelve el estado actual del consentimiento |
updateConsent(updates) |
Actualiza el estado del consentimiento |
onConsentChange(callback) |
Registra un listener para los cambios de consentimiento |
getBlockedScripts() |
Devuelve el número de scripts bloqueados |
getBlockedIframes() |
Devuelve el número de iframes bloqueados |
Mostrar el banner
// Muestra el banner de cookies
Consentio.show()
// Oculta el banner de cookies
Consentio.hide()
// Muestra la configuración de preferencias
Consentio.showPreferences()
Obtener el estado del consentimiento
// Obtiene el estado actual del consentimiento
const consent = Consentio.getConsent()
// { necessary: true, analytics: false, marketing: false, functionality: false }
// Comprueba una categoría específica
if (consent.analytics) {
// Ejecuta los scripts de analítica
loadGoogleAnalytics()
}
if (consent.marketing) {
// Ejecuta los scripts de marketing
loadFacebookPixel()
}
Actualizar el consentimiento
// Actualiza categorías específicas
Consentio.updateConsent({
analytics: true,
marketing: false
})
Listeners de eventos
Reacciona a los cambios de consentimiento con listeners de eventos:
// Opción 1: usando onConsentChange
Consentio.onConsentChange((consent) => {
console.log('Consent changed:', consent)
if (consent.analytics) {
loadGoogleAnalytics()
}
if (consent.marketing) {
loadFacebookPixel()
}
})
// Opción 2: usando un listener de eventos de window
window.addEventListener('consentio:consent', (event) => {
const consent = event.detail
console.log('Consent changed:', consent)
})
Google Consent Mode v2
Consentio es compatible automáticamente con Google Consent Mode v2. Para garantizar el correcto funcionamiento, asegúrate de que el widget se cargue antes que Google Analytics y otros scripts de Google.
<!-- 1. Primero Consentio -->
<script src="https://consentio.cz/widget/YOUR_SCRIPT_KEY/consentio.min.js" async></script>
<!-- 2. Luego la etiqueta de Google -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXX');
</script>
Correspondencia de categorías con Consent Mode
| Categoría de Consentio | Google Consent Mode |
|---|---|
| necessary | functionality_storage, security_storage |
| analytics | analytics_storage |
| marketing | ad_storage, ad_user_data, ad_personalization |
| functionality | personalization_storage |
Bloqueo de scripts
Para bloquear scripts antes de que se otorgue el consentimiento, usa el atributo type="text/plain"
junto con el atributo de datos data-category:
<!-- El script solo se ejecuta tras conceder el consentimiento de analítica -->
<script type="text/plain" data-category="analytics">
// Código de Google Analytics
gtag('config', 'G-XXXXXXX');
</script>
<!-- El script solo se ejecuta tras conceder el consentimiento de marketing -->
<script type="text/plain" data-category="marketing">
// Código de Facebook Pixel
fbq('init', 'XXXXXXX');
</script>
<!-- El script solo se ejecuta tras conceder el consentimiento de funcionalidad -->
<script type="text/plain" data-category="functionality">
// Código de personalización
initPersonalization();
</script>
Categorías disponibles
| Categoría | Descripción |
|---|---|
necessary |
Cookies necesarias (siempre permitidas) |
analytics |
Cookies de analítica |
marketing |
Cookies de marketing |
functionality |
Cookies funcionales para personalización |
Botón para abrir las preferencias
Coloca un botón en tu sitio web para volver a abrir las preferencias de cookies (obligatorio según el RGPD):
<!-- En el pie de página del sitio web -->
<a href="#" onclick="Consentio.showPreferences(); return false;">
Ajustes de cookies
</a>
<!-- O como un botón -->
<button onclick="Consentio.showPreferences()">
Gestionar preferencias de cookies
</button>
Aplicaciones de página única (SPA)
Para React, Vue, Angular y otros frameworks SPA, el widget funciona automáticamente. El widget detecta los cambios de URL y se actualiza según sea necesario.
// Ejemplo: comprobar el estado del consentimiento al cambiar de ruta (Vue Router)
router.afterEach(() => {
if (window.Consentio) {
const consent = Consentio.getConsent()
if (consent.analytics) {
// Los scripts de analítica están permitidos
}
}
})