Los costos de envío inesperados son una de las principales razones por las que los clientes abandonan sus carritos. Si tu tienda WooCommerce cobra demasiado o los precios parecen confusos, podrías estar perdiendo ventas sin darte cuenta.
Por eso es tan importante ofrecer tarifas de envío claras y justas. Y una de las formas más sencillas de hacerlo es con el envío basado en peso.
Con este método, los costos de envío se calculan en función del peso total del carrito. Los pedidos más ligeros obtienen tarifas más bajas, mientras que los más pesados se cobran con mayor precisión, lo que te ayuda a cubrir tus costos sin alejar a los clientes.
Después de probar las funciones integradas de WooCommerce y los plugins de terceros más confiables, he encontrado las mejores maneras de configurarlo.
En esta guía, te mostraré exactamente cómo agregar el envío basado en peso a tu tienda. Además, compartiré algunos consejos prácticos para evitar errores comunes y mantener tu proceso de pago fluido. 🚚

¿Por qué ofrecer envío basado en peso en WooCommerce?
El envío basado en peso garantiza costos de entrega justos y precisos al calcular las tarifas según el peso real del pedido.
A diferencia del envío de tarifa fija, que cobra la misma tarifa por cada compra, este método evita el cobro excesivo por artículos ligeros y la pérdida de dinero por artículos pesados.
Al cambiar al envío basado en peso en tu tienda WooCommerce, obtienes más control y flexibilidad. Elimina las suposiciones, evita sorpresas al momento de pagar y mantiene los costos transparentes.
Es especialmente útil para tiendas que venden artículos pesados, paquetes o una combinación de productos ligeros y voluminosos.
Ya sea que estés enviando muebles, libros o equipo de gimnasio, esto te ayuda a mantener la rentabilidad mientras mantienes los costos de envío transparentes para tus clientes.
Dicho esto, veamos cómo agregar fácilmente el envío basado en peso en WooCommerce. Cubriré dos métodos diferentes en este tutorial. Puedes usar los enlaces a continuación para saltar al método de tu elección:
- Método 1: Agregar envío basado en peso usando la configuración predeterminada (Configuración básica)
- Método 2: Agregar envío basado en peso usando un plugin (Recomendado)
- 🎁 Extra: Ofrece un descuento de envío en WooCommerce
- Preguntas frecuentes: Envío basado en peso en WooCommerce
Método 1: Agregar envío basado en peso usando la configuración predeterminada (Configuración básica)
Si deseas configurar el envío basado en peso en WooCommerce sin usar plugins o extensiones adicionales de WooCommerce, entonces este método es para ti.
WooCommerce no viene con una opción de envío basada en peso incorporada, pero hay una solución simple que puedes usar.
En lugar de una configuración directa basada en peso, puedes usar clases de envío para agrupar productos por su peso. Luego, puedes crear diferentes tarifas fijas para cada clase dentro de tus zonas de envío.
De esta manera, los artículos más pesados pueden tener costos de envío más altos y los más ligeros pueden enviarse por menos, todo utilizando la configuración predeterminada de WooCommerce.
💡 Consejo profesional: Antes de comenzar, asegúrate de haber configurado tu unidad de peso preferida (por ejemplo, kg, lbs, oz) para tu tienda.
Puedes hacer esto navegando a WooCommerce » Ajustes » Productos » General y seleccionando tu unidad en el menú desplegable 'Unidad de peso'. Esto asegura que todos tus cálculos sean consistentes.
Para obtener más ayuda para configurar tu tienda, sigue nuestra guía completa de configuración de tiendas WooCommerce.
Para empezar, visita la página WooCommerce » Ajustes » Envío » Clases desde el panel de WordPress y haz clic en el botón ‘Añadir clase de envío’.

En la ventana emergente que aparece, añade un nombre para tu clase de envío. Recomiendo elegir algo claro que te ayude a reconocer rápidamente el tipo de productos para los que es.
Por ejemplo, si estás creando una clase para todos los artículos de menos de 5 kg, podrías llamarla ‘Menos de 5 kg’.

Luego, necesitarás añadir un slug para la clase. También puedes dejarlo en blanco, y WooCommerce generará uno basándose en el nombre que introduzcas.
Pero si quieres más control, puedes introducir el tuyo propio.
A continuación, añade una nota breve explicando para qué es la clase de envío. Es principalmente para tu propia referencia o para otros administradores que trabajen en el sitio.
Luego, haz clic en el botón ‘Crear’.
Ahora puedes repetir el proceso para agregar tantas clases de envío basadas en peso como desees.
Una vez que hayas terminado, se verá algo así:

A continuación, ve a la pestaña ‘Zonas de envío’. Aquí verás una lista de todas las zonas de envío que has configurado para tu tienda. Estas zonas representan los países o regiones donde ofreces envíos.
Si aún no has agregado una zona de envío, simplemente haz clic en el botón ‘Agregar zona’.

Esto te llevará a una nueva pantalla donde puedes agregar un nombre. Recomiendo nombrar la zona según la región o el país al que ofreces envío, ya que esto puede ayudar a evitar confusiones.
Después de eso, simplemente escribe el nombre de la región o país en el campo ‘Regiones de la zona’. Cuando aparezca la opción, haz clic en ella para agregarla a tu zona. Puedes agregar tantas regiones como desees.
Una vez que hayas terminado, haz clic en el botón ‘Agregar método de envío’ para continuar.

Ahora aparecerá una nueva ventana emergente en tu pantalla.
Desde aquí, selecciona la opción ‘Tarifa fija’ y haz clic en ‘Continuar’.

En el siguiente paso, deberás darle un nombre a tu método de envío. Esto es importante porque tus clientes lo verán al momento de pagar.
Un nombre como ‘Costo de envío basado en el peso del producto’ es claro y descriptivo.
A continuación, agrega un costo de envío en el campo ‘Costo’. Este será el costo de envío predeterminado que los clientes pagarán al comprar un artículo.
Este es el costo de envío base para cualquier producto sin una clase de envío. Ten en cuenta que este costo también se puede sumar a otras tarifas de envío, lo que explicaré en un momento.

A continuación, desplázate hacia abajo hasta la sección ‘Costos de clases de envío’. Aquí puedes establecer un costo para cada clase de envío basada en peso que hayas creado.
Por ejemplo, podrías cobrar $10 por artículos en la clase de 11–15 kg y $20 por los de la clase de 16–20 kg.
⚠️ Nota importante: WooCommerce agrega el costo de la clase de envío además de la tarifa fija predeterminada. Por ejemplo, si tu costo predeterminado es de $5 y el costo de la clase es de $10, entonces el cargo total de envío para el cliente será de $15.

Para evitar esto y usar solo el costo de la clase de envío, debes establecer el campo principal 'Costo' para la tarifa fija en $0.
Justo debajo de los campos de costo, también verás una configuración llamada 'Tipo de cálculo'. Esto controla cómo WooCommerce calcula el envío cuando un carrito contiene artículos de múltiples clases.

Así es como funciona cada opción:
- Por clase: WooCommerce agregará el costo de cada clase de envío individual en el pedido. Por ejemplo, si un cliente tiene un artículo de la clase de 11–15 kg ($10 de cargo) y otro de la clase de 16–20 kg ($20 de cargo), entonces el costo total de envío agregado será de $30.
- Por pedido: WooCommerce solo aplicará el costo de la clase de envío más cara en el pedido. Usando el mismo ejemplo, solo se agregarían $20 al cargo de envío.
Para la mayoría de las tiendas que utilizan envío basado en peso, la opción 'Por clase' te ofrece precios más precisos y justos. Esto es especialmente útil cuando los pedidos a menudo incluyen productos de pesos variados.
Una vez que hayas elegido tu 'Tipo de cálculo', haz clic en el botón 'Guardar' para almacenar tu configuración.
Ahora, dirígete a la página 'Productos' y abre tu artículo preferido en el editor de WooCommerce. Desplázate hacia abajo hasta la sección 'Datos del producto' y cambia a la pestaña 'Envío'.

Primero, necesitas ingresar el peso del producto en el campo 'Peso'. Después de eso, deberás seleccionar la clase de envío correcta en el menú desplegable 'Clase de envío'.
💡 Consejo profesional: No olvides incluir el peso de tus materiales de embalaje (como cajas y plástico de burbujas) en el peso total del producto. Esto te ayuda a cobrar tarifas de envío precisas y a evitar perder dinero en franqueo.
Por ejemplo, si tu producto pesa 0.45 kg, seleccionarías la clase 'Menos de 5 kg' que creaste anteriormente.
Después de eso, haz clic en el botón 'Actualizar' o 'Publicar' para guardar tus cambios.
Ahora visita tu tienda de WooCommerce para ver el precio de envío basado en el peso de tu producto.

Si bien este método funciona bien para configuraciones sencillas, administrar muchas clases de peso diferentes puede volverse complicado.
Así que, si tienes muchos productos o necesitas reglas de envío más flexibles, usar un plugin dedicado es una solución mucho más fácil.
Método 2: Agregar envío basado en peso usando un plugin (Recomendado)
Para reglas de envío más potentes y flexibles, usar un plugin dedicado es tu mejor opción.
Recomiendo el plugin gratuito WooCommerce Weight Based Shipping porque te permite crear tantas reglas de envío como quieras basándote en el peso del producto. También puedes establecer diferentes tarifas para diferentes países y ofrecer envío gratuito cuando el pedido de un cliente alcance un total determinado.
Primero, necesitas instalar y activar el plugin WooCommerce Weight Based Shipping. Para más detalles, consulta nuestro tutorial sobre cómo instalar un plugin de WordPress.
Tras la activación, dirígete a la página WooCommerce » Ajustes » Envío » Envío Basado en Peso desde la barra lateral de administración de WordPress.
Aquí, haz clic en el botón ‘Configurar Reglas de Envío Globales’.

Esto te llevará a una nueva pantalla donde puedes definir las reglas de envío basadas en peso para tus productos. Notarás que el plugin viene con algunas reglas predeterminadas ya configuradas, pero puedes editarlas o eliminarlas fácilmente según sea necesario.
Puedes empezar añadiendo un título para cada regla. Elige nombres que te ayuden a identificar rápidamente el rango de peso, como ‘Menos de 5 kg’ o ‘5-10 kg’.

En la columna ‘Destino’, puedes dejar la configuración como ‘Cualquiera’. Esto significa que la regla de envío por peso se aplicará a todos los países a los que envías.
Sin embargo, si deseas cobrar tarifas de envío diferentes para regiones específicas, puedes hacerlo seleccionando un país del menú desplegable ‘Destino’. Esto te permite aplicar tu regla de envío basada en peso solo a esa ubicación.
Por ejemplo, digamos que tu tienda tiene su sede en Europa. Es posible que desees cobrar $5 por pedidos de menos de 5 kg que vayan a Francia porque está relativamente cerca y el envío es más barato.
Pero para el mismo rango de peso que se envía a EE. UU., podrías cobrar $10 o más para cubrir el mayor costo de envío debido a la mayor distancia.

Después de eso, establece los valores de peso ‘Desde’ y ‘Hasta’ para cada regla en la columna Peso. Por ejemplo, para la regla ‘Menos de 5 kg’, puedes ingresar Desde: 0 y Hasta: 5.
Una vez que hayas ingresado los números, haz clic en el botón ‘OK’ para guardar el rango.

A continuación, mira la columna ‘Valor’. Aquí es donde defines cuándo se aplica la regla de envío, generalmente según el monto total del pedido.
Digamos que quieres ofrecer envío gratuito para paquetes pequeños de menos de 5 kg, pero solo si el cliente gasta $100 o más. En ese caso, puedes establecer el rango de peso de 0 a 5, y en la columna ‘Valor’, ingresar 100.00+. Luego, establece el costo de envío en ‘Gratis’.
Esto significa que si alguien pide productos que pesan menos de 5 kg y el total de su carrito es de $100 o más, no tendrán que pagar nada por el envío.
Ahora, es posible que también desees agregar otra regla para los clientes que piden menos de $100 en artículos.
Para eso, crea el mismo rango de peso (0 a 5 kg), pero en la columna ‘Valor’, ingresa 0.00 – 99.99 y establece el costo de envío en algo como $10.

Esto significa que si el carrito pesa menos de 5 kg y el total del pedido es inferior a $100, se les cobrarán $10 por el envío.
💡 Consejo profesional: Si deseas que la regla de envío se base solo en el peso e ignore el valor total del carrito, hay una manera fácil de hacerlo.
En la columna ‘Valor’, simplemente ingrese 0.00 en el campo ‘De’ y deje el campo ‘A’ completamente en blanco.
Esto le indica al plugin que aplique la regla a todos los pedidos, sin importar cuánto cuesten.
Ahora, es hora de establecer el costo de envío según el peso. Para ello, expanda la pestaña ‘Envío’ para cada regla. Puede seleccionar la opción ‘Gratis’ para ofrecer envío gratuito.
O bien, elija la opción ‘Fijo’ y agregue el precio de envío según el peso.

También puede elegir la opción ‘Fijo + Progresivo’, que es útil si vende artículos más pesados que exceden sus reglas de peso definidas.
Por ejemplo, digamos que sus reglas llegan hasta 30 kg. Puede establecer una tarifa fija de $20 para pedidos de hasta 30 kg. Luego, en el campo Progresivo, puede agregar un costo de $2 por cada 1 kg.
Ahora, si un cliente realiza un pedido que pesa 32 kg, se le cobrarán los $20 iniciales (por los primeros 30 kg) más $4 (por los 2 kg adicionales), para un costo total de envío de $24.
Esta configuración asegura que aún cubra sus costos de envío de manera justa, incluso para pedidos más pesados.

A continuación, agrega una nota para cada regla de peso. Esta nota es solo para ti y tu equipo, y ayuda a mantener las cosas organizadas al explicar para qué sirve cada regla.
Por ejemplo, puedes escribir algo como: “Envío gratis para pedidos pequeños de más de $100” o “Cargos adicionales para artículos de más de 30 kg”.

Una vez que hayas agregado las notas, haz clic en el ícono ‘Guardar’ para almacenar tu configuración.
A continuación, necesitas agregar el método de envío que creaste a una de tus zonas de envío.
Desde la pestaña ‘Envío’, haz clic en una zona donde quieras ofrecer envío basado en peso. Luego, haz clic en el botón ‘Agregar método de envío’.

Esto abrirá una ventana emergente en la pantalla, donde deberás elegir ‘Envío basado en peso’ como método de envío.
A continuación, haz clic en el botón ‘Continuar’.

Luego, dirígete a la página ‘Productos’ y abre un artículo en el editor.
Desde aquí, desplázate hacia abajo hasta la sección ‘Datos del producto’ y cambia a la pestaña ‘Envío’. Ahora, tienes que agregar el peso del producto para aplicarle las reglas de envío.

Después de eso, simplemente haz clic en el botón ‘Actualizar’ o ‘Publicar’ para almacenar tu configuración.
Ahora, puedes visitar tu tienda WooCommerce y agregar un producto a tu carrito.
Deberías poder ver los cargos de entrega basados en el peso de los productos en la pantalla.

🎁 Extra: Ofrece un descuento de envío en WooCommerce
Ofrecer envío basado en peso es excelente para asegurarte de que tus clientes paguen un precio justo. Pero si también buscas aumentar tus ventas, te recomiendo ofrecer descuentos de envío.
Muchos clientes esperan algún tipo de oferta cuando se trata de envíos, especialmente para pedidos grandes. Incluso un pequeño descuento puede marcar la diferencia en las conversiones y la satisfacción del cliente.
Es por eso que ofrecer un descuento de envío es una excelente manera de reducir el abandono del carrito y aumentar tu valor promedio de pedido.
Para agregar fácilmente descuentos de envío a tu tienda WooCommerce, te recomiendo usar el plugin Advanced Coupons.

Es fácil de usar para principiantes y te da el poder de crear reglas de descuento de envío fácilmente.
Por ejemplo, puedes ofrecer envío gratis cuando el carrito de un cliente alcanza un total determinado, aplicar descuentos porcentuales en los costos de envío o activar automáticamente ofertas de envío especiales basadas en condiciones específicas del carrito.
Además, puedes combinar estas ofertas con tus reglas de envío basadas en peso para máxima flexibilidad.

Para empezar, consulta nuestro tutorial sobre cómo ofrecer un descuento de envío en WooCommerce.
Preguntas frecuentes: Envío basado en peso en WooCommerce
Aquí están las respuestas a algunas preguntas comunes que recibimos sobre la configuración del envío basado en peso en WooCommerce.
¿Tengo que agregar un peso a cada producto de WooCommerce?
Sí, para que el envío basado en peso funcione correctamente, debes ingresar un peso para cada producto físico en tu tienda.
Si un producto no tiene un peso asignado, WooCommerce no podrá calcular el costo de envío para él con precisión, y podría recurrir a una tarifa fija predeterminada o no mostrar ninguna opción de envío.
¿Qué sucede si un cliente tiene productos físicos y digitales en su carrito?
WooCommerce maneja esto automáticamente. Los costos de envío solo se calcularán basándose en el peso de los artículos físicos en el carrito. Los productos digitales, dado que no requieren envío, no tienen peso y no afectarán el cálculo del envío.
¿Puedo ofrecer envío gratuito para ciertos pedidos de WooCommerce?
Absolutamente. Con el método predeterminado, puedes crear una clase de envío para un rango de peso específico y establecer su costo en $0.
Con el método del plugin, puedes crear una regla que ofrezca envío gratuito cuando un pedido alcance un cierto peso o valor en el carrito, lo que te da más flexibilidad.
Mis productos tienen un rango de pesos muy amplio. ¿Cuál es la mejor manera de manejar esto?
El mejor enfoque es crear varias reglas de envío para cubrir todos tus productos. Para artículos muy pesados que podrían exceder tu regla más pesada, el método del plugin es ideal.
Puedes usar su opción ‘Tarifa fija + progresiva’ para establecer una tarifa base más un cargo adicional por kg/lb, asegurando que siempre cubras tus costos para pedidos de gran tamaño.
Espero que este artículo te haya ayudado a aprender cómo agregar fácilmente el envío basado en peso en WooCommerce. También puedes consultar nuestra guía para principiantes sobre cómo agregar una barra de envío gratis en WooCommerce y nuestro tutorial sobre cómo prevenir fraudes y pedidos falsos en WooCommerce.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.

¿Tienes alguna pregunta o sugerencia? Por favor, deja un comentario para iniciar la discusión.