While WooCommerce eliminates a lot of the complexities of setting up an ecommerce store, it’s still a challenging and time-consuming process: creating product descriptions, adding images, ensuring that prices and inventory tracking are accurate, and so on. But one of the biggest challenges that online store owners face is accurately estimating shipping costs.
Many store owners sidestep this complexity by offering free shipping, flat rate shipping, or packing their items in flat rate shipping boxes. This greatly simplifies the shipping process, but results in higher shipping costs, due to businesses eating shipping costs, or turning off customers by attempting to factor shipping costs into product pricing.
The other option is to rely on the default weight-based shipping estimates produced by shipping calculators, but these estimates can dissuade customers if the shipping quotes are too high, or cost a business dearly if they turn out to be less than the actual shipping cost. In addition, if you offer international shipping, it’s simply not feasible to account for the high cost of overseas shipping without generating a customized quote.
This is why generating accurate shipping cost estimates is so important—to keep customers happy, while ensuring the profitability of your business.
But gathering the necessary information and entering it into WooCommerce is challenging. We have assisted clients with this process, and it can take dozens of hours for businesses that carry products that vary a great deal in weight and size. For those that sell smaller and/or more consistently sized products, this isn’t nearly as much of an ordeal.
Below is an outline of how to configure your shipping options in WooCommerce in order to dynamically generate accurate shipping estimates for your products.
By far the most popular shippers in the United States are the United States Postal Service (USPS), United Parcel Service (UPS), and FedEx. It’s not unusual for ecommerce sites to offer all three options, and odds are that you’ll support at least one of them.
Take some time to play around with their sites’ shipping calculators to see how much it would cost to ship a few sample packages that are reasonably similar to what you’ll typically ship. If one of them seems particularly expensive, it might be wise to just go with the other two. Take note—if you choose UPS and/or FedEx, you may be able to receive a discount on shipping via “negotiated rates.” USPS also currently offers a Commercial Plus Pricing program for high volume shippers.
It’s also possible to offer certain carriers for only domestic shipping, and others for international shipping (to some or all foreign countries—if you want to ship internationally, take some time to figure out which countries you want to support). From our personal experience, the USPS seems to charges the lowest international rates, in part due to lower customs expenses than other carriers charge. As a result, many of our customers have opted to offer all three major carriers for domestic shipping, but only USPS for international shipments. But we recommend that you take some time to experiment with each carrier’s shipping calculator, and determine what works best in your specific situation.
Keep in mind, if you sell restricted products such as alcohol or other such products, you may have to specify your shipping options down to the state level, so you don’t inadvertently ship a product to a state where the shipment of that product is banned.
WooCommerce does not allow for weight- and size-based shipping calculation straight out of the box. In order to implement this feature, you’ll need to purchase and install premium plugins that integrate with the shipping databases of each of the carriers that you wish to use. The most popular FedEx, UPS, and USPS shipping plugins are sold by WooCommerce.
If you’ve obtained a discount on shipping from one or more carriers, you will have been given an account ID or user name and a password. You’ll have to enter this information into the plugin settings in order to account for the discount in your shipping calculations.
However, there is an annoying limitation with the WooCommerce UPS and USPS plugins: they do not automatically detect whether an address is residential or commercial. Instead, they force you to select during setup only residential or commercial addresses. This is a problem, because commercial addresses can be significantly cheaper to ship to, and you’ll overpay if the plugin calculates residential rates for a commercial address.
For whatever reason, the WooCommerce FedEx plugin does support residential/commercial address detection, but the others don’t.
After a bit of research, we found that UPS, USPS, and Stamps.com plugins developed by WooForce and sold on XAdapter.com did support address detection, and seemed to work pretty well overall. However, these plugins are not developed directly by WooCommerce, so they may have minor issues. Our general recommendation would be to only use the WooForce plugins if you plan on shipping to a large number of both residential and commercial addresses. Otherwise, the WooCommerce-developed plugins should work fine.
In order for the shipping calculator to find the cheapest shipping option for every possible order, you will need to measure the dimensions and weight of each and every product that you sell.
These measurements should reflect the state of the product when it’s placed in a shipping box. If your products are packaged, they should be in their packaging. If you sell fragile items that are wrapped up in bubble wrap or any other secondary packing material, they should be prepared accordingly, then measured and weighed. If any of your products are irregularly shaped, you should measure each dimension—length, width, and height—at the longest point. For instance, if you have a product that has cone-shaped packaging, don’t measure the width of the pointy end, measure the width of the flat base.
Once you have all of this information, it should be entered “product data” section for each product’s WooCommerce page, under “shipping.”
In the example above, the product weighs 0.5644 pounds, and measures 13” x 14” x 0.83”.
Just as the shipping calculator’s algorithm needs to know your products’ dimensions and weights in order to find the cheapest shipping option, it needs the dimensions and weights of your shipping boxes as well.
For each shipping box that you use, you will need to collect three sets of information: weight, the outer dimensions (width, length, and height), and the inner dimensions.
Measuring the outer and inner dimensions is simple enough. From our experience, we found that the inner dimensions were usually about 0.5” less than the corresponding outer dimensions. So, if the outer width of a box was 14”, the inner width would be 13.5”. However, if you use inserts or other sorts of padding—especially if you ship frozen or refrigerated products—then you will need to install these inserts before measuring the inner dimensions.
Lastly, you’ll need to weigh each box. However, to ensure that this weight is accurate, you should include the weight of tape, packing peanuts, padding, insulation, and any other items you use to pack your products. The best way to do this is to “pack” the empty box as if you’re packing a shipment, seal it with tape, and then weigh the finished product.
The difference of a couple ounces usually doesn’t make a difference for domestic shipments, but can make a huge difference for international shipments. One of our customers who ships large, lightweight items discovered that the weight of the tape used to seal their boxes could result in a difference of as much as $10 for an international shipment.
Once you have collected all of this data, you’ll need to enter it into the appropriate section of each shipping carrier plugin. The location of this information will vary depending on the plugin you use. As an example, below is the “Custom Box Dimensions” section for the UPS plugin. Note the “Max Weight” specification, which will be important to include if you ship heavy items.
Chances are that you aren’t going to support every shipping option that each carrier offers. Each shipping plugin will allow you to select which options you wish to offer by checking a box next to your desired options.
In addition, all of the popular plugins allow you to tack on a price adjustment for each shipping option. You can use this adjustment to cover the cost of shipping materials, employee time, or any other overhead. These adjustments can be entered in the form of a specific price adjustment (e.g. $0.25), or a percentage based price adjustment (e.g. 10%). FYI, if you select the percentage-based price adjustment, this will only increase the shipping quote by that amount, not the overall shopping cart total.
While you may think you have everything perfect, it’s still a good idea to test your WooCommerce store’s shipping estimates before going live. Create a few test shipments, and then take the shipping weight and dimensions for each test order and enter them into shipment calculators on each carrier’s website.
There will always be differences between your estimates and the carriers’ quotes. There is no way to achieve perfection. The goal is simply to be consistently close to the actual shipping cost for each order. If you see major differences between your estimates and the actual shipping quotes, then you’ll need to go back and check if you measured something incorrectly, or if your measurements weren’t entered into the WooCommerce backend correctly.
Once your estimates are sufficiently accurate, then you’re ready to go live! Always be on the lookout for opportunities to reduce your costs or make your estimates more accurate, but for now you’ll be able to focus on what really matters: your customers.