Why won't USPS or DHL rates show up at checkout for my new product?

A new product checks out fine with flat-rate shipping but comes back with no shipping options at all once carrier-calculated USPS or DHL rates are turned on. Here's what actually causes that and how to fix it.

shippingcarriersUSPSDHLcheckout

What's going on

A merchant adds a new product, and at checkout the carrier-calculated shipping options (USPS, DHL Express, or another connected carrier) simply don't show up. The customer is left with no shipping method at all, or checkout blocks entirely. Switch the shipping settings back to flat rate and the same product checks out fine, which points squarely at the live carrier rate request failing for this specific product rather than a broken checkout or theme.

This is a common and usually fixable issue, but it's frustrating because Shopify doesn't surface a clear error message when a carrier rate request comes back empty. It just quietly omits that shipping option, leaving the merchant to guess whether the problem is their carrier account, their shipping profile setup, or the product itself.

Because carrier-calculated rates are computed live based on the actual package, weight, dimensions, origin, and destination, any missing or malformed shipping data on the product, or any mismatch between the product's shipping profile and the carrier setup, is enough to make the rate request fail silently for that one item even though every other product prices normally.

Why it happens

Carrier-calculated shipping isn't a static table of rates, it's a live request to USPS, DHL, or whichever carrier you've connected, sent with the cart's actual weight, dimensions, origin location, and destination. If any of the data that request depends on is missing or invalid for the new product, most often a zero or blank weight, or a unit mismatch like kilograms entered where the store expects pounds, the carrier either rejects the request or returns nothing, and checkout simply shows no rate for that option rather than an explicit error.

The other frequent cause is structural rather than data entry: shipping rates are configured per shipping profile and per zone, and a newly created product can end up assigned to a different profile, or to a profile or zone that doesn't have carrier rates enabled or doesn't cover the fulfilling location, purely because it wasn't explicitly added to the same profile as the rest of your catalog.

Less commonly, the carrier account connection itself, its authorization status, billing status, or missing default package dimensions, is the culprit. That would usually affect more than one product, but it can surface first on a new item if it's the first time that specific weight or dimension combination has been sent to the carrier.

5 ways to fix it

1

Check the product's weight and physical-product flag first

Open the product, go to the Shipping section, and confirm "This is a physical product" is checked and that Weight is a real, non-zero number in the correct unit (lb, oz, kg, or g). Carriers price a shipment based on weight and package dimensions, so a product saved with a blank or zero weight, or a weight that's absurdly high because of a unit mix-up, can make the carrier return no valid service, which Shopify then reports simply as no shipping options. This is the most common cause when one product misbehaves while everything else on the same shipping setup works fine.

2

Confirm the product's shipping profile actually has carrier-calculated rates enabled for that zone

In Settings, Shipping and delivery, check which shipping profile the new product's variants are assigned to (the default general profile or a custom one you created for a specific location or product type). Carrier-calculated rates are configured per profile and per shipping zone, so a new product can end up in a profile or zone that only has flat rates set up, or in a zone that doesn't include the customer's shipping address at all. If the product is fulfilled from a location that isn't covered by that profile's zones, no carrier rate request is made for it.

3

Re-verify your carrier account connection and package settings

Carrier-calculated shipping pulls live rates through a connected carrier account, whether that's a service enabled through Shopify Shipping or a separate carrier account connected directly or via a rate-shopping app. Confirm the account credentials haven't expired, that the account is still authorized for the service levels you're offering, and that default package dimensions are filled in under shipping settings, since some carriers reject a rate request missing package dimensions even when weight is present. An intermittent carrier API issue or an account authorization problem can produce this same symptom and typically resolves once the account is reconnected.

4

Add a fallback shipping rate so checkout never comes up empty

In the shipping profile, set a fallback rate, a flat rate that only appears if the live carrier lookup fails or returns nothing. This doesn't fix the underlying carrier issue, but it keeps customers from hitting a checkout with zero shipping options while you diagnose the product-specific cause. A blocked checkout is a lost sale regardless of why the rate call failed, so this is worth setting up as a safety net even after you find the root cause.

5

If it's isolated to international rates, check the product's customs details

For international carriers, a product's declared value, country of origin, or HS code, if you've set one, can cause a shipment to be flagged as needing customs information the carrier doesn't return a standard rate for, especially for high-value or newly listed items. If the failure only shows up on international checkout rather than domestic shipping, review the product's customs fields and confirm they're filled in consistently with your other listings.

Bottom line

Nine times out of ten this comes down to the new product being saved without a weight or without the shipping data a carrier needs, or landing in a shipping profile or zone that isn't set up the same way as the rest of your catalog. Work through the product's shipping fields and profile assignment before assuming your carrier account itself is broken; flat rate working normally is a strong sign the carrier connection is fine and the gap is specific to this one product's configuration. If you routinely add products with inconsistent weight or shipping-profile data, a pre-publish checklist, or an app that flags missing weight and profile mismatches before a product goes live, can catch this before a customer ever hits a blocked checkout.

Still Stuck?

Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.