Product Craft Bible
Form Abandonment Recovery
Inicio Formularios e Inputs Form Abandonment Recovery
Formularios e Inputs

Form Abandonment Recovery

8 reglas WCAG 2.1 SC 3.3.4 (Error Prevention, AA) · Baymard Institute · NN/G "Form Design"Luke Wroblewski / Etre · A List Apart "Inline Validation in Web Forms"Baymard Institute "Checkout Flow Average Form Fields" (11.3 campos / 8 óptimo · 17% abandona por complejidad)NN/G "Wizard Design Pattern" · Baymard "Holistic View on Checkout Usability"
51

Form Abandonment Recovery

8 reglas
467

Nunca limpies el formulario tras un error de validación

Cuando un formulario falla la validación, todos los campos que el usuario llenó correctamente deben conservarse intactos. Resetear el formulario tras un error es una de las infracciones de UX más caras: el usuario ya invirtió tiempo y energía, y perder ese trabajo lo empuja a no reintentar. La recuperación debe ser quirúrgica: señalar solo el campo problemático, nunca borrar lo demás. WCAG 2.1 SC 3.3.4 lo exige explícitamente para datos legales, financieros o de prueba.

WCAG 2.1 SC 3.3.4 (Error Prevention, AA) · Baymard Institute · NN/G "Form Design"
Preservar datos
Nombre completo
Ana Restrepo
Email
ana@correo.com
Confirmar contraseña
••••••
Las contraseñas no coinciden
Solo el campo con error se señala. Nombre y email se conservan; el usuario corrige y reenvía.
Resetear todo
Nombre completo
En blanco otra vez
Email
En blanco otra vez
Confirmar contraseña
En blanco otra vez
Un error de contraseña borró el formulario entero. El usuario no reintenta y abandona.
468

Valida inline al perder el foco, no solo al hacer submit

La validación inline activada al salir de un campo (on-blur), no mientras se escribe, reduce errores, acorta el tiempo de completado y sube la satisfacción percibida. Validar solo al enviar crea el "muro de errores": el usuario termina todo, hace clic en enviar y recibe una lista de fallos de golpe. En el estudio de LukeW con Etre (22 usuarios, formulario de registro), la variante con validación inline superó a la de solo-submit en +22% de éxito, −22% de errores, +31% de satisfacción, −42% de tiempo y −47% de fijaciones oculares.

Luke Wroblewski / Etre · A List Apart "Inline Validation in Web Forms"
Inline on-blur
Email
ana@correo.com
Formato válido
Contraseña
••••
Mínimo 8 caracteres
Crear cuenta
Muro al enviar
3 errores encontrados
Email con formato inválido
Contraseña demasiado corta
El teléfono es obligatorio
469

Pide solo los campos estrictamente necesarios

El número de campos es el predictor de fricción más directo. Baymard encontró que el checkout promedio tiene 11.3 campos cuando el óptimo es 8, y que el 17% de los usuarios ha abandonado un proceso por considerarlo demasiado largo o complejo. Antes de añadir un campo, la pregunta obligatoria es: ¿necesitamos este dato antes del envío o podemos pedirlo después? Empresa, cargo y teléfono secundario son candidatos habituales a eliminar o mover al onboarding posterior.

Baymard Institute "Checkout Flow Average Form Fields" (11.3 campos / 8 óptimo · 17% abandona por complejidad)
4 campos esenciales
4 campos · el resto se pide en onboarding
Nombre completo Necesario
Email Necesario
Contraseña Necesario
Confirmar contraseña Necesario
10 campos
10 campos · fricción innecesaria
Nombre
Apellido
Empresa Sobra
Cargo Sobra
Teléfono móvil Sobra
Sitio web Sobra
Email
Contraseña
470

Muestra el progreso real: pasos y campos restantes

La incertidumbre sobre cuánto falta es en sí misma causa de abandono. Un indicador de pasos ("Paso 2 de 4") da al usuario la información para decidir si continúa y reduce la ansiedad. NN/G recomienda barras de progreso como práctica estándar en flujos de varios pasos, sobre todo cuando toman más de dos minutos. El antipatrón es una barra que no avanza proporcionalmente o que oculta un paso largo no anticipado: destruye la confianza y puede causar más abandono que no tener barra.

NN/G "Wizard Design Pattern" · Baymard "Holistic View on Checkout Usability"
Horizonte claro
Paso 2 de 4 Información de pago · ~1 min
Datos Pago Envío Confirmar
En el siguiente paso necesitarás tu número de documento. Tenlo a mano.
Sin horizonte
Barra atascada al 12% y, sin aviso, aparece un campo de "documentación adicional" que el usuario no anticipaba.
471

Ofrece "guardar y continuar después" en formularios largos

Los formularios largos (solicitudes de crédito, inscripciones, formularios médicos) suelen abandonarse por interrupciones externas, no por falta de intención. Una opción explícita de "guardar y continuar después" que envíe un enlace de reanudación al email elimina el costo de empezar de cero, y el enlace debe retomar exactamente en el campo donde el usuario se quedó. Baymard recomienda explícitamente permitir "continue where they left off" tras una sesión interrumpida, sobre todo en flujos móviles.

Baymard Institute "Checkout Usability" · criterio de craft (tasas de recuperación de vendors 20-60%, no verificadas)
Guardar y retomar
Solicitud de crédito Paso 6 de 8
¿Guardar y continuar después?
Te enviamos un enlace que retoma justo en el paso 6 con todo precargado.
ana@correo.com Enviar enlace
Empezar de cero
Tu sesión expiró
Llegaste al paso 6, te interrumpieron, y al volver debes empezar otra vez desde el paso 1. Sin opción de guardar, el usuario abandona.
472

El email de recuperación es opt-in y se envía en la primera hora

Un email de recuperación enviado dentro de los primeros 30 a 60 minutos es relevante: el usuario recuerda lo que hacía y la intención sigue activa; pasadas 24 horas el contexto se enfría. La línea ética es clara: el email solo puede usarse si el usuario lo proporcionó voluntariamente para ese fin en el mismo formulario, nunca inferido o capturado de forma furtiva. El patrón correcto es un checkbox explícito de opt-in junto al campo de email; sin esa marca, no hay email.

Criterio de craft · vendors reportan timing óptimo ~30 min / conversión de secuencia ~10.7% (Rejoiner, Campaign Monitor; no verificadas)
Opt-in explícito
Email
ana@correo.com
Avísame si no termino mi solicitud y envíame un enlace para continuar. Solo con esta casilla marcada llega el recordatorio, en los primeros 30 minutos.
Captura furtiva
noreply@tienda.com · hace 3 días
¡Olvidaste completar tu solicitud!
Email capturado en el paso 1 sin consentimiento de recuperación, y enviado 3 días tarde. Viola la expectativa del usuario.
473

El exit-intent solo vale si ofrece ayuda real, sin confirm-shaming

El popup de salida puede ser una última oportunidad legítima: recordar ítems guardados, ofrecer asistencia o extender la sesión. Se vuelve dark pattern cuando usa confirm-shaming ("No, prefiero perder mi progreso"), se dispara en cada visita, o bloquea la salida. NN/G los clasifica como "needy patterns": no son oscuros por diseño, pero dañan la confianza porque no distinguen entre quien cierra la pestaña y quien solo cambia de tab. La alternativa honesta es ayuda contextual discreta, no un modal con falsa amenaza de pérdida.

NN/G "Needy Design Patterns" · Crazy Egg "Exit Popup" (criterio)
Ayuda discreta
¿Necesitas ayuda?
Puedes guardar tu progreso y retomar cuando quieras.
Confirm-shaming
¡Espera! ¿Seguro que quieres irte?
Si te vas ahora perderás todo tu progreso.
Sí, completar ahora
No, prefiero perder mi progreso
474

Protege los datos contra la expiración de sesión

La expiración silenciosa es de las frustraciones más caras: el usuario invierte diez minutos, hace clic en enviar y recibe una pantalla de login; al volver, el formulario está vacío. La solución es doble: guardar el estado en localStorage de forma continua (auto-save) y, si hay sesión de servidor, advertir antes de que expire con opción de extender. WCAG 2.2 lo respalda: el SC 2.2.1 (Timing Adjustable, A) exige avisar y permitir extender antes de un timeout, y la pérdida de datos por expiración es un problema de accesibilidad documentado. El borrador local es la segunda línea de defensa.

WCAG 2.1/2.2 SC 2.2.1 (Timing Adjustable, A) · MDN "Window.localStorage"
Dos defensas
Tu sesión expira en 3 minutos
Extiéndela para no perder lo que llevas.
Extender
Detectamos un borrador guardado
Auto-guardado en este dispositivo. ¿Retomar?
Retomar
Datos perdidos
Sesión expirada sin aviso · 10 minutos de trabajo perdidos
Nombre, vacío
Dirección, vacío
Documento, vacío