Shopify Shipping Not Working? Causes, Fixes & Diagnostic Guide

17 minutes to read
8 May, 2026

Quick answer: Shopify shipping fails for one of five reasons: no shipping zone covers the customer's country or region, the customer's order weight or price falls outside your defined rate brackets, the product is on a shipping profile with different rules, your carrier-calculated rates (UPS/FedEx/USPS) integration is failing, or your products are at a location that doesn't ship to the customer. The fastest diagnostic is the "Test rates" simulator inside Settings → Shipping and delivery → click into a profile → Manage rates — it shows exactly which rates appear for any address you enter.

AI Summary

Shopify shipping rates not showing, calculating wrong, or labels failing? Diagnose the real cause, fix common shipping issues, and learn when to hire a Shopify expert.

When Shopify shipping breaks, customers either don't see any rates at all, see the wrong rates, or get charged in ways that lose you money. Each of these costs you something different — abandoned carts when no rates show, refund disputes when rates are wrong, eroded margin when free shipping fires when it shouldn't.

Shipping is also where most ecommerce founders quietly lose money: research consistently shows that 60–70% of customers expect free shipping over a threshold, and abandoned-cart rates spike when shipping costs appear unexpectedly high or unavailable. Getting shipping right isn't just troubleshooting — it's a margin issue.

This guide covers:

  • The different ways Shopify shipping can "not work" (the symptom matters)
  • The real causes, in order of frequency
  • What Shopify handles natively vs what's on you
  • How to use Test rates and shipping profiles as your two-step diagnostic
  • DIY fixes for the most common shipping issues
  • When the problem is beyond DIY and needs a Shopify shipping expert
  • What shipping setup and optimization should cost

Why is my Shopify shipping not working?

Shopify shipping fails for one of these reasons: no shipping zone covers the customer's country or region (most common), the customer's order weight or price falls outside your rate brackets, the affected product is on a shipping profile with different rules, your carrier-calculated rates integration (UPS/FedEx/USPS) is failing or has expired credentials, your inventory location isn't configured to ship to the customer's region, or a 3PL/fulfillment app is interfering with rate calculation. The Test rates simulator inside shipping settings shows you exactly which rate would (or wouldn't) appear for any sample address.

What kind of "not working" is it?

Different symptoms point to completely different problems:

SymptomMost likely cause
Customer reaches checkout but no shipping methods appearNo zone covers their address, weight/price excludes them, or product is on a restricted profile
Customer sees shipping rates but they are wrong (too high or too low)Carrier-calculated rate misconfiguration, multi-origin issue, wrong shipping profile assigned
Free shipping not applying when it shouldThreshold misset, currency mismatch, product on different profile, or excluded by app
Some products ship to a destination, others do notDifferent shipping profiles per product — at least one is restricted
Labels will not generate in Shopify ShippingPayment method missing, carrier API down, or label format issue
Tracking number not updatingManual fulfillment without tracking, or non-Shopify Shipping carrier not synced
3PL ships but rates customer paid do not match what 3PL charges3PL app rates are not being pulled into checkout, or rate margin is not configured
International shipping options not appearingCountry not added to a zone, or HS codes / duties not configured for that market
Local delivery or pickup not showingLocal delivery zones not set up, or product not enabled for local fulfillment
Shipping page hangs or times out at checkoutCarrier-calculated rate API is slow or failing, or too many rate apps are stacked

Identify your symptom, then go to causes.

What Shopify handles natively for shipping

Before paying anyone for "shipping fixes," know what Shopify does on its own:

  • Shipping zones and rates configuration — flat rates, weight-based, price-based
  • Multi-origin shipping — ship from multiple inventory locations with separate rules
  • Carrier-calculated rates — real-time rates from USPS, UPS, FedEx, Canada Post, DHL Express (available on certain plans or as an add-on)
  • Shopify Shipping — discounted carrier rates and label printing built in (US, Canada, Australia, parts of Europe)
  • Order routing rules — automatic location selection for fulfillment
  • Shipping profiles — per-product shipping rules
  • Combine packing logic — Shopify groups items by shipping profile during checkout
  • Local delivery and local pickup — natively supported with zone setup
  • Shopify Markets shipping — region-specific rates for international expansion
  • Free shipping logic — by threshold, by region, by product

What Shopify doesn't do:

  • Verify customer addresses (no automatic address validation without an app)
  • Auto-update flat-rate prices when carriers raise rates (you maintain those manually)
  • Negotiate shipping rates on your behalf (Shopify Shipping has discounts; that's it)
  • Calculate dimensional weight without an app for non–Shopify-Shipping carriers
  • Handle international duties and taxes by default — Shopify Markets supports DDP for some regions, but full international compliance often needs additional setup
  • Update tracking from carriers outside Shopify Shipping unless an app pushes it
  • Replace a real shipping management platform (ShipStation, ShipBob, Shippo) for high volume

If a "shipping expert" charges you for something Shopify already does (basic zones, simple flat-rate setup, enabling Shopify Shipping), walk away. Real shipping work is in carrier integration, multi-origin logic, 3PL workflows, and international expansion.

The most common causes (in order of frequency)

1. Shipping zone missing for the customer's country or region

Shopify only shows rates for countries you've explicitly added to a shipping zone. If a customer is in a country you don't have a zone for, they see no rates at all and cannot complete checkout.

Common variations:

  • New international expansion without adding the country to a zone
  • Region within a country missing (especially US states or Canadian provinces)
  • "Rest of World" zone never created
  • Customer in a US territory (Puerto Rico, Guam) when only the 50 states are configured

2. No rate covers the customer's order

Even if the zone exists, your rates may not cover every order. Common gaps:

  • Weight-based rates that stop at, say, 20kg — orders above that have no rate
  • Price-based rates with brackets that don't continue to infinity
  • Carrier-calculated rates that fail to return for unusual destinations
  • Free shipping threshold set too high for the order

The fix is almost always to add a fallback rate that covers any order ("any weight" or "any price").

3. Product is on a shipping profile that excludes the customer

Shopify lets you assign products to shipping profiles with separate rules. Common issues:

  • A product is in a "Heavy items" profile with limited zones, but the customer is in an excluded country
  • Custom profile created for a product line, but rates not added for that customer's region
  • Default profile updated, but custom profiles missed

If only some products in the customer's cart are blocking checkout, this is almost certainly the cause.

4. Carrier-calculated rates failing

If you use real-time rates from UPS, FedEx, USPS, or DHL:

  • API credentials expired
  • Carrier account suspended or in negative balance
  • Address can't be rated (PO box, military address, ungeocodable)
  • Package dimensions cause the carrier to reject the request
  • Carrier API outage (check carrier's status page)

Symptoms: rates worked before, suddenly don't, often only for certain addresses or products.

5. Multi-origin / inventory location issue

Shopify routes orders to a fulfillment location based on Settings → Shipping and delivery → Order routing. Common issues:

  • Order routes to a location that doesn't have stock
  • "Closest location" routing sends orders to the wrong warehouse
  • A location is paused but products are still assigned to it
  • Different shipping profiles per location and the routing logic conflicts

6. 3PL or fulfillment app interfering

3PLs (ShipBob, ShipHero, ShipMonk) and fulfillment apps can override Shopify's native rates. Common issues:

  • 3PL app pushed its own rates, overwriting Shopify's
  • 3PL app failed to push rates, leaving Shopify with empty rates
  • 3PL rates configured but margin/markup not applied
  • 3PL location not synced as a Shopify location

7. Free shipping threshold misconfigured

Common issues:

  • Threshold set in store currency but customer in different currency
  • Free shipping rule excludes specific products that customer ordered
  • Discount/coupon stacking conflict with free shipping
  • App overriding free shipping rules silently

8. Shopify Shipping label not generating

If labels won't print:

  • Shopify Shipping payment method missing or expired
  • Carrier API outage (check your Shopify admin notifications)
  • Address fails carrier validation (most common with international or PO boxes)
  • Order has unusual configuration (digital + physical, drop-ship + warehouse, etc.)

9. Local delivery / local pickup not working

For storefronts using local delivery or pickup:

  • Local delivery zone not added
  • Product not enabled for local delivery (toggle on the product page)
  • Local pickup location not set as a pickup location
  • Customer's address falls outside the configured radius

10. Currency / Markets misconfiguration

If you sell in multiple currencies:

  • Shipping rate set in wrong currency
  • Markets-specific rates not configured for the customer's market
  • DDP (delivered duty paid) not enabled where required
  • Currency conversion makes rate appear wildly different

How to diagnose: Test Rates + Shipping Profiles

Most “shipping not working” issues collapse to two questions: does a rate exist for this address, and is the product on the right profile to use it? Two checks answer both.

Step 1: Use the Test Rates simulator

Open Settings > Shipping and delivery, click into a shipping profile, open Manage rates, then use Test rates or Show rates next to the relevant zone.

Enter the customer’s exact address, a product or weight from the actual order, and the order subtotal. Shopify will show exactly which rates appear. If no rates appear, your zones, weights, or prices do not cover that combination.

Step 2: Check shipping profile assignments

Open Settings > Shipping and delivery and review Shipping profiles. Check your General profile and any custom profiles for zones, rates, and assigned products. Then open the problem product and confirm which profile it belongs to.

Step 3: Check inventory locations

Open Settings > Locations. Verify the product is stocked at a location that ships to the customer, the location is active, and order routing rules can select it.

Step 4: Check carrier-calculated rate status

If you use carrier-calculated rates, open Settings > Shipping and delivery > Carrier accounts. Look for disconnected accounts or expired credentials, then re-enter API credentials if needed.

Step 5: Check order routing rules

Open Settings > Shipping and delivery > Order routing. Confirm rules match your fulfillment reality. Outdated rules from an old location setup are a common cause of wrong-rate complaints.

What you can fix yourself

1. Add a fallback rate

Inside each shipping zone, add a "any weight, any price" or generous flat-rate fallback. This guarantees no customer ever sees "no shipping methods" — even if your tiered rates miss them.

2. Cover all the countries you sell to

For every country a customer might order from, ensure a zone exists. The "Rest of World" zone is a safety net — create one if you don't have it.

3. Audit shipping profiles

If you have multiple profiles, walk through each:

  • What rates does it have?
  • What zones?
  • Which products are assigned?
  • Are any products on the wrong profile?

The most common error: a custom profile was created but products were never reassigned to it.

4. Reauthorize carrier-calculated rates

For each carrier connected (UPS, FedEx, USPS, etc.), reauthorize the connection. Most carrier integrations support a "reconnect" option that refreshes credentials.

5. Verify Shopify Shipping payment method

Settings → Billing. Confirm a payment method is on file. Shopify Shipping label printing requires this.

6. Test with real-customer addresses

Don't just test with your warehouse address (Shopify treats it differently). Use real customer addresses you've shipped to recently — that's the test that matches reality.

7. Audit free shipping logic

If free shipping is misfiring:

  • Confirm threshold is in correct currency
  • Check excluded products aren't in scope
  • Check for apps that might be overriding (review apps, upsell apps, discount apps)

8. Check 3PL or shipping app integrations

If you use a 3PL or third-party rate app:

  • Open the app and check its sync status
  • Verify rates are flowing into Shopify
  • Confirm the location it represents is a Shopify location, not a separate entity

9. Test with a fresh test order

Place a test order through the storefront with:

  • A real customer address
  • A different browser
  • The actual product and quantity that fails

Watch what rates appear (or don't). Compare to Test Rates simulator results.

🎯 If you've checked all of this and shipping still fails…

The problem is likely architectural — multi-origin routing, 3PL integration, international expansion logic, or B2B shipping rules that need expert configuration. This needs someone who knows Shopify shipping operations, not just the platform basics.

Not sure what kind of help you need? → What kind of Shopify expert do I need?

Ready to hire? → Browse Shopify shipping experts

Common issues DIY audits miss

  • Products with no weight — Shopify treats products with weight = 0 differently for weight-based rates. Many merchants forget to add weight, then see rates skip those products.
  • Shipping profile created but products never assigned — the profile sits empty, the products fall back to the default, and the merchant doesn't realize it.
  • Custom profile rules overlap with general profile — when products on different profiles ship together, Shopify uses combined logic that's not always obvious.
  • Carrier-calculated rates timing out silently — the rate query fails fast, customer sees no rates, no error logged.
  • USPS rejecting addresses that the customer thinks are valid (PO boxes, military, certain rural).
  • Multi-currency markets where shipping rates weren't configured per-market — defaults to home market rates that may convert poorly.
  • Free shipping discount code conflicting with free shipping threshold — both fire, customer pays nothing, you lose margin.
  • Local pickup configured at a location that's also a fulfillment location — order routing sends the order to a different location than the customer expected pickup from.
  • Shipping app installed that disabled native Shopify rates without making this obvious.
  • Outdated carrier API integration that hasn't been updated for the carrier's current API version.

These usually require someone who knows shipping operations across the full Shopify + 3PL + carrier stack.

Expert insights

Test Rates is the most-skipped diagnostic in Shopify shipping. It's literally a one-click answer to "what rate does this customer see?" Most merchants debug for hours before discovering it.

Shipping profiles are powerful and dangerous. They give you per-product control, but they also create silent failures when products end up on the wrong profile. If you have more than two profiles, audit assignments quarterly.

Carrier-calculated rates are slower than flat rates. If your checkout feels sluggish, real-time rate queries to UPS/FedEx/USPS may be the cause. Mixing flat rates with carrier-calculated rates as fallbacks improves conversion.

Free shipping is a margin lever, not a feature. Stores that offer "free shipping over $50" without modeling the actual cost often don't realize how much it eats into margin. If you offer free shipping, build it into product pricing — don't treat it as a giveaway.

Multi-origin shipping is where most operational complexity lives. Once you have more than one fulfillment location, every shipping decision compounds: where does the order route, which rate applies, what's the SLA. Many "shipping not working" issues at scale are really order routing issues in disguise.

International shipping is half the work, twice the value. Setting up Shopify Markets, DDP, and country-specific rates correctly takes real effort, but stores that do it well unlock 20–40% revenue growth from international markets that competitors leave on the table.

3PLs vary wildly in Shopify integration quality. ShipBob, ShipHero, and ShipMonk are well-integrated. Many smaller 3PLs claim Shopify integration but actually rely on flaky middleware. Test rate flow before signing.

When to hire a Shopify shipping expert

Bring in a specialist if:

  • You sell internationally and need country-specific rates, DDP, and currency handling
  • You operate from multiple warehouses or 3PLs and need order routing optimization
  • Your shipping profiles have gotten complex and customers report intermittent issues
  • You're integrating a new 3PL (ShipBob, ShipHero, ShipMonk, ShipStation, etc.)
  • You sell B2B and need account-based shipping rates or NET term workflows
  • You're on Shopify Plus and need custom shipping logic via Shipping Functions or app extensions
  • You want to optimize shipping margin and reduce abandoned carts at the rate display step

A good shipping expert will:

  • Use Test Rates and shipping profile audits as the first diagnostic, not last
  • Review carrier integrations and recommend the right ones for your volume
  • Configure 3PL integrations cleanly, including rate margin and location sync
  • Set up international shipping correctly, including HS codes and duties where needed
  • Document your shipping architecture so future staff can maintain it
  • Give you a measurable before/after on rate accuracy and checkout completion

What you should not pay for: someone "fixing shipping" by adding a flat rate without diagnosing why no rates were appearing. That's a bandaid, not a fix.

→ Not sure if you need a freelancer or an agency? Read Shopify Freelancer vs Agency.

→ Want to know what to look out for? Read Shopify Expert Red Flags.

What Shopify shipping work should cost

Realistic ranges:

  • Quick rate or zone fix (1–4 hours): $150–$700. Single-issue zone gap, missing fallback rate, or carrier reauth.
  • Full shipping audit and rebuild (8–25 hours): $800–$3,500. Profile cleanup, multi-zone configuration, free shipping logic, carrier integration.
  • 3PL integration setup: $2,000–$15,000. Connecting ShipBob, ShipHero, ShipStation, or similar — including rate sync, margin, and order routing.
  • International expansion shipping setup: $3,000–$20,000+. Markets configuration, DDP, country-specific rates, HS codes, and duties.
  • Custom Plus shipping logic (Shipping Functions, B2B, custom routing): $5,000–$50,000+. For complex requirements that go beyond standard shipping profiles.

If someone quotes $100 to "fix shipping" without first running Test Rates, they're guessing.

→ For a full breakdown by service type, see Shopify Expert Cost.

Frequently asked questions

Why are my Shopify shipping rates not showing at checkout?

Most often: no shipping zone covers the customer's country or region, the customer's order weight or price falls outside your defined rate brackets, or the product is on a shipping profile that excludes the customer's location. Use Settings → Shipping and delivery → Manage rates → Test rates to simulate the customer's address and see exactly which rates do (or don't) appear.

How do I fix Shopify shipping not calculating?

Run through this in order: (1) confirm the customer's country is in a shipping zone with rates, (2) verify the order weight and price fall within your rate brackets, (3) check that affected products are on the right shipping profile, (4) if using carrier-calculated rates, reauthorize the carrier integration, (5) add a fallback "any weight, any price" rate so no customer ever sees "no shipping methods."

Why is Shopify charging the wrong shipping rate?

Common causes: a carrier-calculated rate is misconfigured (wrong package dimensions, expired credentials), a multi-origin order is using rates from the wrong location, the product is on a shipping profile with outdated rules, or a 3PL/shipping app is overriding Shopify's native rates. Test the same address in the Test Rates simulator and compare to what the customer is seeing.

How do I set up free shipping on Shopify?

Go to Settings → Shipping and delivery → click into a shipping profile → Manage rates → Add rate → name it "Free shipping" with $0 price → set a price-based condition (e.g., "Order total: minimum $50"). Save. To test, use Test Rates with an order above and below your threshold to confirm the logic works.

Why won't Shopify generate a shipping label?

Common causes: payment method missing or expired (Settings → Billing), carrier API outage, address fails carrier validation (often PO boxes or international), order has unusual configuration (mixed digital and physical, multiple fulfillment locations), or Shopify Shipping isn't available for that origin country. Check the order's fulfillment timeline for the specific error.

Why are international shipping options not appearing?

Either the customer's country isn't in a shipping zone, no rate in that zone covers their order weight or price, or you're using Shopify Markets and the rate wasn't configured for that specific market. Add the country to a zone with rates that cover normal order parameters, and verify Markets-specific rates if applicable.

How do I sync inventory and shipping with my 3PL?

Use the 3PL's official Shopify app (ShipBob, ShipHero, ShipMonk, ShipStation, etc.). The 3PL should be added as a Shopify location, with order routing rules sending appropriate orders there. Shipping rates from the 3PL flow into Shopify's checkout via the app. Always confirm rate margin/markup is configured if the 3PL passes through carrier rates.

Why does Shopify shipping not work for some products?

Almost always a shipping profile issue — those products are on a custom profile that doesn't cover the customer's destination, while other products use the General profile (which does). Check Products → product → Shipping to see which profile each product uses, and confirm that profile's zones and rates cover the customer.

How much does it cost to fix Shopify shipping issues?

A simple zone or rate fix runs $150–$700. A full shipping audit and rebuild costs $800–$3,500. 3PL integration setup runs $2,000–$15,000 depending on complexity. International expansion setup is $3,000–$20,000+. Custom Plus shipping logic via Shipping Functions can run $5,000–$50,000+. See Shopify Expert Cost () for full ranges.

Next step

If your Shopify shipping isn't working — or you've outgrown what you can configure yourself — work with a vetted Shopify shipping and logistics expert.

→ Browse Shopify shipping experts

Or, if you're not sure exactly what kind of help you need:

→ Get matched with the right expert for your store

We'll review your store, scope the work, and connect you with someone who specializes in shipping logistics — not a general developer guessing on your dime.

Need help fixing Shopify shipping?

Get Matched