Sí, ya lo sé, WooCommerce tiene una grave carencia en cuanto a flexibilidad en la configuración de los precios y los modos de envío, aún habiendo mejorado bastante desde la introducción de las zonas de envío en la versión 2.6. La causa es simple: quieren mantener WooCommerce tan ligero como sea posible, y cuando hay necesidades adicionales se puede disponer de otros plugins que añadan esas funcionalidades. Es la filosofía WordPress, y uno de los motivos de su éxito.
Y una de esas necesidades, que además es un motivo de consulta recurrente, es la de establecer los gastos de envío en función del peso en WooCommerce. Es normal: las agencias de envío nos cobran a nosotros en función del peso así que ¿por qué no trasladar ese coste al comprador de una forma más precisa, y por ende más justa? Veamos cómo hacerlo.
Tabla de contenidos
WooCommerce: gastos de envío por peso
La única alternativa que WooCommerce nos ofrece en su instalación por defecto en este aspecto es el de unificar la tarifa y establecer clases de envío para los productos que, por su especial volumen o peso o por cualquier otra característica (por ejemplo, que necesitan refrigeración) generan gastos de envío adicionales. Ya expliqué en otro artículo cómo configurar esto:
Pero claro, eso es válido (en lo que respecta a los envíos por peso) cuando la mayoría de productos de nuestra tienda tiene un peso similar excepto algunas excepciones concretas. Pero ¿qué ocurre en las tiendas en las que lo habitual es comprar varios artículos?
Por ejemplo, un supermercado o una librería. Éstos van añadiendo peso al envío, que puede ir superando diversas tarifas en la agencia. Evidentemente no costará lo mismo el envío de quien compra un libro o un litro de aceite que el del cliente que ha comprado doce libros o 10 kilos de patatas. ¿Qué hacemos en esos casos? ¿Renunciamos al margen para pagar el exceso de tarifa de envío debido al peso, o repercutimos (injustamente y con las nefastas consecuencia que eso tiene para nuestro marketing) estos gastos a la tarifa de envío general?
En fin, la problemática ya la conoces: hemos de ser lo más eficientes posible en los gastos de envío si queremos ser competitivos y además pretendemos comer todos los días y pagar la hipoteca. ¿Qué te voy a contar, verdad? Así que vamos a ver cómo podemos resolver este problema.
WooCommerce – APG Weight and Postcode/State/Country Shipping
Gastos de envío por peso, por código postal, por provincia y por país de envío. ¿Te parece eso lo suficientemente flexible? 😉
Efectivamente, hay un plugin que nos resuelve la papeleta muy bien. Tan bien que, si hubiera que pagar por él, seguro que lo harías sin problemas (yo lo haría), pero es que además es gratuito y está en el repositorio de WordPress. ¿Se puede pedir más? Sí, que esté en español. Pues es así. ¿Más? Soporte en español. ¡Si los desarrolladores son españoles!
Se trata de WooCommerce – APG Weight and Postcode/State/Country Shipping. Con él puedes:
- Establecer un coste fijo por envío (la tarifa base)
- Añadir un coste adicional (de embalaje o de manipulación, por ejemplo), que puede ser fijo o un porcentaje, por envío o por producto
- Crear un número ilimitado de tarifas
- Establecer un peso máximo y/o dimensiones máximas por tarifas
- Establecer tarifas en función del número de artículos
- Aceptar o no exceso de peso o dimensiones
- Soporta clases de envío
¿Solucionaría algo así tu problema? ¡Apuesto a que sí! Vamos a ver cómo funciona.
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
Establecer las tarifas de envío según el peso
Bien, si ya lo has instalado y activado, habrás notado… absolutamente nada. En apariencia, no hay ningún cambio: no hay nuevos menús, ni opciones, nada en WooCommerce, y el enlace Ajustes del propio plugin nos lleva a la pestaña Envíos en WooCommerce > Ajustes, sin novedad… en apariencia.
Sin embargo, si ahora pulsas el botón «+» a la derecha de alguna de las zonas para añadir un nuevo método de envío, verás que hay un nuevo método disponible: donde hasta ahora teníamos Precio único, Envío gratuito y Recogida local en el desplegable, ahora hay una nueva opción: Gastos de envío APG.
Y ahí es, monamí, donde se produce la magia. Porque al establecer ese tipo de envío es cuando tienes disponibles todas las opciones de configuración que te mencionaba más arriba. Y al hacerlo así, se establece para una zona de envío concreta, con lo que puedes establecer tantas como quieras en función de las provincias, países o incluso códigos postales.
Vídeo: Gastos de envío por peso en WooCommerce
Como las opciones serían prolijas de explicar por escrito, te he grabado un vídeo con la explicación para configurar en WooCommerce los gastos de envío por peso con este plugin:
Andruz legro dice
Excelente tutorial llevaba rato buscando info actualizada de ese plugin, Gracias!!
Enrique J. Ros dice
Gracias a ti por tu comentario, me alegra que te haya sido útil 🙂
Un saludo.
Miguel Reyero dice
Hola Enrique, buenos días:
Muchas gracias por el tutorial, es genial y el pluggin también! he visto que en tu vídeo aparecen las opciones de cambiar el método de envío, distinguiendo entre envío en 24 hras y envío en 48 hras, con diferente precio para el cliente. ¿Como se puede establecer esta opción utilizando Woocommerce – Apg?
Muchas gracias, un saludo
Enrique dice
Gracias Miguel
Basta con añadir tantos métodos de envío como haya disponibles para que el usuario elija y configures cada uno de ellos. Eso ya lo hace WooCommerce por defecto, y con este plugin puedes igualmente hacerlo añadiendo varios del tipo APG y cambiando la descripción.
Un saludo.
Miguel Reyero dice
Ok, añado, en la misma región una nueva entrada del tipo APG, le pongo «Urgente», por ejemplo… y en la tabla meto los nuevos costes – pesos y la clase de envío a la que pertenece. Modifico las nuevas horas de entrega, etc… y funciona, Gracias!
Enrique dice
Gracias a ti, Miguel, un placer 🙂
Patricio dice
Enrique
Quiero agradecerte por compartir tus conocimientos en este impecable tutorial que, ha sido de gran ayuda para configurar mi tienda online.
Espero que sigas contribuyendo en esta área, sobre todo, porque tus explicaciones son muy claras y precisas para quienes nos iniciamos en esto del comercio electrónico.
Recibe un cordial saludo desde Chile.
Enrique Ros dice
Muchas gracias por tu comentario, Patricio. Es una gran satisfacción saber que estos contenidos son de ayuda 🙂
Un saludo.
Patricio dice
Estimado Enrique
Estoy probando este plugin y me topé con un par de problemas, que te comento para ver si me podrías ayudar.
Tengo un producto que pesa 42.56 onzas y, en mi tabla de envíos, tengo un máximo de hasta 959.84 onzas, a partir de este valor, el cliente debe comunicarse conmigo.
Si divido el máximo peso (959.84 oz) en el peso del producto (42.56 oz), resulta 22.56, es decir, sobre 22 productos que fueran agregados al carro, el sistema debe señalar al cliente que no hay sistema de envío y que se comunique conmigo. Sin embargo, esto comienza a ocurrir a partir de los 25 productos agregados al carro.
¿Se te ocurre que podría estar ocurriendo?
¿El plugin funciona sólo con números 10, 100, 1000, etc.?
Muchas gracias de antemano por tu tiempo.
Saludos cordiales.
Patricio dice
Me respondo a mi mismo.
Lo dejo aquí por si alguien más lo necesita.
La respuesta se encuentra en qué tipo de tasa de envío ocupamos: peso total, total de artículos o total del carro.
Gracias de todas maneras.
Saludos cordiales.
Daniel dice
Hola, Enrique.
Se me presenta la siguiente duda, actualmente estoy usando este pluggin en mi sitio web pero necesito condicionar que al comprar 50 euros, el envió en Italia sea gratis, pero se cobraría 4 euros por manejo de mercancía. La verdad me genera confusión por que no se si puedo condicionar esto sin necesidad de algún pluggin, pero de ser necesario cual me recomendarías?
Enrique Ros dice
Hola Daniel
No veo complicación, yo pondría el método de envío a la zona correspondiente con un precio de 4€, igual que si fuesen gastos de envío, pero cambiando el nombre a «Gastos de manipulación», «Manipulación de mercancía» o similar. El resultado es el mismo.
Un saludo.
Moisés Fernández Buciegas dice
Hola Enrique, muchas gracias por el vídeo tutorial me resultó útil, pero tengo una tarifa de precios un tanto especial ya que mis productos son de gran peso y el transportista me ha dado una tabla de precios fijos desde 1kg hasta 30kgs y si es superior a 30kgs el coste sería la tarifa de 30kgs más un precio adicional por kg.
Le pongo un ejemplo para que me entienda mejor, la tarifa para envíos de hasta 30kg es de 7€, y para envíos de más de 30kg es de 7€ + (0,20€ * kg adicional). Por lo que para un producto de 80kg serían 7€ + (0,20 * 50) = 17€
¿Habría forma de indicarlo en el plugin este o si hay otro plugin que lo permita? Muchas gracias
Enrique Ros dice
Hola Moisés
Tendrás que hacerte un escalado lineal (una hoja de cálculo puede ayudar bastante) para poder establecer distintos costos de envío por tramos de peso.
Un saludo.
Cintia dice
Hola Enrique,
Muchas gracias por el video, en la tienda que estoy creando necesito que después de una cantidad delimitada el envío sea gratuito, y que muestre solo esa opción, ninguna otra, es posible de hacer esto?
Ojala me puedas ayudar
Saludos
Enrique Ros dice
Hola Cintia
Gracias por tu comentario. WooCommerce, por defecto, muestra todos los métodos de envío disponibles. Si necesitas que al alcanzar las condiciones del envío gratuito los demás métodos no se muestren, tienes que usar este plugin.
Un saludo.
Cintia dice
Muchas gracias Enrique por tu pronta respuesta y ayuda.
Te lo agradezco mucho .
Saludos
elia dice
Hola a ver si me podéis echar una mano, me he descargado el plugin, pero aun así me estoy liando un poco.
digamos que tengo diferentes productos, por un lado la web al principio era de suscripción mensual a unas cajas, la cual el cliente paga una cuota fija todos los meses, pero se le añade un coste de 3 € a canarias y 2 € a baleares.
Ahora hemos añadido un apartado de tienda, donde los clientes (sean o no suscriptores) pueden comprar también los productos sueltos, por lo que quiero que se les cobre gastos de envío como en cualquier tienda con un mínimo de compra. pero no se configurarlo de tal forma que no se modifiquen los gatos adicionales de las suscripciones. O quizá ya me he liado tanto que no veo la forma de hacerlo sencillo.
es decir había pensado en el producto de suscripción hacerle unas clases de envío solo para el y otras para el resto de productos, pero no se hasta que punto al ser por zonas podemos hacer tantas clases de envío para la misma zona dependiendo del producto o del coste
Enrique Ros dice
Hola Elia. No estoy seguro de haberlo entendido bien, en cualquier caso, a poco que se salga de lo habitual, necesitarás un plugin de envíos avanzados, como éste.
Un saludo.
elia dice
Si la verdad es que es algo lioso, me descaragré este plugin que me comentas a ver si consigo hacerlo. La conclusion de todo es que necesitoque para los envíos a canarias los costes de envío sean totalmente diferentes a los de la península, además también necesito que sean diferentes costes para unos productos u otros
José Luis a. dice
Hola Enrique, excelente explicación respecto al peso, pero que hay de las medidas? es decir como hacer la relación entre peso y medidas? hay paqueterías que manejan volumetría y de ahi parten para saber que cobran más, si peso o volumen, me encantaría saber tu opinión
Saludos desde México
Enrique J. Ros dice
Hola José Luis
Aunque no lo explico específicamente, este plugin permite también manejar límites por medida, por ejemplo:
1000|6|10x10x10
1000|8|15x15x15
Un saludo.
Ángel dice
Hola,
Solo por aclarar ahora ya no pide el peso en gramos sino en kilogramos. Aunque en el ejemplo que aparece en el plugin lo siguen poniendo como kilos.
Salu2 y enhorabuena por el videotutorial.
Enrique J. Ros dice
¡Gracias por la aclaración, Ángel!
Un saludo.
samuel dice
Hola Enrique, de antemano gracias por tus consejos, ayudas, y por compartir tus conocimientos.
Una pregunta que me atrevo a hacerte, y es que en mi web he implementado este plugin y lo he configurado de manera correcta, pero por alguna razón no me sirve, siempre aparece:
«No hay métodos de envío disponibles. Por favor, asegúrate de que has introducido correctamente tu dirección, o contáctanos si necesitas ayuda.»
Tienes alguna idea de porque no me funciona??
Enrique J. Ros dice
Hola Samuel
Imposible saber qué es lo que está mal, tendrás que revisar toda la configuración de zonas y métodos de envío.
Un saludo.
Juan Carlos dice
Buenas tardes, Enrique.
Resucito el hilo de los comentarios para hacerte una consulta.
Estoy montando una tienda online de vinos en la que el coste del envío varía en función de las botellas que se compran:
2 Kg – 1 botella
hasta 5 Kg de 2 a 4 botellas
Hasta 10 Kg de 5 a 7 botellas y así sucesivamente.
Además tengo diversas zonas de envío (mi provincia, Península, Baleares y Canarias)
¿Sirve este plugin para configurar así los gastos? El problema es que no puedo poner un peso fijo a cada producto (aunque lo tenga) porque si le pongo 2Kg/botella, quien pida 4 no pagaría el precio del segundo tramo, sino el de hasta 10 Kg (2Kg x4 Botellas=8 Kg).
No sé si me explico bien, pero agradecería cualquier sugerencia.
Un saludo y gracias por los tutoriales.
Enrique J. Ros dice
Hola Juan Carlos
Para que funcione el plugin tienes que indicar el peso de cada producto, y con el cálculo del peso total y los tramos configurados calcula el coste del peso total.
Un saludo.
andres rosales dice
gracias perfecto el tutorial
Enrique J. Ros dice
Gracias Andrés, me alegra que te haya sido de utilidad 🙂
Un saludo
ivan pozo dice
Hola enrique tengo una duda referente al envío y coste del transporte que me está volviendo loco…
Resulta que yo tengo por ejemplo una empresa de vinos que por ejemplo tengo 3 tipos de envíos :
envío por botella, envío por caja y envío por palet con un coste diferente cada método.
Resulta que yo al añadir por ejemplo 1 caja y 2 palet me sale solo el coste de 1 caja y no sumas el de los 2 palets… de modo que si el envió de una caja son 9 y un palet son 100 pues me sale un gasto de envío de 9 euros y no de 209€ que debería salir…
Mi pregunta es es la siguiente ¿Puedo aplicar el coste adicional de trasporte por producto?
Un saludo
Enrique J. Ros dice
Hola Iván
Para eso deberías usar las clases de envío. Echa un vistazo a esta entrada.
Un saludo.
ivan pozo dice
ok, muchas gracias enrique voy a ello
Un saludo
angel dice
Hola Enrique,
Enhorabuena por hacer un video tan claro y bueno.
He conseguido configurar los envíos con peso con tu videotutorial perfectamente, así que por esta parte perfecto. Perooooo …
Tengo una tienda y quiero que cuando un cliente tenga más de 80kg en la cesta quiero que aparezca un mensaje o un aviso indicando que se ha excedido del límite de peso permitido y que el cliente se ponga en contacto conmigo para terminar el pedido.
Veo que me saca un mensaje un tanto confuso:
«No se han encontrado opciones de envío para PAMPLONA, 31001 NAVARRA, España.
Introduce una dirección diferente»
Y me gustaría que el cliente tuviera un mensaje del tipo «El peso máximo de compra en la tienda online es de 80kg. Por favor ponte en contacto con nosotros por email o teléfono y te haremos una oferta.»
Ya sé que puedo perder clientela pero es que los costes de envío se disparan por el peso.
¿Se puede hacer con este plugin? ¿Hay algún plugin que me permita esta configuración?
Gracias
Enrique J. Ros dice
Hola Ángel
Esto podría responderlo mejor el propio desarrollador del plugin, pero hasta donde yo sé no es posible hacerlo con este plugin. Ignoro si se puede con algún otro, si lo hay yo no lo conozco.
Un saludo
Jonathan dice
Hola Enrique, tengo el siguiente caso para el calculo de envío por peso y precio subtotal.
Tengo un producto el cual tiene un peso x, al momento de revisar el carrito si el peso del pedido completo es menor a 30 Kg el costo del envío por peso sería 708$*30=21240. Si es mayor a 30 KG entonces sería 708$* cada kilo extra despues de los 30Kg.
Para el caso del precio sería:
Si el producto va dirigido a un sitio local el calculo es: subtotal * 6% y si ese monto resultante es menor a 4000$ entonces se toma como base $4000 y si es mayor pues lo que de el calculo.
Si el producto va dirigido a un sitio nacional el calculo es: subtotal * 1% y si ese monto resultante es menor a 6130$ entonces se toma como base $61300 y si es mayor pues lo que de el calculo.
Ya tengo solucionado los del peso pero no se si tienes un plugin en el que yo pueda hacer todo de una vez.? quedo atento a tus comentarios y muchas gracias de antemano por tu colaboración
Miguel Marabel Garcia dice
Buenas Enrique, en tu vídeo aparece 24/48 horas y 48/72 horas ¿Cómo se hace para tener dos tarifas diferentes? la cuestión es envió por peso a nivel nacional hasta 5kg hasta 10 kg hasta 15 …. pero hay diferente tarifa según queramos que llegue en 24 horas o más tarde. ¿Es posible hacerlo? Un saludo y muchas gracias
Enrique J. Ros dice
Hola Miguel
Sólo tienes que crear tantos métodos de envío como necesites. Echa un vistazo a esto, te será de ayuda.
Un saludo,
Jose dice
Hola Enrique,
Como siempre muy buen tutorial pero tengo alguna duda. Por ejemplo si tienes varios tipos de envío , por ejemplo, envió marítimo o avión y luego la configuración por peso/volumen (de este plugin), los costes aparecen por separado dando a elegir uno de los dos.
Existe alguna posibilidad de «sumar» costes de envió por cumplen con las reglas establecidas???
Muchas gracias
jordi dice
Hola Enrique, gracias por el videotutorial! es genial! Pude configurarlo y funciona perfectamente. Mi duda es, tal como lo has configurado tu, me funciona perfectamente pero necesito aplicar tantos por ciento de descuento en funcion del peso y no un incremento de precio con un valor exacto. Un ejemplo sería: de 0 a 10 kg, sin descuento; de 10 a 20 kg, un descuento del 10%; de 20kg a 30kg, un descuento del 15%…
Lo he intentado pero sin éxito. Me podrías ayudar con el problema? muchas gracias!
olber dice
Hola Enrique, valioso tutorial!
Yo a los productos debo adicionarle una tarifa de 1% del valor del paquete, es decir, sería de la siguiente forma.
Si(peso<5kg) entonces:
(15.000COP + (15.000COP+iva))+(precio_producto * 0.01)
Donde podria insertar una formula asi en el plugin?
Benito dice
Buenos días Enrique muchas gracias nuevamente por este tutorial, lo he podido configurar perfectamente, aunque me ha costado algo darme cuenta que ahora ya estaba en Kg.
No se si podría ayudarme en lo siguiente, y es más o menos lo opuesto a lo que pide la gente en general.
En mi caso lo que necesito es que se oculten los envíos que no sean este.
Quiero decir, tengo envio gratuito a partir de 50 euros (si esta disponible oculta el resto), recogida en local, envio normal con un coste fijo hasta los 50 euros, y este envío para pesados.
Como puedo hacer que cuando sean envios por peso, se oculte tanto el envio normal como el gratuito, y solo se muestre y sume el coste de envio por peso.
muchas gracias
Enrique J. Ros dice
Hola Benito
Echa un vistazo al plugin WooCommerce Conditional Shipping and Payments, es posible que te sirva para lo que necesitas.
Un saludo
Andrés dice
Hola Enrique no consigo quitar los gastos de envio gratuitos, ni el urgente me salen los tres tipos, no es la misma pantalla que tu muestras en el video se ve que la han actualizado. Me puedes ayudar. Gracias