Bloquea el contenido incrustado (YouTube, Google Maps, Twitter) hasta el consentimiento del usuario. Solución gratuita conforme con el GDPR para incrustaciones de terceros.
Gratis para siempre. Conforme con el GDPR. Funciona con todas las incrustaciones principales.
Configura tu herramienta de consentimiento de incrustaciones a continuación. Copia el código generado y añádelo a tu sitio web.
Este contenido está bloqueado hasta que aceptes las cookies
<!-- Embed Consent Tool by TermsBox - https://termsbox.com/embed-consent -->
<script>
(function() {
'use strict';
var TERMSBOX_EMBED_CONFIG = {
blockedDomains: ["youtube.com","youtu.be","vimeo.com","google.com/maps","maps.google.com"],
placeholderText: "Este contenido está bloqueado hasta que aceptes las cookies",
buttonText: "Aceptar y cargar contenido",
theme: "light",
rememberConsent: true,
consentDays: 30,
storageKey: 'termsbox_embed_consent'
};
function hasConsent() {
if (!TERMSBOX_EMBED_CONFIG.rememberConsent) return false;
try {
var consent = localStorage.getItem(TERMSBOX_EMBED_CONFIG.storageKey);
if (!consent) return false;
var data = JSON.parse(consent);
return data.granted && data.expires > Date.now();
} catch (e) {
return false;
}
}
function saveConsent() {
if (!TERMSBOX_EMBED_CONFIG.rememberConsent) return;
try {
var expires = Date.now() + (TERMSBOX_EMBED_CONFIG.consentDays * 24 * 60 * 60 * 1000);
localStorage.setItem(TERMSBOX_EMBED_CONFIG.storageKey, JSON.stringify({
granted: true,
expires: expires
}));
} catch (e) {
// localStorage not available
}
}
function shouldBlock(src) {
if (!src) return false;
var srcLower = src.toLowerCase();
return TERMSBOX_EMBED_CONFIG.blockedDomains.some(function(domain) {
return srcLower.indexOf(domain) !== -1;
});
}
function createPlaceholder(iframe) {
var placeholder = document.createElement('div');
placeholder.className = 'termsbox-embed-placeholder';
placeholder.style.cssText = 'display:flex;flex-direction:column;align-items:center;justify-content:center;' +
'padding:40px 20px;text-align:center;border-radius:8px;min-height:200px;' +
(TERMSBOX_EMBED_CONFIG.theme === 'dark'
? 'background:#1f2937;color:#f3f4f6;border:1px solid #374151;'
: 'background:#f3f4f6;color:#1f2937;border:1px solid #e5e7eb;');
var icon = document.createElement('div');
icon.innerHTML = '<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="m7 11V7a5 5 0 0 1 10 0v4"/></svg>';
icon.style.cssText = 'margin-bottom:16px;opacity:0.6;';
var text = document.createElement('p');
text.textContent = TERMSBOX_EMBED_CONFIG.placeholderText;
text.style.cssText = 'margin:0 0 16px 0;font-size:14px;max-width:300px;';
var button = document.createElement('button');
button.textContent = TERMSBOX_EMBED_CONFIG.buttonText;
button.style.cssText = 'padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;' +
'border:none;transition:opacity 0.2s;' +
(TERMSBOX_EMBED_CONFIG.theme === 'dark'
? 'background:#3b82f6;color:#ffffff;'
: 'background:#2563eb;color:#ffffff;');
button.onmouseover = function() { this.style.opacity = '0.9'; };
button.onmouseout = function() { this.style.opacity = '1'; };
button.onclick = function() {
saveConsent();
loadAllEmbeds();
};
placeholder.appendChild(icon);
placeholder.appendChild(text);
placeholder.appendChild(button);
return placeholder;
}
function loadAllEmbeds() {
var placeholders = document.querySelectorAll('.termsbox-embed-placeholder');
placeholders.forEach(function(placeholder) {
var iframe = placeholder.termsboxOriginalIframe;
if (iframe && placeholder.parentNode) {
placeholder.parentNode.replaceChild(iframe, placeholder);
}
});
}
function processIframes() {
if (hasConsent()) return;
var iframes = document.querySelectorAll('iframe[src]');
iframes.forEach(function(iframe) {
if (shouldBlock(iframe.src)) {
var placeholder = createPlaceholder(iframe);
placeholder.termsboxOriginalIframe = iframe.cloneNode(true);
if (iframe.width) placeholder.style.width = iframe.width + (isNaN(iframe.width) ? '' : 'px');
if (iframe.height) placeholder.style.height = iframe.height + (isNaN(iframe.height) ? '' : 'px');
iframe.parentNode.replaceChild(placeholder, iframe);
}
});
}
// Run on DOM ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', processIframes);
} else {
processIframes();
}
// Also observe for dynamically added iframes
if (typeof MutationObserver !== 'undefined') {
var observer = new MutationObserver(function(mutations) {
if (!hasConsent()) {
mutations.forEach(function(mutation) {
mutation.addedNodes.forEach(function(node) {
if (node.nodeType === 1) {
if (node.tagName === 'IFRAME' && shouldBlock(node.src)) {
var placeholder = createPlaceholder(node);
placeholder.termsboxOriginalIframe = node.cloneNode(true);
node.parentNode.replaceChild(placeholder, node);
}
// Check child iframes
var childIframes = node.querySelectorAll && node.querySelectorAll('iframe[src]');
if (childIframes) {
childIframes.forEach(function(iframe) {
if (shouldBlock(iframe.src)) {
var p = createPlaceholder(iframe);
p.termsboxOriginalIframe = iframe.cloneNode(true);
iframe.parentNode.replaceChild(p, iframe);
}
});
}
}
});
});
}
});
observer.observe(document.body || document.documentElement, { childList: true, subtree: true });
}
})();
</script>
<!-- Get your free Embed Consent tool at https://termsbox.com/embed-consent -->El consentimiento de incrustaciones es un mecanismo de privacidad que impide que el contenido incrustado de terceros se cargue hasta que los usuarios lo acepten explícitamente. Cuando incrustas contenido de plataformas como YouTube, Google Maps o redes sociales, estas incrustaciones suelen cargar cookies, scripts de rastreo y otros mecanismos de recopilación de datos de forma automática.
Según reglamentos de privacidad como el GDPR, la Directiva ePrivacy y leyes similares en todo el mundo, necesitas el consentimiento del usuario antes de cargar este contenido de rastreo. Una herramienta de consentimiento de incrustaciones reemplaza estas incrustaciones por un marcador de posición que explica qué se cargará e incluye un botón para que los usuarios den su consentimiento.
Una vez dado el consentimiento, la incrustación original se carga con normalidad. La herramienta puede recordar esta elección para que los visitantes que regresan no tengan que volver a dar su consentimiento en cada visita.
Cumple los requisitos de privacidad de la UE obteniendo el consentimiento antes de cargar contenido de rastreo de terceros.
Respeta la privacidad del usuario al no compartir automáticamente sus datos con plataformas de terceros.
Evita posibles multas del GDPR garantizando el consentimiento adecuado para todas las tecnologías de rastreo.
Muestra a los usuarios exactamente qué contenido de terceros se cargará antes de que interactúen con él.
El usuario visita una página con contenido incrustado (YouTube, Maps, etc.)
El script detecta incrustaciones de dominios bloqueados y las reemplaza por un marcador de posición
El marcador de posición muestra un mensaje personalizable con un botón de consentimiento
El usuario hace clic en el botón para dar su consentimiento y cargar todas las incrustaciones
El consentimiento se guarda en localStorage para futuras visitas (si está habilitado)
YouTube, Vimeo y otras incrustaciones de vídeo que instalan cookies de rastreo.
Incrustaciones de Google Maps que rastrean datos de ubicación y de comportamiento del usuario.
Incrustaciones de Twitter/X, Facebook, Instagram y otras plataformas sociales.
Deja de cargar contenido de rastreo de terceros sin consentimiento. Usa nuestra herramienta gratuita de consentimiento de incrustaciones para cumplir los reglamentos de privacidad.
Solución completa de consentimiento de cookies con banner y preferencias personalizables.
Añade un enlace "No vender mi información personal" para el cumplimiento en California.
Genera una política de privacidad completa adaptada a las necesidades de tu empresa.