Guías5 min de lectura
Cómo permitir que los visitantes retiren el consentimiento de cookies (y qué hacer cuando lo hacen)
El RGPD exige que retirar el consentimiento sea tan fácil como darlo. Cómo diseñar la vía de retirada, detener etiquetas, borrar cookies y actualizar Consent Mode y tus registros.
El RGPD reconoce a todas las personas el derecho a retirar su consentimiento en cualquier momento, y el artículo 7, apartado 3, exige que retirarlo sea tan fácil como darlo. En el caso de las cookies, eso significa un enlace o un icono en todas las páginas que vuelva a abrir las opciones de consentimiento con aproximadamente el mismo número de clics que costó aceptar. Después, el sitio tiene que actuar según la nueva elección: detener las etiquetas, borrar las cookies que instaló, actualizar señales como Google Consent Mode y registrar el cambio.
¿Qué exige la ley?
El artículo 7, apartado 3, del RGPD establece cuatro reglas. Las personas pueden retirar su consentimiento en cualquier momento. La retirada no convierte en ilícito el tratamiento anterior. Hay que informarles de este derecho antes de que den su consentimiento. Y retirarlo debe ser tan fácil como darlo.
Las Directrices 05/2020 del CEPD sobre el consentimiento desarrollan este último punto: cuando el consentimiento se obtiene por medios electrónicos con un solo clic, deslizamiento o pulsación de tecla, las personas deben poder retirarlo con la misma facilidad. Retirarlo tampoco debe acarrear ningún perjuicio, así que un visitante que cambia de opinión no debería perder el acceso al sitio ni verse obligado a pasar por un proceso más largo. Como la Directiva ePrivacy toma del RGPD la definición de consentimiento, las mismas reglas se aplican a las cookies.
¿Qué tan fácil tiene que ser la retirada?
Compara los recorridos. Si aceptar costó un clic en la primera capa del banner, retirar el consentimiento debería costar más o menos un clic para abrir las opciones y otro para guardarlas.
| Vía de retirada | ¿Es tan fácil como dar el consentimiento? |
|---|---|
| Enlace o icono permanente de “Configuración de cookies” en todas las páginas que vuelve a abrir el panel de preferencias | Sí, es el enfoque habitual |
| Un botón “Rechazar todo” o “Retirar el consentimiento” en ese panel | Sí |
| Un enlace solo dentro de la política de cookies | Normalmente no, porque añade pasos |
| Instrucciones para borrar las cookies en la configuración del navegador | No, traslada el trabajo al usuario |
| Una dirección de correo electrónico o un formulario de contacto | No, si el consentimiento se dio con un clic |
Coloca el enlace donde la gente lo busca, normalmente en el pie de página del sitio, y ponle una etiqueta clara. Reutilizar el mismo panel y los mismos controles que el banner original ayuda a reconocerlo. Para saber más sobre el diseño del banner, consulta cómo diseñar un banner de cookies conforme y fácil de usar.
¿Qué debe ocurrir cuando alguien retira su consentimiento?
La retirada tiene que cambiar lo que hace tu sitio, no solo lo que almacena. Sigue estos pasos en orden.
- Guarda la nueva elección. Sobrescribe el estado de consentimiento almacenado para que todas las páginas vistas posteriores lean la retirada.
- Actualiza las señales posteriores. Envía una actualización de Consent Mode con los tipos afectados en
deniedy llama a las API equivalentes de otros proveedores, comofbq('consent', 'revoke')para el Meta Pixel. - Borra tus cookies propias y tu almacenamiento. Elimina las cookies no esenciales y las claves de almacenamiento del navegador que las etiquetas instalaron en tu dominio.
- Recarga la página. El código que ya se ha ejecutado no se puede descargar de la memoria, y algunos scripts mantienen temporizadores, listeners o identificadores en memoria. Recargar es la forma más sencilla de empezar desde cero.
- Avisa a tus servidores. Si usas etiquetado del lado del servidor o envías eventos desde tu backend, transmite también allí el nuevo estado.
- Regístrala. Registra la retirada con una marca de tiempo y la versión del banner, junto con el resto de tus registros de prueba del consentimiento.
- Sincronízala para los usuarios conocidos. Si el visitante ha iniciado sesión y sincronizas el consentimiento entre dispositivos, aplica la retirada a su cuenta.
Los pasos 2 a 4 podrían tener este aspecto:
function withdrawConsent(categories) {
saveConsent(categories); // tu almacén de consentimiento; las categorías ahora son false
gtag('consent', 'update', {
analytics_storage: categories.analytics ? 'granted' : 'denied',
ad_storage: categories.marketing ? 'granted' : 'denied',
ad_user_data: categories.marketing ? 'granted' : 'denied',
ad_personalization: categories.marketing ? 'granted' : 'denied',
});
if (!categories.marketing && window.fbq) fbq('consent', 'revoke');
deleteCookies(/^_ga($|_)/, /^_gcl_/, /^_fbp$/, /^_fbc$/);
localStorage.removeItem('analytics_client_id');
location.reload();
}
¿Cómo borro cookies desde JavaScript?
Vuelve a definir la cookie con el mismo nombre, la misma ruta y el mismo dominio con los que se creó, y con una fecha de caducidad en el pasado. El problema es que document.cookie no indica el dominio ni la ruta de una cookie, así que prueba las combinaciones probables:
function deleteCookies(...patterns) {
const names = document.cookie
.split('; ')
.map((pair) => pair.split('=')[0])
.filter((name) => patterns.some((re) => re.test(name)));
// Las herramientas de analítica suelen instalar cookies en el dominio principal (".example.com")
const labels = location.hostname.split('.');
const domains = [''];
for (let i = 0; i < labels.length - 1; i++) {
domains.push(`; domain=.${labels.slice(i).join('.')}`);
}
for (const name of names) {
for (const domain of domains) {
document.cookie = `${name}=; Max-Age=0; path=/${domain}`;
}
}
}
Conviene conocer tres limitaciones. Las cookies marcadas como HttpOnly no se pueden eliminar desde JavaScript, así que bórralas desde el servidor con una cabecera Set-Cookie. Las cookies definidas con una ruta distinta de / necesitan esa ruta. Y tu sitio no puede borrar en absoluto las cookies del propio dominio de un proveedor, así que lo mejor que puedes hacer es dejar de cargar su código.
¿Qué pasa con los datos ya recogidos?
La retirada no deshace el pasado, pero sí afecta a lo que conservas. Una vez retirado el consentimiento, tienes que dejar de realizar el tratamiento que se basaba en él. Si no tienes otra base jurídica para los datos ya recogidos, el CEPD espera que los elimines, y el derecho de supresión del RGPD cubre la misma situación.
Para los datos de analítica y publicidad que conservan los proveedores, comprueba qué herramientas de eliminación ofrecen, como las API de eliminación de usuarios, e inclúyelas en tu proceso para los usuarios con sesión iniciada cuya identidad conoces. En el caso de los visitantes anónimos, lo que realmente puedes hacer suele ser dejar de recopilar datos.
En resumen
Haz que la retirada sea un recorrido de un clic desde cualquier página y, después, haz que sea efectiva: guarda la elección, actualiza Consent Mode y las API de los proveedores, borra tus cookies propias y tu almacenamiento, recarga, informa a tus servidores y regístrala. No vuelvas a preguntar al visitante de inmediato. Herramientas como Cookiesh incluyen un centro de preferencias donde los visitantes pueden cambiar sus elecciones, envían la actualización de Consent Mode correspondiente y registran cada cambio, incluidas las retiradas.
Este artículo ofrece información general y no constituye asesoramiento jurídico. Para tomar decisiones sobre tu situación concreta, consulta a un profesional cualificado en privacidad.
Preguntas frecuentes
¿Basta con un enlace en la política de cookies para retirar el consentimiento?
Normalmente no. Si el consentimiento se dio con un clic en un banner, obligar a las personas a encontrar una página de política, leerla y después localizar un control es más difícil que dar el consentimiento. Lo habitual es un enlace o un icono permanente que vuelve a abrir el panel de preferencias en todas las páginas.
¿Puedo borrar las cookies de terceros cuando un usuario retira su consentimiento?
No desde tu propio dominio. Los navegadores solo permiten que un sitio borre las cookies de su propio dominio, así que las cookies instaladas en el dominio de un proveedor permanecen hasta que caducan o el proveedor las elimina. Lo que sí puedes hacer es dejar de cargar el código del proveedor para que esas cookies dejen de leerse o renovarse.
¿La retirada hace ilícito el tratamiento anterior?
No. El RGPD establece que la retirada no afecta a la licitud del tratamiento realizado antes de ella. Sin embargo, desde el momento de la retirada debes dejar de realizar el tratamiento basado en el consentimiento.
¿Debo volver a mostrar el banner justo después de que alguien retire su consentimiento?
No. La retirada es una elección como cualquier otra, así que guárdala y respétala. Volver a preguntar en la siguiente página vista es el tipo de insistencia que los reguladores consideran una presión para consentir.
Fuentes
Equipo editorial de Cookiesh
Ingenieros de privacidad y especialistas en cumplimiento normativo que escriben guías prácticas sobre consentimiento, cookies y protección de datos para equipos de producto.