Blokkeer ingesloten content (YouTube, Google Maps, Twitter) tot toestemming van de gebruiker. Gratis GDPR-conforme oplossing voor embeds van derden.
Voor altijd gratis. GDPR-conform. Werkt met alle grote embeds.
Configureer hieronder je tool voor embed-toestemming. Kopieer de gegenereerde code en voeg deze toe aan je website.
Deze content is geblokkeerd totdat je cookies accepteert
<!-- 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: "Deze content is geblokkeerd totdat je cookies accepteert",
buttonText: "Accepteren en content laden",
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 -->Embed-toestemming is een privacymechanisme dat voorkomt dat ingesloten content van derden wordt geladen totdat gebruikers er uitdrukkelijk mee akkoord gaan. Wanneer je content insluit van platforms als YouTube, Google Maps of social media, laden deze embeds vaak automatisch cookies, trackingscripts en andere mechanismen voor gegevensverzameling.
Onder privacyregelgeving zoals de GDPR, de ePrivacy-richtlijn en vergelijkbare wetten wereldwijd heb je toestemming van de gebruiker nodig voordat je deze trackingcontent laadt. Een tool voor embed-toestemming vervangt deze embeds door een placeholder die uitlegt wat er wordt geladen en bevat een knop waarmee gebruikers toestemming kunnen geven.
Zodra toestemming is gegeven, wordt de oorspronkelijke embed normaal geladen. De tool kan deze keuze onthouden, zodat terugkerende bezoekers niet bij elk bezoek opnieuw toestemming hoeven te geven.
Voldoe aan de EU-privacyvereisten door toestemming te verkrijgen voordat je trackingcontent van derden laadt.
Respecteer de privacy van gebruikers door hun gegevens niet automatisch met platforms van derden te delen.
Voorkom mogelijke GDPR-boetes door te zorgen voor de juiste toestemming voor alle trackingtechnologieën.
Laat gebruikers precies zien welke content van derden wordt geladen voordat ze ermee interacteren.
Gebruiker bezoekt een pagina met ingesloten content (YouTube, Maps, enz.)
Script detecteert embeds van geblokkeerde domeinen en vervangt ze door een placeholder
Placeholder toont een aanpasbaar bericht met een toestemmingsknop
Gebruiker klikt op de knop om toestemming te geven en alle embeds te laden
Toestemming wordt opgeslagen in localStorage voor toekomstige bezoeken (indien ingeschakeld)
YouTube, Vimeo en andere video-embeds die trackingcookies plaatsen.
Google Maps-embeds die locatie- en gebruikersgedragsgegevens volgen.
Twitter/X-, Facebook-, Instagram- en andere embeds van socialmediaplatforms.
Stop met het laden van trackingcontent van derden zonder toestemming. Gebruik onze gratis tool voor embed-toestemming om te voldoen aan privacyregelgeving.
Complete cookietoestemmingsoplossing met aanpasbare banner en voorkeuren.
Voeg een link "Verkoop mijn persoonlijke gegevens niet" toe voor naleving in Californië.
Genereer een uitgebreid privacybeleid dat is afgestemd op de behoeften van je bedrijf.