Shipping rates not showing at checkout › Shipping app rates
Shopify checkout diagnosticsShipStation, Shippo, Easyship or Printful rates not showing at checkout
You installed a shipping app, set up its rates, and the buyer still sees your old flat rate, or no delivery option at all. Shipping apps reach checkout through the same door as UPS or FedEx accounts, so they fail for the same reasons, plus a few of their own. Start with a question many merchants skip: does your app show rates at a Shopify checkout at all?
First: labels, or rates at checkout?
Most shipping apps buy and print labels after the order. Only some of them also send prices to checkout before the order, and that is a separate feature with its own setup. Here is what each app's own help pages say today.
| App | Rates at a Shopify checkout? | What the app calls it |
|---|---|---|
| ShipStation | Yes. Shopify is in its list of supported selling channels | Checkout Rates: live, flat or free options you define in ShipStation |
| Easyship | Yes | Rates at Checkout, activated under Connect → Store → Shipping at Checkout |
| Printful | Yes, two ways | Automatic flat rates pushed into Printful shipping profiles, or live shipping rates |
| Shippo | Not natively | Its Rates at Checkout help page says: “This native integration is currently Wix-only”. It adds that you may be able to build rates on another platform with its API |
So if you use Shippo on Shopify, Shippo prints your labels, but the prices at checkout come from your own Shopify rates. A missing “Shippo rate” is not a fault: there is none to show, unless you or another app built one on Shippo's API. A merchant put it this way in a 2024 Shopify Community thread: Shippo does not allow calculated rates on Shopify “unless integrated via API”. If you want your Shippo carriers' prices at checkout, that takes another app, and the requirements below then apply to that app.
How app rates reach checkout
When a buyer reaches the shipping step, Shopify sends the cart and the address to the app. The app asks its carriers, then answers with rates. Shopify's own troubleshooting page says it plainly: apps that display shipping rates at checkout “rely on the app or carrier to provide a rate during checkout”. If the app uses carrier-calculated shipping to provide rates, the Shopify-side checks for carrier rates apply too: accurate product weights and dimensions, and a valid physical origin address.
Shopify's developer documentation sets the rules for that call. The app has 10 seconds to answer at most, less when the store gets many rate requests per minute. “There is no retry mechanism. The response must be successful on the first try.” A slow or failed answer means no rates from that app for that cart.
The causes, one by one
Your plan does not include carrier-calculated shipping
This is the first thing Shopify asks you to check for app rates. Shopify's plan table for third-party carrier-calculated shipping (CCS):
- Advanced and Plus: included.
- Grow: “Available for an additional monthly fee, or included with annual billing.” The monthly fee is added by Shopify Support.
- All other plans: “Not available.”
The apps say the same in their own words. Easyship asks you to make sure your store has “3rd Party Calculated Rates enabled”. Printful says live rates are not available on Basic stores created after 1 January 2023, and that on Grow you ask Shopify Support to enable carrier-calculated shipping, for 20 USD a month. ShipStation's help says Shopify stores need Advanced or higher, while stores on lower plans that switched to annual billing or paid for CCS before 1 January 2023 keep access.
One ShipStation case is worth knowing. If ShipStation asks you to upgrade your Shopify plan while you are already on an eligible one, its help says the Carrier Services endpoint has not been enabled on your Shopify account, and you must ask Shopify to enable it.
The feature is not switched on in the app
Installing the app connects your orders. Checkout rates are a second switch, inside the app:
- ShipStation. Account Settings → Selling Channels → Store Setup → Edit Store Details → Checkout Rates tab → Connect to Store. Then each rate you create must have its toggle in the Active position. ShipStation adds that, after you register, it can take from 30 minutes to 24 hours before its rates appear in Shopify.
- Easyship. Connect → Store → Shipping at Checkout → Activate.
- Printful. Dashboard → Settings → Store settings → Shipping → tick Enable Printful's live shipping rates for your storefront → Save.
The app's rate is not in the buyer's zone
An app rate is a shipping option like any other: it lives in one zone of one shipping profile. Shopify's check for app rates: the test address must match “a shipping zone where the app rate provider is active.” A country left in a zone that only has a flat rate gets the flat rate, not the app.
- Easyship asks you to set up your zones in the General profile, choose Use carrier or app to calculate rates with Easyship, select all services and tick Automatically show new shipping services to customers when they become available. Its words: “This is essential in order for live checkout to work properly.” Services you want to hide are blocked in Easyship's Shipping Rules instead.
- ShipStation asks for the same Automatically show new shipping services option on the rate, with Standard Delivery ticked in the services list.
- Printful: when you turn on live rates, Printful removes its flat rate profiles and moves your products to the General profile. There you should have rates for the Printful App location, with “Printful Shipping (Rates provided by app)” applied to every zone where you sell. Printful does not repair this profile for you if it is changed later, so check it by hand.
Products only get the rates of their own profile. If a product was moved to a custom profile without the app's rate, it does not get the app's rate. More on products in separate profiles.
Products have no weight, or are not synced
Apps price a parcel, and they need data to build it.
- ShipStation: item weight is required for live rates. “If no weights are configured for the item in either ShipStation or your store, your carriers will not send a rate for that shipment.” For US and Canadian accounts it sends weight and postal codes, from your default Ship From location, as package type “Package”. It recommends product weights that match shipping weights.
- Easyship: products must be synced to Easyship with weight, dimensions and product category, and you should save the boxes you use, because Easyship picks a saved box for each cart.
- Printful: “Live rates only apply to synced products. If a product isn't synced in your Printful Dashboard, we can't calculate a live rate for it.”
On the Shopify side, physical products need a shipping weight in the right unit, and the location they ship from must be active with a valid address. Shopify notes that app locations have no physical address, so carrier-calculated rates cannot use them.
The app's own rules hide the option
Each app has settings that decide what the buyer sees, and they can remove an option on purpose.
- Easyship: “If you have rules that only use certain couriers, and those said couriers are unavailable, no options will display.” Its advice is to check whether your Shipping Rules are too restrictive, and to keep as few zones as you can.
- ShipStation: each live rate has a backup setting for when live rates are unavailable. With Do not display this rate, the option is simply not shown. The other choices are a flat amount or a percentage of the cart. ShipStation's Preview button greys out options that would not show, with a tooltip saying why.
- Printful: a shipping method that is not available in the buyer's area does not appear. Its example: where Express is not supported, only Standard options show.
Your edits to an app's profile were overwritten
Printful's flat rates live in shipping profiles that Printful controls. Printful says changes you make to them are overwritten at the next sync, and Shopify confirms that apps which create shipping profiles can reset them. To use your own rates, Shopify's advice is to move the products out of the app's profile into one you control, shipping from the app's location.
When they worked yesterday
If nothing above changed, the likely cause is the call itself: the app or one of its carriers answered too slowly or with an error, with no retry. Shopify's backup rates then help, but only in one case: when all app or carrier rates for a shipment fail and no other eligible rate is available. If one app answers and another fails, the buyer just sees fewer options. A flat rate for the same destination is always shown when eligible, so it also works as a safety net. More on the time limit and backup rates in carrier-calculated shipping not showing.
If your Shopify settings are right and the app still returns nothing, Shopify's advice is to contact the app developer, who can look at the rate request, the account credentials and the service coverage. Also check the app's status page, and Shopify's.
A quick checklist
- Your app sends rates to a Shopify checkout at all (Shippo, natively, does not).
- Your plan, and its billing cycle, include carrier-calculated shipping.
- The checkout feature is activated in the app, and each rate is active.
- The app's rate exists in the profile of the product, in every zone where you sell.
- All services are selected, with “Automatically show new shipping services” ticked.
- Every product has a weight, and is synced to the app.
- The app's rules and backup settings are not hiding the option.
- A flat rate or acceptable backup rates exist for when the app fails.
What our store check covers, honestly
The free store check builds one cart per country, as an anonymous buyer, with one large-city address (New York for the US, Toronto for Canada, London for the UK…). When a country has no fixed rate, it also asks for live carrier and app rates, the way checkout does, and lists what comes back: the ShipStation, Easyship or Printful option, with its price, or nothing. So you see, country by country, whether your app's option reaches the buyer. If the app does not answer within 8 seconds, the country is reported as Could not confirm, not as broken.
Limits worth knowing: we never see your admin, your app settings or your plan. We test one product, so mixed carts, discount codes, and logged-in or B2B buyers are not covered. When a country already has a flat rate, we do not ask for app rates there, so a missing app option next to a working flat rate will not show. Monitoring re-checks every 6 hours and emails you when a country loses its delivery options or a known option disappears.
Related
Sources, all checked 18 October 2026: Shopify Help Center,
“Third-party carrier-calculated shipping”, “Third-party shipping carrier accounts and
availability” and “Troubleshooting and testing shipping rates”; Shopify developer
documentation, DeliveryCarrierService. ShipStation Help, “Send Rates to Store
Checkout Overview”, “Connect Checkout Rates to Your Store” and “Configure Checkout Rates in
ShipStation”. Easyship Help Center, “Shopify: Installing Rates at Checkout” and “Rates at
Checkout Errors & Troubleshooting”. Printful Help Center, “How do live shipping rates
work?” and “How do I set up shipping for my Shopify store?”. Shippo Help Center, “Setting Up
Live Shipping Rates at Checkout”. Merchant report from the
Shopify Community
(July 2024).