Back to: Business Technology Articles

Shopify Shipping Issues: How to Find and Fix Them

Most Shopify shipping issues fall into four groups: no rates at checkout, wrong rates, labels the carrier rejects, and parcels that come back. The usual causes are an address outside your zones, a product with no weight or in the wrong profile, a PO Box on a courier rate, and missing customs data.

Each group has a short list of causes. Find your symptom below, work through that section, then use the monthly check at the end to keep the problem from coming back.

Find your Shopify shipping issue fast

Symptom

Check first

No shipping method at checkout

Zones and product profiles

Rates far below label cost

Weights, box sizes, surcharges

Carrier rejects the label

PO Box, address, customs data

Parcel comes back

Address and duties

When we audit Shopify shipping at msmtech, the first test is always the same: a checkout with the customer’s exact cart and address. It shows the problem the customer saw, which is faster than reading settings.

Why are no shipping rates showing at checkout?

Usually the address isn’t in any zone, or one product in the cart has no rate for that zone. Customers in that case see a notice that no shipping rate is available for their region (Shopify’s guide to zones). Check, in this order:

  • The address isn’t in a zone. Every country or region you sell to needs a zone with at least one rate.

  • A product is in a profile without rates for that zone. If one product in the cart can’t ship there, the whole cart can’t.

  • A product has no weight, and your rates depend on weight.

  • The product is set as not requiring shipping, or the location that stocks it isn’t in the shipping profile.

  • Carrier-calculated rates failed to load. Add a backup rate in every zone so checkout never has nothing to offer.

Place a test order to the customer’s address with the same cart. Shopify shows the same result you will need to fix.

Why are my shipping rates too high or too low?

Rates drift from label costs because of box size, surcharges and old flat rates. Baymard Institute’s research lists extra costs such as shipping as the top reason shoppers abandon a purchase, cited by 40% of US shoppers who abandoned for a reason other than just browsing (Baymard, 2026), so rates that are too high cost sales as well as margin.

  • Dimensional weight. Carriers charge by box size when it is larger than the actual weight. Set up the boxes you really use and ship in the smallest one that fits.

  • Surcharges you didn’t price in: remote areas, residential delivery, fuel and peak season. Compare your carrier invoices with what customers paid, zone by zone. For postal codes that never pay their way, Ultimate Postal Code Blocker can block or allow shipping methods by postal code.

  • Old flat rates. A rate set at launch rarely survives a year of carrier price increases. Review it every quarter.

  • Free-shipping thresholds that are too low for heavy products. Move heavy items to their own profile.

Read how to set up Shopify shipping profiles, zones and rates →

Why does the carrier reject the label?

The address can’t take that service, or the label is missing data. The common causes:

  • A PO Box with a courier service. UPS, FedEx, DHL Express and Purolator can’t deliver to PO Boxes; Shopify’s FedEx page lists them as unsupported even for FedEx Ground Economy. Block them at checkout, or show only postal rates for those addresses. Read how to block PO Boxes at Shopify checkout →

  • An incomplete address. Missing unit numbers, wrong postal codes and street names in the wrong field. Shopify flags doubtful addresses on the order; fix them before you buy the label.

  • Missing customs data on international orders: HS code, country of origin and an accurate value. Shopify says HS codes are required for international shipments, and you add them with the country of origin in each product’s Shipping section.

  • A service that doesn’t cover the destination, such as a domestic-only service picked for an international order.

Why do parcels come back?

Most returned parcels come from an undeliverable address, a refused duty bill or a failed delivery attempt.

  • Undeliverable address: the most common cause, and the cheapest to prevent at checkout. Read what Shopify’s address validation catches and what it misses →

  • Refused international parcels: usually a customer surprised by duties on delivery. Say clearly at checkout who pays duties, or ship duties paid.

  • Failed delivery attempts: no one home, no buzzer code. Ask for delivery instructions and send “out for delivery” notifications.

For every parcel that comes back, record the cause. After three months the list tells you which fix to make next.

A monthly shipping check

  1. Shipping charged versus label costs, by zone

  2. Orders with no rate at checkout, from your abandoned checkouts

  3. Labels rejected and parcels returned, with their cause

  4. “Where is my order?” emails, which point to slow or missing tracking updates

Read the 7-day plan to reduce “Where is my order?” tickets →

Frequently asked questions

Do I need HS codes to ship internationally from Shopify?

Yes. Shopify says HS codes are required for international shipments, and each product you ship abroad needs one. Add it in the product’s Shipping section with the country of origin, or in bulk with the bulk editor.

What happens if a customer picks a courier rate for a PO Box?

The order goes through, because Shopify accepts PO Box addresses by default. The problem shows up when you buy the label or when the courier sends the parcel back, so stop PO Boxes at checkout or offer a postal rate for them.

Can I change the shipping address after an order is placed?

Yes. Edit the address on the order in Shopify admin, or accept Shopify’s suggested correction when the order shows an address warning. Do it before you buy the label.

Why do customers abandon checkout at the shipping step?

In Baymard Institute’s research, extra costs such as shipping are the most common reason, and slow delivery is cited by 20% of US shoppers who abandoned for a reason other than browsing. Show shipping costs and delivery times before checkout so the total is no surprise.

No off-the-shelf solution? We'll build it.