Tienes una hoja de Google Sheets con 500, 5.000 o 50.000 contactos y necesitas saber cuáles tienen email válido antes de importarlos a Mailchimp/Klaviyo/Brevo. Aquí las tres formas de hacerlo, según el nivel de profundidad que quieras y el tamaño de tu lista.

Método 1 — Fórmula nativa (sintaxis básica)

Si solo necesitas cazar los emails claramente rotos (sin arroba, con espacios, sin dominio), una fórmula con REGEXMATCH es suficiente:

=IF(REGEXMATCH(A2, "^[^\s@]+@[^\s@]+\.[^\s@]+$"), "OK", "INVÁLIDO")

Arrástrala por toda la columna. En 3 segundos tienes cada fila marcada.

Qué pilla: falta arroba, dominio malformado (@, @.com), espacios, caracteres extraños.

Qué NO pilla: typos en dominio (gmial.com), dominios muertos (terra.es), emails desechables (test@mailinator.com), buzones que no existen aunque el dominio sí.

Coste: 0€. Tiempo: 2 minutos. Suficiente para el 20-30% de la basura obvia.

Método 2 — Google Apps Script (verificación DNS)

Para cazar dominios muertos y typos, necesitas comprobar si el dominio tiene registros MX (o A). Google Sheets no lo hace de fábrica, pero un script pequeño en Apps Script sí.

Pasos:

  1. En tu Sheet: Extensiones → Apps Script.
  2. Pega este código:
function VERIFY_EMAIL_DOMAIN(email) {
  if (!email || typeof email !== "string") return "vacío";
  const trimmed = email.trim().toLowerCase();
  const rx = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  if (!rx.test(trimmed)) return "sintaxis inválida";
  const domain = trimmed.split("@")[1];
  try {
    const url = `https://cloudflare-dns.com/dns-query?name=${encodeURIComponent(domain)}&type=MX`;
    const res = UrlFetchApp.fetch(url, {
      headers: { "Accept": "application/dns-json" },
      muteHttpExceptions: true,
    });
    const json = JSON.parse(res.getContentText());
    if (json.Status === 3) return "dominio no existe";
    if (json.Status !== 0) return "DNS error";
    const hasMX = json.Answer && json.Answer.some(a => a.type === 15);
    if (hasMX) return "OK";
    // Fallback: probar A
    const res2 = UrlFetchApp.fetch(
      `https://cloudflare-dns.com/dns-query?name=${encodeURIComponent(domain)}&type=A`,
      { headers: { "Accept": "application/dns-json" }, muteHttpExceptions: true }
    );
    const j2 = JSON.parse(res2.getContentText());
    const hasA = j2.Answer && j2.Answer.some(a => a.type === 1);
    return hasA ? "OK (solo A)" : "sin MX ni A";
  } catch (e) {
    return "error consulta";
  }
}
  1. Guarda el script (Ctrl+S o botón).
  2. Vuelve a tu Sheet y usa en cualquier celda:
=VERIFY_EMAIL_DOMAIN(A2)

Arrástrala. Puede tardar unos segundos por celda (llamada DNS externa).

Limitaciones:

  • Cuota de UrlFetchApp: Google Apps Script permite ~20.000 llamadas/día en cuentas gratuitas, ~100.000 en Workspace. Para listas más grandes, trocea o usa Método 3.
  • Latencia: cada fórmula tarda 1-3s. Una lista de 5.000 emails puede tardar 15-30 minutos en completarse.
  • Cache: Google puede cachear resultados internamente durante 6h — normal.

Método 3 — Herramienta externa (para volumen o análisis completo)

Para listas de >5.000 emails o si quieres además detectar duplicados (con normalización), desechables (mailinator, yopmail), y estimación económica de la pérdida por lista sucia:

Opción gratis: exporta el CSV desde Google Sheets (Archivo → Descargar → CSV) y súbelo al analizador de ClearRows en clearrows.com/salud. En 30 segundos ves:

  • % de emails inválidos (con DNS de cada dominio)
  • Duplicados por normalización agresiva (Gmail con puntos + alias con +)
  • Desechables detectados
  • Score de salud sobre 100
  • Pérdida estimada al mes por tener la lista sin limpiar

Es gratis para el análisis y el archivo se elimina en 24h. Si decides pagar la limpieza completa, cuesta 67€ hasta 25.000 filas y te llega el CSV listo para reimportar.

Otra opción: el verificador de emails en tu navegador de ClearRows — hasta 500 emails a la vez, todo local, sin subir nada.

Casos prácticos comunes en ecommerce

Antes de una campaña grande (Navidad, Black Friday, aniversario): Exporta tu lista de Shopify/PrestaShop/WooCommerce a Sheets, aplica Método 1 para cazar los rotos, y luego Método 3 para asegurar el resto. Si tu lista tiene >5.000 y +1 año sin limpieza, puedes bajarte del tramo de Klaviyo/Mailchimp y ahorrar 50-100€ ese mes.

Antes de una migración de plataforma: La exportación de la plataforma vieja siempre trae arrastre de años. Método 3 antes de reimportar te evita pagar en la plataforma nueva por contactos que ya no existen.

Formulario nuevo con captura activa: Método 1 dentro del propio formulario (JavaScript en la web) para validar sintaxis antes de aceptar. Un pop-up de captura sin validación acumula spam rápido.

Preguntas frecuentes

¿Por qué no una simple IF(ISERROR(FIND("@", A2)), "MAL", "OK")? Porque no cubre nada más allá de "tiene arroba". Emails como @dominio.com o hola@sin_punto la pasan. La regex del Método 1 es mucho más robusta y también rápida.

¿Puedo llamar a servicios SMTP-level (Bouncer, ZeroBounce) desde Sheets? Sí, tienen APIs REST que se pueden llamar desde Apps Script con UrlFetchApp.fetch. Coste: 8-16$/1.000 emails. Ejemplo con Bouncer:

function BOUNCER_VERIFY(email) {
  const apiKey = "TU_API_KEY";
  const url = `https://api.usebouncer.com/v1.1/email/verify?email=${encodeURIComponent(email)}`;
  const res = UrlFetchApp.fetch(url, {
    headers: { "x-api-key": apiKey },
  });
  const json = JSON.parse(res.getContentText());
  return json.status; // "deliverable", "undeliverable", "risky", "unknown"
}

¿Google Sheets aguanta 100.000 emails con fórmulas? Con dificultad. La UI se pone lenta a partir de ~50.000 filas con fórmulas complejas. Para volumen alto, exporta y usa herramienta externa.

¿Los métodos guardan mis emails en algún sitio? Método 1 (regex): no sale del navegador. Método 2 (GAS): manda solo el dominio a Cloudflare, no el email completo. Método 3 (ClearRows /salud): el CSV se procesa server-side y se elimina en 24h. Método 3 con /herramientas/verificar-email: nunca sale del navegador.


Empieza gratis

Analiza tu lista completa en ClearRows /salud →

30 segundos, sin registro. O usa el verificador rápido para hasta 500 emails si prefieres el navegador.

ClearRows — Barcelona. Datos limpios, ventas reales.