Es posible que si tienes o vas a crear una tienda online con WooCommerce necesites una configuración de los métodos de envío en los que los portes se deban calcular en función del peso total de la compra o del importe total de los productos añadidos al carrito. Esta opción de configuración no viene incluida por defecto en WooCommerce.
¡No te preocupes! Como en tantas otras ocasiones, los plugins de WordPress vienen al rescate, y dispondremos de multitud de opciones para configurar los gastos de envío por peso o importe total.
En este artículo repasaré el funcionamiento del plugin gratuito Table Rate for WooCommerce by Flexible Shipping, que se adaptará perfectamente a lo que estamos buscando. Por supuesto, con otros plugins podrás conseguir lo mismo, pero me quedo con esta opción al parecerme la mejor.
Si necesitas más información sobre el manejo de WooCommerce te recomiendo revisar nuestro tutorial sobre cómo crear una tienda online con WordPress y WooCommerce.
Índice del artículo
Configuración de los métodos de envío por defecto en WooCommerce
Antes de ver cómo configurar los portes de envío según peso en WooCommerce voy a repasar qué opciones para calcular los gastos de envío incluye el propio WooCommerce, sin plugins adicionales.
Con WooCommerce dispondrás de la posiblidad de fijar distintos portes de envío en función de la dirección de envío, en concreto de los países y provincias, o por el rango de códigos postales. Para ello se podrán crear distintas zonas de envío, y asígnar para cada una de ellas las regiones que tendrá asignadas.
Además, para cada zona de envío se podrán asociar diversos métodos de envío: precio fijo, envío gratuito y recogida local. Esto permitirá a los visitantes de la tienda online elegir el método de envío que quiera.
Adicionalmente, WooCommerce cuenta con la opción de crear clases de envío. Estas sirven para agrupar productos del mismo tipo, de forma que podrás poner diferentes tarifas de envío en función del tipo de producto.
Como has podido ver, en su configuración no hay rastro de poder establecer los portes de envío en función del peso o importe total de los productos añadidos al carrito de compra. Esto se podrá hacer con el plugin Table Rate for WooCommerce by Flexible Shipping.
Instalar plugin Table Rate for WooCommerce para configurar los portes de envío
El plugin se instalará de la misma forma que cualquier otro plugin de WordPress. Vete en la administración a Plugins > Añadir nuevo. En la caja de búsqueda escribe «Table Rate for WooCommerce by Flexible Shipping» y espera a que se muestren los resultados. Verás que ya aparece el plugin.
¿Buscas hosting para tu web?
Hemos analizado las mejores opciones. Revisa nuestro artículo para descubrir el mejor hosting en España.
Aprovecha nuestros descuentos en la contratación:
- Webempresa con 25% de descuento exclusivo: el mejor valorado.
- Siteground con 60% de descuento: buena relación calidad-precio.
- Raiola Networks con 10% de descuento: el más barato.
Ahora simplemente deberás pulsar en el botón Instalar ahora y esperar unos segundos que finalice el proceso. Cuando haya terminado, pulsa el botón Activar para comenzar a utilizar el plugin.
Si ahora vas a WooCommerce > Ajustes y pulsas en la pestaña Envío ya verás un nuevo enlace Flexible Shipping Info. Aquí tendrás disponible un vídeo tutorial con instrucciones sobre cómo configurar el plugin.
En la parte inferior se mostrarán los parámetros avanzados. Con Debug mode se podrá activar el modo de prueba. Esto solo será necesario si tienes errores en los cálculos de los portes de envío, o estos no se cargan. Por defecto debe estar desactivado.
El otro parámetro Rules table permite cambiar la forma de configurar los portes de envío por rangos de peso o importe. Te recomiendo activar Enable New Table Interface y guardar los cambios.
Configurar los gastos de envío por peso en WooCommerce
En primer lugar vamos a ver cómo definir los gastos de envío en función del peso total de los artículos añadidos al carro de compra. Para ello vete a WooCommerce > Ajustes y entra en la pestaña Envío. Por defecto ya te encontrarás en el apartado Zonas de envío.
El nuevo método de pago según peso se asociará con las zonas de envío. Si ya tienes las zonas creadas lo podrás asociar con ellas. Aquí voy a crear la zona para repasar el proceso completo.
Crear zona de envío
Para crear la nueva zona pulsa en el botón Añadir zona de envío.
Verás que se muestra el formulario de configuración. En el campo Nombre de la zona deberás poner un nombre que te ayude a identificarla. Puedes usar nombres como «España», «Península», «Islas Canarias», etc. Ten en cuenta que este nombre no lo verán los visitantes que accedan a tu web.
A continuación, en el campo Región(es) de la zona podrás seleccionar los países o regiones que se asociarán con la zona que estás configurando. Puedes optar por poner un país, como España o México, o especificar más la localización utilizando provincias o regiones. Por ejemplo, si estás creando una zona para envíos a la península, deberás añadir todas las provincias de España, excepto las correspondiente a las Islas Canarias y Baleares, además de Ceuta y Melilla, para las que puedes crear sus propias zonas.
Como alternativa, puede establecer los lugares asociados con la zona utilizando los códigos postales. Para ello pulsa en el enlace Limitar a códigos postales específicos.
Una vez que hayas añadido estos datos pulsa en el botón Guardar los cambios.
Asociar métodos de envío a la zona de envío
El siguiente paso es asociar los gastos de envío. Para ello, en la misma pantalla de configuración de la zona de envío que acabamos de ver, pulsa en el botón Añadir método de envío. Se mostrará una ventana emergente donde deberás seleccionar el método de envío para asignar a la zona.
Aquí verás los métodos de envío que incluye por defecto WooCommerce:
- Precio fijo: se establece un precio fijo para la zona de envío, independientemente del peso o del importe total de la compra.
- Envío gratuito: se puede configurar el envío gratuito para todos los envíos a la zona o atendiendo a parámetros como importe mínimo de la compra o el uso de un cupón.
- Recogida local: el funcionamiento es similar al de precio fijo, aunque aquí lo normal será establecer un coste de 0.
Adicionalmente a estos métodos de envío verás otro de nombre Flexible Shipping, que es el que añade el plugin instalado. Será este el que deberás seleccionar para configurar los portes por peso.
Recuerda que para una misma zona se pueden añadir varios métodos de envío, en caso de que lo necesites. Por ejemplo, puedes configurar unos portes de envío por peso y ofrecer también la opción de recoger en la tienda.
Una vez añadido el método de envío hay que configurarlo. Para ello pulsa en el enlace Flexible Shipping que verás en la zona de envío.
Configurar Flexible Shipping
En la nueva pantalla que se carga verás 2 parámetros. En Shipping title se puede indicar el nombre del método de envío para su uso interno, ya que este texto no se mostrará en la parte pública de la web. Puedes poner un título como «Portes de envío por peso» o dejarlo directamente como está.
Con el campo Tax Status podrás indicar si a los precios que configures para los portes se le aplicarán impuestos o no. Ten en cuenta que cuando se configuran los impuestos en WooCommerce se puede definir si un determinado impuesto se usará para los envíos o no, por lo que podrás crear uno específico para estos casos si fuera necesario. Si eliges la opción Ninguno no se aplicará ningún impuesto.
¿Necesitas ayuda con tu WordPress?
Con nuestros servicios para WordPress podemos resolver cualquier tipo de incidencia que se te presente:
- Soporte técnico WordPress: configuración, mantenimiento, etc.
- Optimización WordPress: aceleramos la carga al máximo.
- Migraciones a WordPress: importamos de PrestaShop o Joomla.
- Diseño WordPress y Diseño tienda online con WooCommerce
Debajo verás el apartado Shipping Methods, donde podrás añadir los diversos métodos de envío que verán los usuarios, aunque lo normal aquí es que crees solo uno. Pulsa en Add New para añadir el nuevo método de envío.
Accederás a una nueva página donde verás varios campos para configurar. Voy a repasarlos uno a uno:
- Enable/Disable: deberás activar esta casilla para que se use el método de envío. En caso contrario, no se mostrará en el proceso de compra. Puedes dejarla desactivada mientras la estés configurando o si estás realizando pruebas.
- Method Title: es el nombre que verán los usuarios de tu tienda online cuando vayan a seleccionar el método de envío. Puedes poner nombres como «Envío por mensajería», «Envío 48 horas» o el que prefieras.
- Method Description: es el texto que se mostrará debajo del título del método de envío en el proceso de compra. Lo puedes utilizar para ampliar la información de este sistema de envío, como indicar el plazo de entrega. También lo puedes dejar vacío.
- Free Shipping: permite determinar un importe total de la compra a partir del cual el envío será gratuito. Por ejemplo, si aquí pones un valor 100, cuando la suma del importe de los productos añadidos al carro supere los 100 euros, o la moneda que estés utilizando, el envío será gratuito y no se aplicarán las reglas de coste por peso. Si lo dejas vacío no se aplicará nunca el envío gratuito.
- Free Shipping Label: es el texto que se mostrará en la página de compra cuando se cumple la condición para envío gratuito. Puede ser algo como «¡Envío gratuito!».
- Rules Calculation: aquí solo podrás elegir la opción Sum. Para disponer de otras opciones será necesario la versión de pago del plugin. Con esta opción si añades reglas que se complementan (por ejemplo, una por peso y otra por importe) se sumarán los portes.
- Visibility: activando esto el método de envío solo será visible para usuarios que hayan iniciado sesión. No te recomiendo hacerlo, ya que lo lógico es que ofrezcas el envío para todos los visitantes de tu tienda.
- Default: sirve para forzar que este método de envío sea el utilizado por defecto en el proceso de compra, en caso de que tengas varios disponibles por zona de envío.
- FS Debug Mode: puedes activar esta casilla para depurar el funcionamiento del cálculo de los portes de envío, especialmente si ves que no se están mostrando los precios esperados.
Debajo verás el apartado Shipping Cost Calculation Rules donde podrás configurar los precios por rango de peso.
Dentro del campo Rule cost introduce el precio que se aplicará para la regla que se está configurando. En When selecciona el tipo. En este caso, que estamos viendo la configuración de los portes de envío por peso, selecciona Weight [Kg] (la unidad de peso puede variar en función de lo que hayas configurado en los ajustes de WooCommerce). Finalmente indica el peso de inicio y fin para el que se aplicará la regla.
Puedes utilizar el botón Insert rule para configurar tantos rangos de peso como necesites. Por ejemplo, en la siguiente imagen puedes ver cómo se han configurado distinto importes en función del peso total de la compra en WooCommerce (de 0 a 10 Kg., de 10 a 20 Kg., etc.).
Esta forma de añadir las reglas será la que usará si activas Enable New Table Interface en Flexible Shipping Info, como hemos visto anteriormente. Con el parámetro desactivado, cambiará ligeramente, aunque la forma de configuración será igualmente sencilla. Un ejemplo de como se muestra:
Como puedes comprobar, la configuración es prácticamente similar, por lo que puedes elegir el método que más te guste.
No te olvides de guardar los cambios cuando lo hayas configurado todo.
A partir de lo que hemos visto, podrás establecer diversos precios para los portes de envío de WooCommerce en función del peso y la zona de envío. Es decir, para cada zona de envío puedes añadir el método de envío Flexible Shipping y configurar sus propios precios por rango de peso.
Configurar los portes de envío según el importe total de la compra
Si quieres configurar gastos de envío diferentes en función del importe total de los productos añadidos al carrito, también lo podrás hacer con este plugin.
El sistema es prácticamente el mismo al que hemos visto para la configurar los portes por peso. Lo único que cambiará será la configuración de las reglas de coste en el último paso.
De nuevo, en la columna Rule cost habrá que introducir el precio de la regla. En When ahora habrá que seleccionar Price [€] (la moneda cambiará según la que hayas configurado en los ajustes de WooCommerce). Esta será la única diferencia respecto a la configuración por peso. Finalmente habrá que poner los rangos de precios que tendrá cada regla.
En el siguiente ejemplo pongo unos costes de envío de 10 euros para compras de entre 0 y 50 euros, de 6 euros, para compras de entre 50 y 100 euros y de 3 euros para compras de entre 100 y 200 euros:
Esto también se puede combinar con la opción de envío gratuito que incluye el método de envío. Por ejemplo, podrías poner aquí que el envío gratuito empieza a partir de los 200 euros, colocando el valor 200 en el campo Free Shipping.
Preparar WooCommerce para calcular los portes de envío por peso
Antes de configurar los portes de envío por peso en WooCommerce con el plugin Table Rate for WooCommerce by Flexible Shipping deberás tener en cuenta una serie de consideraciones.
Lo primero de todo será definir la unidad de que peso que se usará en tu tienda, ya que a la hora de establecer los rangos de peso, será lo que se utilizará para determinarlos. No es lo mismo poner una regla de 100 a 200 Kg. que de 100 a 200 gramos o libras.
Para hacer esto vete en la administración de WordPress a WooCommerce > Ajustes y pulsa en la pestaña Producto. Aquí verás el parámetro Unidad de peso donde podrás seleccionar el que necesites. Normalmente se utilizaría kg.
Lo siguiente será que todos los productos de tu tienda tengan un peso asignado. De no ser así, su peso será interpretado como 0, y puede provocar que no se asignen los costes de envío correctos.
Añadir el peso a los productos es muy fácil. Simplemente edítalo y en la caja Datos del producto pulsa en Envío. Aquí verás el campo donde podrás agregar el peso del producto en la unidad anteriormente configurada.
En el caso de que sea un producto variable, y cada variación tenga un peso diferente, se podrá establecer el peso para cada una de ellas.
Recuerda que puedes utilizar decimales para establecer los pesos.
Conclusiones finales
Es bastante común criticar a WooCommerce por ser algo limitado en las posibilidades que incluye para configurar el comercio online. La configuración de los gastos de envío es una de ellas, donde solo se pueden diferenciar los portes por la dirección de envío.
Sin embargo, gracias a plugins como el que hemos visto podremos añadir muchas más opciones para configurar los portes de envío en WooCommerce, tanto por peso como por importe. Existen otras opciones, algunas de pago, donde la configuración de estos portes es todavía más avanzada, con posibilidad de establecerlos por número de productos, sus dimensiones, asociarlos a grupos de clientes etc. Las opciones son casi ilimitadas.
Es por cosas como esta por las que WordPress combinado con WooCommerce me parece la mejor opción para crear una tienda online.
Hola. Gracias por el post. Hago todo lo que dices pero mi web no cambia, no muestra los costes de envío. ¿Me podrías ayudar? ¡Gracias!
Hola Lucía, siguiendo todos los pasos de esta entrada se deberían mostrar los portes de envío en el proceso de compra. Si no es así, es posible que no hayas asignado todas las regiones en la zona.
Ten en cuenta que solo se mostrarán los portes de envío asociados con la dirección de envío del cliente. Por ejemplo, si el cliente selecciona Cáceres como provincia para el envío en la configuración de estos portes de envío deberías tener añadida la provincia en su listado, o al menos el país España.
Hola Pablo, lo he podido solucionar. ¡Muchas gracias! ¿Sabes si se pueden meter dos tablas diferentes de «Shipping Cost Calcularon Rules» para aplicar a distintas categorías? Es porque tengo dos tarifas de transporte distintas. ¿O solo es posible trabajar con una? También tengo otra línea de productos (semillas) que vendo por gramos, pero la tabla solo da la opción de kg. Estoy usando la versión gratuita. ¡Muchas gracias de nuevo!
Buenos días.
Una gran herramienta es el plugin presentado, definitivamente ayudará mucho a la hora de establecer los precios de envío por peso.
Tengo una consulta, ¿Se puede definir por áreas más generales?, es decir, por ejemplo, si vendo un par de libros desde Sudamérica a España, ¿tengo que configurar y definir cada provincia y ciudad de España o puedo solo nombrar el país?
Muchas gracias por su ayuda.
Hola Antonio, cuando defines las regiones de la zona cuentas con la opción de añadir países en lugar de regiones del país. Por tanto, puedes crear una zona para un país específico, o incluso para un grupo de países.
Muchas gracias, excelente información!
Muchas gracias!! me ha funcionado perfectamente. Saludos!
Hola!Muchas gracias!! Super detallado y completo el post.
Tengo una duda y no sé si a alguien le ha pasado esto alguna vez. Lo tengo todo bien configurado y me da error en la regla de 0 a 5 Kg y no se por qué ☹️☹️ No me calcula bien los envíos de ese rango de precio y pone cifras aleatorias.