How to Auto-Select the Lowest Shipping Rate with ShipStation Automation rules

ShipStation provides users with tools to configure shipments automatically called "automation rules". A common use case is creating automation rules to automatically assign orders with the cheapest shipping method.


Tyler Douglas

This guide walks you through setting up ShipStation automation rules to automatically select the cheapest shipping option for each order.

But first, a quick note. Automation rules in ShipStation are finite, static, and don’t query shipping rates in real-time. This means there’s no guarantee your automation rules will select the lowest rate for all of your shipments. 

You must create a set of assumptions to build out our automation rules that take into account some factors but not all. If carrier rates change tomorrow, your automation rules may no longer be as effective. Or for example, if an address has a surcharge not anticipated in our model, you will pay more than you expected to. 

If this is a problem for you, I recommend you check out (String). String integrates directly with ShipStation to update orders with the lowest cost shipping method based on real-time rates.

It can also intelligently select the right-size package for each order to save you time and make sure you’re getting accurate rates from proper dimensional weight. This is something ShipStation does not do, you can learn more about that here

Okay, let’s talk about how to set up automation rules that will try to apply the lowest cost shipping method to your orders!

How to Create Automation rules

First things first, you need to know how to create automation rules in ShipStation. If you already know how to do this, feel free to skip to the next section.

Step 1: Accessing Automation Rules

In ShipStation, Navigate to the 'Settings' gear icon in the upper right corner, then select 'Automation' and choose 'Automation Rules' from the dropdown menu. This is where you'll create your new rules.

Step 2: How to Create a New Rule

Click on 'Create a New Rule'. This opens a setup window where you can define the conditions and actions for your rule.

Step 3: Defining Rule Conditions

To apply a carrier/service to an order based on certain conditions, you’ll have to create “Order Criteria”. To do this, you’ll select the option under “if orders match the following criteria” called “Orders match these specific criteria”. The criteria you add will be based on the model we create shortly. 

Step 4: Setting the Rule Action to Apply the Selected Carrier/Service

In the action section, select the “Action Type” called “Set Carrier/Service/Package”.  In the “Service” dropdown, you’ll select the shipping options you want to use if the conditions you set in the last step are met. 

How to Build Your Model for Determining the Best Carrier and Service for Shipments

Now let’s talk about how you’re going to build a model to determine the cheapest carrier for each shipment. Again, this isn’t a perfect science and you can be more/less precise depending on the model we build. I will show you how you can build a model, and I’ll leave it up to you to determine how specific you want to get with it.

Step 1: Create Your Test Data Set

The first thing you want to do is create a set of mock shipments that you can use to test rates on. You’re going to need 2 sets of data to create your test data set. 

1. Data set 1: An address from each USPS Zone. “Zones” are a term USPS uses to quantify the distance something is being shipped to. There are 8 zones in the US.  If you already have shipments in ShipStation, you can follow this guide to export a csv to sample delivery addresses from. Make sure you add the “zone” field to the export.  If you don’t have shipments logged in ShipStation already, use this tool from USPS to find what the zones are relative to you and then you can add a random address from each zone to a spreadsheet. 

2. Data set 2: 3 or 4 test packages with different weights. At a minimum, you should have 1 under 1lb, 1 between 1 and 2 lbs, and 1 above 5 lbs. 

3. Finally, you’re going to combine these two data sets into one master set that includes at least one address from each zone and at least 3 package configurations for each address. To make it more robust, you can add additional test shipments like a "residential" and "commercial" address for each zone. If you already have orders logged in ShipStation, you can just use the export from data set 1 and curate it to include what’s needed for the test. 

Step 2: Creating Test Shipments in ShipStation

To begin testing rates in ShipStation, you need to create some dummy shipments that you can use to request live rates on. To do this, I recommend you create a dummy store in ShipStation by creating a new manual Store. 

1. To create the manual store, navigate to settings -> selling channels -> store setup -> connect a store. Then select the “ShipStation Connect” store option. This will let you create manual shipments in a store that you can use exclusively for testing. 

2. Navigate to the “orders” page in ShipStation and select the manual store you just created in the left hand menu bar. 

3. For each order in the data set you created in step 1, you’re going to create an order in the new ShipStation dummy store to match it. To do this, select the “New Order” button near the top of the page and enter all of the corresponding details from the mock orders you have in your spreadsheet. 

Step 3: Find the Cheapest Carrier for Each Test Shipment

Now that you have test shipments set up, you can begin testing rates on all of them. To do this, you’re going to go into each shipment you’ve created, and use the “calculator” tool to have ShipStation display all available carrier rates to you. 

When you find the cheapest option, make sure to take note of it in your spreadsheet full of test shipment data. This is what you’re going to use to create the automation rules we’ll apply later. 

After going through each shipment and doing the same thing, it’s time to build the automation rules!

Building Your New Automation rules

Now that you have the data and know how to create automation rules, let’s build them together. 

Following the instructions on how to create automation rules in the section called, “How to Create Automation rules”, you will build out a rule for each unique shipping configuration. 

Each configuration should be made up of a unique “weight” and “zone”. You’ll need to create a rule for each. It’s likely that all shipments under 1lb will always be cheapest with USPS Ground Advantage unless you’re using a consolidation service like UPS Mail Innovations or DHL Ecommerce. 

You can always create 1 rule for everything under 1lb to keep it simple. It’s also possible that multiple zones will have the same carrier be the cheapest for multiple weights, you can consolidate rules this way too. 

The Results

Now that you have automation rules set up, you should be able to start saving time and money by having ShipStation select the carrier/service for your orders.

Keep in mind that automation rules are rudimentary and are missing factors like “commercial vs residential” to determine what service to use so it won’t be perfect. 

If you’re booking to get the absolute lowest rate on every shipment, integrate String. String will update each order with the absolute lowest rate based on real-time data. 

Get your free savings analysis from String!