Cómo darte de baja de boletines en Gmail (uno por uno o en lote)

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

  1. Abre Gmail en la computadora → menú izquierdo → Más → Gestionar suscripciones (o entra directo a mail.google.com/mail/u/0/#sub).
  2. Revisa la lista: viene ordenada por volumen, así que arriba están los que más te escriben.
  3. En cada uno: Darse de baja → Anular suscripción.
  4. ¿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.

Menú izquierdo de Gmail con «Más» y «Gestionar suscripciones» marcados

Atajo: pega https://mail.google.com/mail/u/0/#sub en el navegador. Si tienes varias cuentas, cambia el 0 por 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.

Lista de suscripciones ordenada por volumen de correos

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@… o marketing@…). 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.

Aviso «Anular suscripción» de Gmail con el botón de confirmar marcado

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.

Mensaje de confirmación «Te has dado de baja de esta lista de distribución»

Tres cosas que conviene saber:

  • No borra lo que ya tenías. Los correos viejos siguen ahí. Si quieres limpiarlos, busca from:remitente@dominio.com y 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.

Consola del navegador con el script y la tabla de resultados ok y manual

Paso a paso para ejecutarlo

A. Arma tu lista (en un editor de texto, no en Gmail)

  1. Copia el script de abajo a un editor: el Bloc de notas o VS Code.
  2. 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',
  3. 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.
  4. Pon solo los que se van. Lo que no esté en la lista no se toca.

Bloc de notas con los correos de ejemplo tachados y tres correos nuevos, uno por línea, entre comillas y con coma

B. Prepara Gmail

  1. En la computadora, abre Chrome y entra a https://mail.google.com/mail/u/0/#sub.
  2. 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.
  3. No toques nada más en esa pestaña mientras corre.

Barra de direcciones con mail.google.com/mail/u/0/#sub y una flecha para bajar hasta el final de la lista

C. Abre la consola

  1. Presiona F12 (o clic derecho → Inspeccionar) y elige la pestaña Console.
  2. 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 ser permitir 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 responde Uncaught SyntaxError: Unexpected identifier 'pasting'. No pasa nada, solo ignóralo.

Pestaña Console abierta con el aviso amarillo de Chrome y «allow pasting» escrito en la consola

D. Ejecuta

  1. 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.
  2. Verás en la página cómo se abre y se confirma cada aviso, uno por uno, unos 3 segundos por remitente.
  3. Al terminar aparece una tabla con el resultado de cada correo.

Script pegado en la consola mientras Gmail muestra el aviso «Anular suscripción» que el script confirma solo

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.

Captura real de Gmail con el script corriendo: aviso «Anular suscripción» abierto y la confirmación «Te has dado de baja de esta lista de distribución»

E. Lee la tabla

Tabla de resultados en la consola con ok, manual y no-esta

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 manual y sigue con el siguiente.

  1. 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.
  2. 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.

Hermes Desktop: «The in-app browser only takes actions in the session the user is looking at» — por qué pasa y cómo lo arreglé
Older post

Hermes Desktop: «The in-app browser only takes actions in the session the user is looking at» — por qué pasa y cómo lo arreglé

El agente de Hermes podía LEER la página del navegador integrado pero se negaba a hacer clic o llenar formularios cuando el chat estaba abierto como pestaña lateral (tile). La causa es un filtro que mira la sesión principal y no la que tienes enfocada. Te cuento cómo lo diagnostiqué, el parche de 20 líneas con sus pruebas y el atajo para salir del paso sin tocar código.

Newer post

UI Component: Electric Neon Cards

Implementación de tarjetas con bordes de energía giratorios utilizando Conic Gradients, Inset y efectos de brillo neón.

UI Component: Electric Neon Cards
raul@wesoft: ~/ficha