Saltar al contenido principal

ArtinTech Solution

Auto-Selecting Free Shipping at a Cart Threshold in WooCommerce

«Envío gratis en pedidos superiores a cierto importe» es una de las promociones más habituales del comercio electrónico, y el método Envío gratuito de WooCommerce lo admite de serie: se fija un importe mínimo y el método se habilita cuando el carrito lo alcanza. Lo que WooCommerce no hace es cambiar al cliente a ese método automáticamente.

El hueco en el comportamiento de WooCommerce

Si un cliente ya había elegido una opción de envío de pago antes de que su carrito superara el umbral (por ejemplo, al añadir un artículo más), esa opción de pago sigue seleccionada. WooCommerce solo elige un método de envío por defecto cuando no se ha elegido ninguno en esa sesión; una vez elegido, lo trata como una decisión deliberada y no lo toca, aunque aparezca una opción objetivamente mejor para el cliente.

Dos soluciones, no una, y por qué hacían falta ambas

El primer caso es un cliente que modifica su carrito en la propia página de checkout, aumentando una cantidad con el selector de la página. Marcamos ese evento concreto en el navegador, distinguiéndolo de un clic manual del cliente en otro botón de envío, y solo seleccionamos Envío gratuito cuando ese indicador está activo y el método acaba de estar disponible. Un clic manual posterior en un método de pago no se toca: el indicador solo vuelve a activarse con el siguiente cambio de cantidad, no en cada recálculo.

El segundo caso es un cliente que llega al checkout por primera vez con un carrito que ya cumple el requisito. Para eso, un pequeño filtro en el servidor sobre woocommerce_package_rates establece Envío gratuito como método por defecto, pero solo si todavía no se ha elegido nada en esa sesión. Si ya existe una elección previa, el filtro no hace nada, así que nunca puede anular en silencio la decisión del propio cliente.

Las dos soluciones comparten un principio: elegir por defecto la mejor opción, pero nunca contradecir una elección que el cliente haya hecho realmente.

Conclusiones clave

  • Añadir un método de envío no es lo mismo que convertirlo en el predeterminado: WooCommerce mantiene a propósito la elección existente en la sesión.
  • Distinguir en el navegador entre «el carrito acaba de cambiar» y «el cliente acaba de pulsar una opción de envío» es lo que hace que una selección automática sea segura en lugar de molesta.
  • Un valor por defecto en el servidor solo debe aplicarse a una elección que aún no se ha hecho: comprobarlo de forma explícita cuesta muy poco código y evita un retroceso real en la experiencia de usuario.

Lecturas relacionadas: validar números de móvil en el checkout, nuestro trabajo de desarrollo a medida.

¿Se encuentra con una limitación parecida en su panel de WooCommerce o WordPress? Hablemos: en ArtinTech Solution creamos exactamente este tipo de herramientas a medida para tiendas.

Share this article

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *