En este tutorial resumo las posibles formas de envío de WooCommerce, uno de los puntos que más se pueden complicar en cualquier eCommerce.

Por defecto, WooCommerce trae 5 formas de envío, pero podemos añadir más
Como podemos ver en la imagen superior, por defecto WooCommerce viene con 5 formas de envío, a saber: Precio único, envío gratuito, envío internacional, envío local y recogida local. Veamos rápidamente las diferencias entre ellos, y cómo podemos dar un paso más allá.
Ahora vamos a analizarlos todos uno a uno. Si además queréis verlo en directo a través de videotutoriales con ejemplos y más información complementaria, os recomiendo la clase de envíos en Woocommerce del curso de WooCommerce.
Y sin más dilación... ¡Empecemos!
Precio único en WooCommerce
Esta forma de envío es un clásico, y seguramente la más utilizada en cualquier instalación de WooCommerce. Básicamente nos permite poner un coste de envío por defecto, así como un coste específico para cada clase de envío que tengamos configurada (si es que tenemos alguna configurada).

Podemos establecer un coste de envío, el país y si está sujeto a impuestos
Como podéis ver, la configuración es muy simple. Podemos colocarle un nombre, elegir los países en los que está permitido, elegir si se le debe añadir IVA o no, y finalmente el coste en sí, en este caso, son 5€.
A partir de aquí, se le pueden agregar coses añadidos, en función de algunas variables. Estos costes pueden ser por cada pedido, por cada artículo, o por cada clase de envío.

Podemos agregar costes extras en funciona de algunas variables
Es importante entender que todos estos costes se AGREGARÁN al coste introducido anteriormente. Así pues, si colocamos 5€ para "cualquier clase" de envío, eso se sumará a los 5€ anteriores, haciendo un total de 10.
También podemos poner los gastos de gestión, que se sumarán al total. Así pues, si colocamos 1€ de costo por cualquier clase de envío y 1€ de gastos de gestión, el total de transporte será de 7€ (5€ + 1€ + 1€).
Tanto los costes por clase, como los costes de gestión se pueden establecer con un valor absoluto, o con un porcentaje sobre el importe de la compra.
Por otra parte, podemos establecer una cantidad mínima para la manipulación (los gastos de gestión). Esto significa que si el coste no llega a ese mínimo, se aumentará automáticamente. Por ejemplo, si tenemos que los gastos de gestión suben a 3€, pero tenemos establecido un mínimo de 5€, en el total del pedido se sumaran los 5€, pues es el mínimo.
Y finalmente, podemos agregar varias tarifas adicionales, para que el cliente pueda elegir:

Podemos añadir varias tarifas adicionales
En este caso hemos añadido el envío rápido, que incrementará 3€ el coste del transporte, y el súper rápido, que aumentará 6€. Esto lo podemos ver en el carrito de la siguiente forma:

El cliente podrá elegir la forma de envío
Y con esto concluimos el método de "Precio único". Pero no se vayan todavía, aún hay más. Veamos que otras opciones de envío tenemos:
Envío gratuito en WooCommerce
Esta forma de envío es mucho más simple de configurar, por su propia naturaleza, pues se trata de un envío a coste cero. Sin complicaciones, ni extras:

El envío gratuito puede ser un reclamo muy bueno para los clientes
Lo que si que nos deja elegir son los países a los que se limita el envío gratis (no sea caso que nos haga el pedido alguien de Australia) y también si hay un importe mínimo para envío gratuito. Esta técnica de marketing es muy útil para aumentar el ticket medio de compra en tu eCommerce.
Por otra parte, también podemos establecer que sea necesario un cupón de transporte gratuito o no, para poder optar a esa opción.
Si añadimos esta configuración de transportes a la anterior, veremos que la opción de transporte gratuito aparece en las opciones de transporte que ya teníamos establecida:

Ya tenemos la opción de transporte gratuito
Así pues, ya tenemos cubierto el precio único y el transporte gratuito. ¿Pero qué pasa si nos hacen un pedido internacional, que nos es mucho más caro? ¿Cómo podemos establecer un precio aparte? Fácil, con el envío internacional.
Envío internacional en WooCommerce
Este tipo de envío nos permite establecer otro coste de envío en el caso que la dirección donde tengamos que mandar el producto esté en otro país.

El envío internacional nos permite colocar otro precio para envíos internacionales
En este caso, podemos configurar las siguientes preferencias:
- Disponibilidad y países: Países que queremos incluir o excluir de esta tarifa.
- Situación fiscal: Si debemos añadir IVA al transporte.
- Costo añadido: Si este coste es por pedido, producto o clase de envío.
- Gastos de gestión: Importe o porcentaje para la manipulación.
- Cantidad mínima: Un mínimo a cobrar si los gastos de gestión no llegan a ese importe.

Ya hemos añadido el envío internacional al listado
Como podéis ver, configurando esta opción, ya tenemos un posible envío más. El Internacional. En este caso son los 50€ establecidos, más el mínimo de 10€.
¿Pero qué pasa si es todo lo contrario? ¿Y si nuestro cliente vive justo en nuestra ciudad? ¿Podemos hacerle un precio especial? Por supuesto que sí, veamos cómo.
Envío local en WooCommerce
El envío local nos permite introducir una tarifa de transporte alternativa en el caso que el cliente resida en la misma ciudad que nosotros, o en los códigos postales que le indiquemos.

Podemos establecer un precio más económico para los clientes más cercanos
El precio de transporte local puede ser un importe fijo, o variable en función del importe de la compra, y nos permite restringir por códigos postales, de forma que si tenemos varias tiendas, podemos introducir los códigos postales cercanos a las mismas.
De esta forma, añadimos una nueva opción de transporte a nuestra lista particular. Aquí la tenemos:

Ya tenemos a nuestra disposición el envío local
Fijémonos que ahora que hemos introducido el código postal correspondiente, nos desaparece la opción de envío internacional, pues no tendría sentido ofrecerlo a alguien que introduce su dirección y sabemos que está en el propio país.
Recordemos que WooCommere sólo mostrará las opciones de envío disponibles. Así pues, si el pedido fuera inferior a 50€, tampoco aparecería el envío gratuito.
Y ahora veremos la última opción de envío. El "no envío". O sea, que nos lo vengan a buscar a la tienda. Veamos cómo funciona.
Recogida local en WooCommerce
Y llegamos al último de los métodos que van de serie con WooCommerce. El de recogida local, que básicamente quiere decir que el cliente vendrá a recoger el pedido a la tienda, o en alguna de las tiendas.
Algunos os preguntaréis qué sentido tiene este método, ya que si el cliente tiene que desplazarse a la tienda, ya lo pagará allí. Pero en ocasiones quieren reservar el producto antes que se agote, o en ese momento se encuentran fuera de la ciudad. O incluso en algunos casos por comodidad. El caso es que si queremos, podemos activar este método muy fácilmente:

La recogida local permite a los clientes a venir a buscar el producto
Lo único que podemos establecer en este caso es un límite por países y por códigos postales, pero incluso eso es opcional. Parece de sentido común que esta opción sólo la seleccionará gente de nuestro país, cercanos a la tienda. Pero vamos, que si alguien de Helsinki quiere venir a buscar el pedido, ningún problema, no les vamos a decir que no.
Así pues, con este último método ya tenemos las 5 opciones de envío que van por defecto en WooCommerce. Pero eso no quiere decir que sean los únicos. Tenemos algunos de más que podemos conseguir gracias a ciertos plugins. ¡Echémosles un vistazos!
Costes de envío en WooCommerce según zonas
Seguramente os habréis fijado en un detalle. A nivel geográfico hemos podido establecer tres tipos de zonas: Local, nacional y internacional.
Pero eso deja mucho que desear, ya que solamente podemos listar los países que consideremos "internacionales" y listos, pero no podemos podemos establecer unos gastos en función de cada país, que sería lo normal, ya que las agencias de transporte no tienen una única tarifa "internacional" cajón de sastre, sino que depende de cada país y zona. Bien, pues si queremos hacer lo mismo, podemos hacerlo con el plugin Portes a cobrar según las formas y zonas de envío en WooCommerce.

Podemos establecer los costes según cualquier zona geográfica
Como podéis ver, este plugin es una gozada, pues nos permite establecer cualquier zona, sea un país o grupo de países, una provincia o grupos de provincias, o incluso a nivel de códigos postales.
Así pues, podemos establecer un precio para cualquier país europeo, otro para España, otro para la provincia de Madrid, e incluso otro para Las Rozas. Pero vamos, eso es únicamente un ejemplo para que os hagáis una idea.
Cada zona establecida tiene su propia configuración, en la que podemos establecer el título, si lleva impuestos, los gastos fijos de manipulación, y un máximo a aplicar, que será el límite que pagará el cliente.

Podemos establecer las condiciones para cada zona que definamos
Y a continuación podemos establecer los costes en sí, que también pueden ser por cada pedido, línea de pedido, producto o clase de envío.
Le podemos indicar un coste de manipulación (en euros o en porcentaje), un coste mínimo (que el cliente pagará como mínimo aunque el porcentaje sea inferior) y un coste máximo (que el cliente pagará como tope aunque el coste fuera superior).

Cada zona tiene sus propias tarifas de transporte
Evidentemente, eso hace que los métodos de "Precio único", "Envío gratuito", "Envío internacional" y "Envío local" que vienen por defecto en WooCommerce se reduzcan a una broma, comparado con este único método que los abarca todos, y añade mucha más flexibilidad. De hecho, este plugin no solamente puede establecer precios por zonas geográficas, sino mucho más. Entre otras cosas, las dimensiones y peso del pedido.
Costes de envío en WooCommerce según peso
Pues sí, efectivamente. Con el plugin de portes a cobrar según las formas y zonas de envío en WooCommerce cada una de estas zonas tiene sus propias tarifas, pero resulta que estas a su vez pueden depender otras variables. Una de las más clásicas es según el peso de los productos a enviar.

Podemos establecer tantos tramos por peso como queramos
Como veis en el ejemplo, hemos establecido tres precios en función de si el peso del pedido está entre 1kg y 3kg, entre 4kg y 10kg, o más de 10kg. Evidentemente, podríamos poner todos los que quisiéramos más.
Además, el precio que establecemos aquí puede ser absoluto (en euros), variable (en porcentaje), por producto, o por pedido. O sea, flexibilidad total. Y eso no es todo. También podemos hacerlo por precio.
Costes de envío en WooCommerce según precio
Pues sí. Con el mismo plugin podemos establecer diferentes costes de envío según el importe total del pedido. Cuanto más dinero gasten, más barato les podemos dejar el pedido (o al revés).

Podemos definir el coste de envío según lo que se gaste el cliente
En este caso hemos establecido tres rangos. Hasta 60€, entre 60€ y 100€, y más de 100€. Con unos precios respectivos de 5€, 2€ y transporte gratuito.
Como veis, este plugin es extremadamente flexible, y lo mejor es que te permite combinar todos los métodos, creando tantas combinaciones como quieras entre zonas, pesos y importes del pedido. Y lo mejor es que lo calculará todo automáticamente y mostrará un único precio final en el carrito, sin que el usuario tenga que seleccionar nada.
Y aunque parezca mentira, aún nos queda una última forma de envío. El envío por producto.
Costes de envío por producto en WooCommerce
En ocasiones, tenemos un producto en concreto que necesita de un transporte especial. Es una "excepción" a la regla. Quizás porque requiere un envío en frío, con un seguro especial, o incluso en el caso de mercancías peligrosas.
En ese caso, necesitaremos el plugin de gastos de envío por producto en WooCommerce, que nos permite establecer el gasto en la propia ficha del producto, con el resto de información de la pestaña de "Envío":

Podemos establecer el coste a nivel de producto
Como podéis ver en la imagen superior, dentro de la ficha de producto podemos ver una opción de "Per-product shipping", que nos permite establecer un precio especial (en este caso 80€) que se añadirá automáticamente como coste si el pedido incluye tal producto.
Además podemos establecer este coste de envío en función del país, el estado, la provincia e incluso el código postal.
Conclusión
WooCommerce tiene 5 métodos de envío por defecto que nos servirán en la mayoría de ocasiones: Precio único, envío gratuito, envío internacional, envío local y recogida local.
Pero en el caso que queramos hilar fino (precio por zonas, por peso, por producto o por importe de la compra) nos quedaremos cortos sin duda alguna, con lo que deberemos contar con algunos plugins para hacerlo posible.
Los costes de envío son también una poderosa arma de marketing con la que podemos jugar a nuestro favor. Si queréis saber más, echad un vistazo al curso de pricing en el que vemos varias técnicas y casos en los que los gastos de envío funcionan muy bien como herramienta de marketing, tanto online como tradicional. ;)