How to Fix Shopify Checkout Showing Wrong Shipping Rates
Shipping rates wrong or missing at checkout? Five hidden causes and how to fix Shopify checkout shipping in under 30 minutes.

Shopify checkout shows wrong or missing shipping rates when one of five hidden causes is silently breaking your config: a plan that does not include live carrier rates, a default package set to the wrong size, multiple shipping profiles splitting the cart, accelerated checkout with the phone field required, or a stale checkout session. The fix starts with confirming what your plan supports, then auditing your default package and profiles in Settings > Shipping and delivery.
You audited your shipping zones. You confirmed your default package size. You enabled carrier-calculated rates and saved the integration. The wrong rate still shows at checkout, or no rate shows at all, and Shopify Support keeps pointing you back at the same admin pages you already checked. The cause is almost always one of five structural issues, and four of them surface nothing in your admin to flag the problem. The fix takes under 30 minutes once you know which of the five is yours, but the diagnosis order matters more than the fix itself.
Why shipping rates show up wrong or missing
The wrong rate at checkout almost always traces back to one of five structural issues. None of them throws an error in admin, which is why merchants assume their config is fine and waste days messaging Shopify Support. To fix Shopify checkout shipping, you have to audit each cause in order, from most likely to least likely.
The five causes, in rough order of frequency: (1) your plan does not include carrier-calculated rates and you set them up anyway; (2) your default package has the wrong size or weight, so every order calculates against the wrong box; (3) you have multiple shipping profiles and Shopify is splitting the cart in ways you did not expect; (4) accelerated checkout, meaning Shop Pay and Google Pay, is hiding your app-generated rates; (5) the checkout session is caching outdated rates from a customer's earlier visit.
A merchant on the Shopify Community thread for default-package issues reported losing roughly $5 per order on a small box because their actual shipments went out in a larger box. At 100 orders per month that is $500 in margin gone, and the storefront looks fine. That is the gap this guide closes.
Whether your plan supports carrier-calculated rates
This is the single most common cause of "no rates appearing at checkout." Shopify locks live carrier-calculated rates, the real-time UPS, USPS, FedEx, and DHL quotes pulled when a customer reaches checkout, to specific plan tiers. On Basic, you can connect your carrier account, save the integration, and run test checkouts that show absolutely nothing. Shopify shows no error or warning anywhere in admin. The rate field is just blank.
To check what your plan supports:
- Open Settings > Shipping and delivery.
- Click into your shipping profile.
- Look at the rate options offered. If you see only Custom rates (flat or weight-based) and not Carrier and app-calculated rates, your current plan does not include the feature.
The pricing math here is brutal for small stores. A merchant on the Shopify Community thread for plan billing got this answer from Shopify Support: to enable third-party carrier-calculated rates on the Basic plan, the merchant must upgrade to the Shopify plan (about $66 a month more) and pay an additional $20 a month for the rates feature. Total: about $86 a month more than they were paying. For stores doing under $5K in monthly revenue, that math rarely works.
| Plan | Carrier-calculated rates | Add-on required |
|---|---|---|
| Basic | Not available | Cannot be added |
| Shopify | Yes, with the third-party rates add-on | $20/month |
| Advanced | Yes | None |
| Plus | Yes | None |
If you cannot upgrade, the practical workaround is calibrated flat rates. Run test orders to about 20 zip codes that span your shipping range: cheapest, most expensive, and average. Take the actual label costs from those test orders and set a single flat rate slightly above the average. You will over-collect on some orders and under-collect on others, but you will not lose customers to blank rates at checkout.
How does the default package setting break my checkout shipping?
Even when your plan supports carrier rates, the default package setting can quietly cost you margin every day. Shopify lets you save multiple package types, but only the one marked default is used to calculate rates at checkout. If your default is a small mailer and you actually ship most orders in a medium box, every checkout under-quotes the freight. If you want shipping rate accuracy back, the default package is the first place to look.
The mechanic that catches most merchants by surprise: shipping rates are calculated using the default package weight plus the item weight. If your default package itself weighs 0.5 lb and your three-item order weighs 2.5 lb, Shopify quotes the rate for a 3.0 lb shipment. That can push the order into the next rate bracket without you ever noticing.
To audit and fix it:
- Go to Settings > Shipping and delivery > Saved packages.
- Identify which package is currently default.
- Compare its dimensions and weight against the box you actually pack most orders in.
- If they do not match, edit or replace the default package. Use the box that represents your typical order, not your smallest or largest.
- Run a test checkout with a representative product and confirm the rate matches what you would actually pay for that label.
If your catalog spans wildly different sizes (a wooden spoon and a cast-iron pan in the same cart, for example), a single default will never be accurate. Two third-party apps recommended repeatedly in Shopify Community threads, Intuitive Shipping and Smart Boxing, handle multi-box logic by picking the right package per cart. Both have free testing modes you can run without committing to a paid plan.
Why does adding free shipping to one product zero out my whole cart?
This is the bug that is quietly costing multi-vendor and multi-product-type stores real money. Shopify supports multiple shipping profiles so you can apply different rates to different product types or fulfillment locations. When a cart contains items from more than one profile, Shopify splits the cart, calculates rates per profile, and merges the totals.
The bug: if any one profile's items qualify for a free-shipping threshold, the entire cart can ship at $0, including items from a different profile that should still carry a fee. A Shopify Community thread documenting the issue reproduced four scenarios, escalated to Shopify Support, and got told to file it as a development request. There is no fix from Shopify and no ETA.
To fix Shopify checkout when this multi-profile bug is the cause, here is the workaround that actually holds up:
- Open Settings > Shipping and delivery and review every shipping profile.
- Identify which profiles have a free-shipping threshold (for example, "free shipping over $75").
- Move all free-shipping logic out of the shipping profiles and into a discount instead. Go to Discounts, create an automatic discount with the type Free shipping, and set the same minimum-spend condition.
- Test with a mixed cart that pulls items from two different profiles where one would have hit the threshold. The discount-based rule applies cleanly to the whole order, and the profile-based rule that was triggering the cart-zeroing bug is gone.
This restructure also gives you cleaner reporting. Free shipping shows up as a discount in your finance reports instead of vanishing into shipping revenue.
How do I make rates show up on Shop Pay and Google Pay?
If your standard checkout shows rates correctly but Shop Pay or Google Pay shows nothing, the cause is one specific setting that interacts badly with app-generated rates. App-generated rates, meaning rates from a third-party app using Shopify's Carrier Services API, do not display on accelerated checkout methods when the phone field is set to required.
The fix is documented in a solved Shopify Community thread on Shop Pay shipping. The original merchant who reported it confirmed: "We've since removed the phone number requirement, and we now show in express checkout."
To do this:
- In your Shopify admin, go to Settings > Checkout.
- Scroll to Customer contact or Customer information.
- Set the phone-number field to Optional instead of Required.
- Save and run a test checkout from Shop Pay and Google Pay using a real shipping address.
If you genuinely need the phone number for fulfillment (some couriers require it for delivery), keep the field on the checkout but set it to optional, and request the phone number in your post-purchase confirmation flow instead. You will collect the same data without breaking accelerated checkout.
There is also a quieter cause worth knowing about: Shopify's checkout session caches the rates a customer first saw. If you change rates while a customer has an open checkout tab, they will keep seeing the old rates until they start a fresh session. When a customer emails saying their rate does not match what is in your admin, ask them to clear cache or open an incognito window before you assume a config bug.
How do I prevent these checkout errors from coming back?
Most merchants who solve their shipping rates for good build the same habit: run a test checkout every time you change a product, a profile, or a package, especially before high-traffic periods like a launch or a Black Friday weekend. Shipping has too many moving parts, and Shopify does not warn you when those parts disagree.
The help1 store scanner flags missing shipping zones, plan-versus-feature mismatches, and free-shipping rules that overlap with multi-profile setups. The scan runs in about 30 seconds and surfaces every issue with its fix, so you do not have to remember which Settings page hides which footgun. If your shipping config is more tangled than this guide can handle, a help1 expert can fix Shopify checkout shipping problems with you live. Bring your store and we will walk through the test checkouts together.
Open Settings > Shipping and delivery > Saved packages right now and check which package is set as default. If its dimensions or weight do not match the box you actually ship in, you have likely been losing $1 to $5 per order without seeing it. That is a 10-minute fix you can do before lunch. If you want to fix Shopify checkout shipping issues you cannot pin down on your own, your first chat with a help1 expert is free.
Still stuck? Talk to an expert.
Our vetted Shopify experts can fix this issue for you in a live session. $39 per session. Your first 15 minutes are free.