I finally got shipping on WooCommerce set up for one of my clients. It was rather difficult to figure out how to make it work exactly.
I know that WooCommerce offers a table rate shipping extension, but I, nor my client, wanted to invest $200 in a plugin that we weren’t sure would work for us.
I was looking for a plugin that would calculate the rates for me based on weight, package size, USPS, UPS, FedEx, etc. I thought it would be nice to have all that built in, but, I couldn’t find one that worked like I wanted.
I figured I’d have to just break down and write some code to make it happen, but I finally figured out a solution that worked for my client and I didn’t have to write a line of code.
My client wants to have Free Shipping for everyone in the US, but charge shipping to everyone outside the US. She has several products with different weights. I wasn’t sure how to calculate those rates. So, one of my developers figured out just how much it would cost to send each package to several different countries through the US Postal Service.
We didn’t calculate for all countries, but all that we did check were within a few dollars of the same price, so we set a flat rate price that would cover most, if not all, countries. My client was ok with setting a flat rate that covered most countries. She also decided to stick with the USPS. This made it quite a bit easier.
We found that everything below 6 pounds would cost about the same amount. The price jumped considerably at 6 pounds, so we set another rate to cover those costs on heavier packages.
Since WooCommerce does have a flat rate shipping method included, I decided to work with that. I tried international at first and that would work well if everything weighed the same, but it doesn’t. It would only let me enter one price.
I finally figured out how to make it work. I went to Products->Shipping Classes and added a ‘Light’ class for everything under 6 pounds and a ‘Heavy’ class for everything that weighed 6 pounds or more.
I had to, of course, enable shipping on the WooCommerce->Settings->Shipping page. Then I set up the Free Shipping options. I enabled Free Shipping and set the Method Availability to ‘Specific Countries’. I set Specific Countries to ‘United States’.
Then, to cover the International Countries I enabled the Flat Rate Shipping Method. I wish they had an option to ship to ALL countries EXCEPT so I could just exclude the US, but they don’t, so I had to list each country in the list except the US. Once I got into a rhythm of clicking the mouse and hitting the ‘Enter’ key, it was a fairly quick process.
I set the cost per item at $0.00 and added extra costs at the bottom of the page. I chose the option for shipping to be charged per item so that if they ordered more than one thing their shipping would go up so my client could cover her costs. She is willing to give refunds if needed, but at least she’s covered. She doesn’t get many orders where they order more than one product at a time.
For additional costs, I added one for the ‘Light’ shipping class for the amount it takes to ship something under 6 pounds. Then I added another for the ‘Heavy’ shipping class for everything over 6 pounds.
The only thing left was to add the correct shipping classes on each product. I had to make sure that all her digital products were set to ‘No Shipping Required’. I also had to make sure that her variations were also set correctly.
I set the parent to be either ‘Light’, ‘Heavy’ or ‘No Shipping Required’. If the product was a physical product then I had to go into each variation and decide whether it needed to be the same as the parent or if it were different.
This appears to work like a charm so far! My client is happy and it didn’t take as long as I thought it might. Most of the time it did take me was the research to find out how much it was going to cost to ship to each country through the US Postal Service. If we were using other shipping services such as UPS or FedEx, I would probably have to invest in a premium plugin or extension OR I would have to write my own.
Shipping can be a tricky thing on any website. What other creative ways have you used the Shipping options in WooCommerce? Or are you trying to figure out how to make a shipping puzzle work out now? Please share your experience below.