Mi bandeja tenía más de 1,700 correos sin leer y la mayoría ni siquiera eran para mí: eran boletines de tiendas, bancos, cursos y apps que alguna vez probé. Gmail tiene una pantalla que casi nadie conoce, «Gestionar suscripciones», que junta a todos esos remitentes en una lista y te deja darte de baja con dos clics.
En mi cuenta encontré 100 remitentes. Me quedé con 27 (bancos, cripto, mi proveedor de internet, trabajo y seguridad) y decidí quitar 73. Aquí va el método completo, primero a mano y luego en lote.
TL;DR
- Abre Gmail en la computadora → menú izquierdo → Más → Gestionar suscripciones (o entra directo a
mail.google.com/mail/u/0/#sub). - Revisa la lista: viene ordenada por volumen, así que arriba están los que más te escriben.
- En cada uno: Darse de baja → Anular suscripción.
- ¿Son muchos? Arma tu lista de correos y usa el script de consola del final para hacerlo de una sola vez.
Paso 1 · Encuentra «Gestionar suscripciones»
La opción vive en el menú izquierdo, pero escondida. Da clic en Más (al abrirse cambia a «Menos») y baja hasta Gestionar suscripciones.

Atajo: pega
https://mail.google.com/mail/u/0/#suben el navegador. Si tienes varias cuentas, cambia el0por el número de la cuenta (1,2…).
Paso 2 · Lee la lista antes de borrar nada
Gmail muestra cada remitente con su nombre, su correo y cuántos mensajes te ha mandado últimamente: «Más de 20», «10-20» o «10 o menos». Empieza por los de arriba: son los que más ruido hacen.

Mi consejo es no dar de baja en caliente. Primero copia la lista a una nota y marca cada remitente:
- Se queda: herramientas de trabajo, alertas de seguridad de tu cuenta, avisos de bancos o inversiones (estados de cuenta, movimientos) y cualquier trámite pendiente (un viaje, una compra en camino).
- Se va: promociones de tiendas, marketing de bancos, bolsas de trabajo que ya no usas, cursos, encuestas de satisfacción y apps que dejaste de usar.
Un mismo banco suele escribirte desde varios remitentes: uno para estados de cuenta y otro para promociones (por ejemplo
promos@…omarketing@…). Puedes quitar el de promociones y conservar el de avisos.
Paso 3 · Darse de baja y confirmar
Da clic en Darse de baja junto al remitente. Gmail te pide confirmar con un aviso: presiona Anular suscripción.

Paso 4 · Listo (y lo que no hace)
Abajo a la izquierda aparece «Te has dado de baja de esta lista de distribución» y el remitente desaparece de la lista.

Tres cosas que conviene saber:
- No borra lo que ya tenías. Los correos viejos siguen ahí. Si quieres limpiarlos, busca
from:remitente@dominio.comy elimínalos en bloque. - Puede tardar unos días. Gmail le avisa al remitente, pero cada empresa procesa la baja a su ritmo.
- Los avisos importantes siguen llegando. La baja aplica a las listas de distribución (boletines y promociones), no a correos de tu cuenta como restablecer contraseña o un cargo en tu tarjeta.
Paso 5 · En lote: un script para la consola del navegador
Cuando son 80 remitentes, dar dos clics en cada uno cansa. Este script hace lo mismo que harías a mano, en orden: busca la fila de cada correo de tu lista, da clic en Darse de baja y confirma Anular suscripción. Si un remitente no permite la baja en un clic (Gmail te ofrece ir a su sitio web), no lo toca y te lo marca como manual.

Paso a paso para ejecutarlo
A. Arma tu lista (en un editor de texto, no en Gmail)
- Copia el script de abajo a un editor: el Bloc de notas o VS Code.
- En
const BAJAS = [ … ]borra los dos correos de ejemplo y pon los tuyos, uno por línea, entre comillas simples y con coma al final:'ofertas@tienda.com', - Copia cada correo exactamente como aparece en «Gestionar suscripciones» (el texto gris bajo el nombre). Si le sobra un espacio o una letra, el script no lo encuentra.
- Pon solo los que se van. Lo que no esté en la lista no se toca.

B. Prepara Gmail
- En la computadora, abre Chrome y entra a
https://mail.google.com/mail/u/0/#sub. - Baja hasta el final de la página, por si la lista se carga por partes: el script solo encuentra los remitentes que ya están cargados.
- No toques nada más en esa pestaña mientras corre.

C. Abre la consola
- Presiona F12 (o clic derecho → Inspeccionar) y elige la pestaña Console.
- Solo si al pegar aparece un aviso amarillo, Chrome está bloqueando el pegado: escribe a mano exactamente la frase que pide el aviso (
allow pasting; en Chrome en español puede serpermitir pegar), presiona Enter y vuelve a pegar. Es una protección contra estafas y solo se hace una vez. Si no aparece el aviso, no escribas nada: pega directo. Si la escribes sin aviso, la consola la toma como código y respondeUncaught SyntaxError: Unexpected identifier 'pasting'. No pasa nada, solo ignóralo.

D. Ejecuta
- Copia todo el script ya con tu lista (Ctrl+A, Ctrl+C en el editor), pégalo en la consola (Ctrl+V) y presiona Enter.
- Verás en la página cómo se abre y se confirma cada aviso, uno por uno, unos 3 segundos por remitente.
- Al terminar aparece una tabla con el resultado de cada correo.

Así se ve en la vida real, a media ejecución: el aviso del siguiente remitente ya está abierto y abajo a la izquierda Gmail confirma la baja del anterior.

E. Lee la tabla

| Resultado | Qué significa | Qué hacer |
|---|---|---|
ok |
Baja hecha | Nada |
manual: … |
Ese remitente no permite la baja en un clic | Abre su último correo y usa el enlace «Cancelar suscripción» del pie |
no-esta |
No apareció en la página | Revisa que el correo esté bien escrito, o baja hasta el final y vuelve a correrlo |
sin-boton / sin-dialogo |
Gmail cambió algo o la página iba lenta | Vuelve a correrlo; si sigue, hazlo a mano (Paso 3) |
atorado |
Un aviso no se cerró y el script se detuvo para no seguir de largo | Cierra el aviso a mano (Esc) y vuelve a correrlo |
Lo que aprendí corriéndolo: los remitentes que no permiten baja en un clic abren un aviso distinto, con «Bloquear» e «Ir al sitio web» y sin «Cancelar». La primera versión del script no sabía cerrarlo y se quedó atorada en ese aviso. Esta versión lo cierra con la tecla Escape, lo marca
manualy sigue con el siguiente.
- Puedes correrlo las veces que quieras: los que ya diste de baja desaparecen de la lista y salen como
no-esta, así que no se repite nada. - Cierra la consola con F12 y recarga la página: la lista ya tiene menos remitentes.
// Gmail → «Gestionar suscripciones»: da de baja en lote una lista de remitentes.
// Si el remitente no permite baja en un clic (Gmail ofrece «Ir al sitio web»), NO lo toca: lo deja en «manual».
const BAJAS = [
'ofertas@tienda.example.com',
'promos@banco.example.com',
// ...uno por línea, exactamente como aparece en la lista
];
const espera = ms => new Promise(r => setTimeout(r, ms));
const dialogoVisible = () =>
[...document.querySelectorAll('[role=dialog],[role=alertdialog]')].find(d => d.offsetParent !== null);
const cerrarDialogo = async () => { // «Cancelar» si existe; si no (avisos «Bloquear / Ir al sitio web»), tecla Escape
for (let i = 0; i < 3 && dialogoVisible(); i++) {
const d = dialogoVisible();
const cancelar = [...d.querySelectorAll('button')].find(b => /^(Cancelar|Cancel)$/.test(b.innerText.trim()));
if (cancelar) cancelar.click();
else for (const t of [d, document.activeElement, document.body])
t.dispatchEvent(new KeyboardEvent('keydown', { key: 'Escape', code: 'Escape', keyCode: 27, which: 27, bubbles: true }));
await espera(700);
}
return !dialogoVisible();
};
async function darDeBaja(correo) {
if (!await cerrarDialogo()) return 'atorado';
const fila = [...document.querySelectorAll('tr')]
.find(tr => [...tr.querySelectorAll('*')].some(e => e.children.length === 0 && e.textContent.trim() === correo));
if (!fila) return 'no-esta';
const boton = [...fila.querySelectorAll('button')].find(b => /Darse de baja/.test(b.textContent));
if (!boton) return 'sin-boton';
boton.click();
await espera(1200);
const d = dialogoVisible();
if (!d) return 'sin-dialogo';
const confirmar = [...d.querySelectorAll('button')].find(b => b.innerText.trim() === 'Anular suscripción');
if (!confirmar) {
await cerrarDialogo();
return 'manual: ir al sitio web';
}
confirmar.click();
await espera(2000);
return 'ok';
}
const resultado = {};
for (const correo of BAJAS) {
resultado[correo] = await darDeBaja(correo);
if (resultado[correo] === 'atorado') { console.warn('Un aviso no se cerró: ciérralo a mano y vuelve a correr el script.'); break; }
}
console.table(resultado);
Notas del script:
- Está escrito para Gmail en español (busca los textos «Darse de baja» y «Anular suscripción»). Si tu Gmail está en inglés, cámbialos por «Unsubscribe».
- Va despacio a propósito (unos 3 segundos por remitente) para no adelantarse a la página; 80 remitentes tardan unos 4 minutos. No cierres la pestaña mientras corre.
- Nunca pegues en la consola código que no entiendas. Este solo da clics en la página abierta; no lee tus correos ni manda nada a ningún lado. Léelo antes de usarlo: son 30 líneas.
Resultado
Lo que más tiempo lleva no es dar de baja, sino decidir: con la lista en una nota y cada remitente marcado como «se queda» o «se va», el resto es mecánico, a mano o con el script. La bandeja no se limpia de un día para otro, pero cada semana llegan menos correos que no pediste.