Shipping rates not showing at checkout › UPS, FedEx or DHL rates
Shopify checkout diagnosticsUPS, FedEx or DHL rates not showing at checkout
You connected a carrier, picked its services, saved. At checkout the buyer sees your flat rate, or nothing at all. Before you look at timeouts and outages, check the causes that are specific to the big carriers: which kind of carrier rate you are using, your plan, the account connection, and services Shopify cannot show at checkout.
“The carrier rates I have enabled from UPS do not appear as options under ‘Shipping method’.”
That is one merchant in a 2022 Shopify Community thread. Nobody in the thread found the cause. Most cases have a more ordinary explanation, and the first one is a question many merchants cannot answer straight away: whose rates are these?
First: Shopify's carrier rates, or your own account?
Shopify offers two different kinds of carrier-calculated rates, and they have different rules.
| Shopify's built-in carrier rates | Your own carrier account | |
|---|---|---|
| Prices | Based on Shopify's own account with the carrier | The rates of your own account, negotiated rates included |
| Plan | All plans | Included on Advanced and Plus. On Grow, with yearly billing or a monthly fee. Not available on Basic or Starter |
| Carriers | Depends on your fulfilment location. United States: USPS, DHL and UPS. Canada: Canada Post and Purolator. United Kingdom: DPD UK, InPost UK and Royal Mail. Germany: DHL Paket. Italy: BRT. Spain: SEUR | UPS and FedEx (locations worldwide), USPS (US locations), Canada Post (Canadian locations), Australia Post (Australian locations) |
Three things follow from Shopify's own tables, and they explain a lot of “missing” rates:
- FedEx at checkout needs your own account. FedEx is not in Shopify's list of built-in checkout rates for any country, so it takes a FedEx account and a plan that includes third-party carrier-calculated shipping.
- UPS from outside the US needs your own account. A Canadian store can buy UPS labels through Shopify, but the built-in checkout rates in Canada are Canada Post and Purolator.
- A DHL Express account of your own cannot be connected directly. DHL is not in the list of carrier accounts you can connect. Outside the built-in rates above, DHL rates at checkout come through an app.
The causes, one by one
Your plan does not include third-party carrier-calculated shipping
Your own UPS, FedEx or USPS rates only reach checkout if your plan includes carrier-calculated shipping. Shopify's troubleshooting list for carrier accounts puts this second, right after the connection itself. If you changed plan, or moved a Grow store from yearly to monthly billing, check that the feature is still active. Apps that use carrier-calculated shipping to provide rates need it too.
The account is no longer connected
Open Settings → Shipping and delivery → Carrier accounts and look at each carrier. Then test it: click the carrier, then Calculate rates, with a real package and destination. Shopify warns these are sample rates that may differ from checkout, but no rate at all is a clear signal.
- UPS. Connecting adds a Shopify entry in the Additional Users section of your UPS account. Shopify says this entry is required: if someone removes it, the accounts are no longer connected, and you need Shopify Support to fix it.
- FedEx. Your account number is not displayed after connecting, so a test is the only way to confirm it works. Shopify also says the integration does not detect changes made to your FedEx account after the connection; any change needs a reconnect. Its example: FedEx Ground Economy activated later will not show at checkout until you disconnect and reconnect.
Reconnecting is not always smooth. In a February 2026 Community thread, merchants in Spain and the US reported that the final FedEx security step failed after Shopify asked them to reconnect, while labels bought outside Shopify kept working. That is a report, not documented behaviour, and the thread ended with no fix.
UPS negotiated rates are not live yet
After you connect UPS, Shopify says it can take up to three business days before your negotiated rates show at checkout. If they still do not after that, Shopify's advice is to contact its support.
The service cannot be shown at checkout
Some services never appear, whatever you select: UPS SurePost, UPS Mail Innovations, UPS Access Point, UPS Simple Rate and FedEx One Rate rates cannot be displayed at checkout, even with carrier-calculated shipping. If the service your customers used to get was one of these, it is not a fault in your settings.
The service is not selected on the rate
A carrier rate is a shipping option inside one zone of one shipping profile, and you pick its services one by one. A service you did not tick is not shown. Shopify offers a box, Automatically include new services when they become available, for services the carrier adds later. Open the option with Edit shipping option and check both.
The carrier rate is not in the right profile or zone
Products only get the rates of their own shipping profile. If the carrier rate sits in the General profile and the product is in a custom one, that product gets the custom profile's rates only. The same goes for zones: the buyer's address must fall in a zone where the carrier rate exists. More on products in separate profiles.
The default package hides the other services
Carriers price a box, not your products. Shopify sends your store default package (or, for a single item, the package assigned to that variant) with the order's weight. If your products have a packed product size, Shopify instead packs each shipment into the smallest of your saved boxes that fits. Two traps:
- A carrier's own packaging as default. Shopify's example: with UPS Express Small Box as the default package, only UPS rates are displayed, and only the services that fit that package type. Use a custom box to get several carriers and services.
- A box too large or too heavy. Each carrier and service has its own minimum and maximum. A default package outside them gets no rate for that service. Use the outside dimensions of your box: they are what carriers charge on.
The origin is not a real address
Carriers price from somewhere. The fulfilment location must be active, with a valid address, and set to fulfil online orders. Shopify notes that app locations have no physical address, so carrier-calculated rates cannot use them. Both your origin and the buyer's address must be valid for the carrier.
When they worked yesterday
If nothing above changed, the likely cause is the call itself: the carrier or app must answer every checkout within a few seconds, with no retry. That is covered in carrier-calculated shipping not showing, with what backup rates do when it fails. One point worth knowing here: Shopify shows backup rates only when all carrier or app rates for a shipment fail and no other rate applies. A flat rate for the same destination is always displayed when it is eligible, so buyers may pick it even when the carrier works.
Rates showing, but not at the price you expect? Your own account shows your own account's rates, which can differ from what Shopify's labels cost. See shipping rates wrong at checkout.
A quick checklist
- Built-in rates or your own account? If your own: does your plan include carrier-calculated shipping?
- The account shows as connected, and Calculate rates returns something.
- UPS: the Shopify entry is still in Additional Users. FedEx: reconnected after any account change.
- The service is selectable at checkout at all (not SurePost, Simple Rate, One Rate…), and ticked on the rate.
- The rate exists in the profile of the product, in the zone of the buyer.
- The default package is a custom box, within the carrier's limits.
- The products ship from a location with a real address.
What our store check covers, honestly
The free store check puts one unit of one product in a cart, as an anonymous buyer, with one large-city address per country (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 rates, the way checkout does, and lists what comes back: UPS, FedEx, DHL or app rates, with their prices. If the carrier does not answer within 8 seconds, the country is reported as Could not confirm, not as broken.
Limits worth knowing: when a country already has a flat or tiered rate, we do not ask for carrier rates there, so a missing UPS option next to a working flat rate will not show. Shopify also limits how often a store's carrier rates can be read, so the result may be a reading from the last few hours, with its age shown. We never see your admin, your carrier account or your plan. Monitoring emails you when a country loses its delivery options or a known option disappears.
Related
Sources: Shopify Help Center, “Third-party carrier-calculated shipping”, “Third-party shipping carrier accounts and availability”, “Activating calculated shipping with UPS”, “Activating calculated shipping with FedEx”, “Setting up shipping zones and rates”, “Requirements and considerations for buying shipping labels”, “Setting up packages”, “Troubleshooting and testing shipping rates” and “Backup shipping rates”, checked 17 October 2026. Merchant reports from the Shopify Community.