If shipping rates have disappeared from your checkout, your first move is not diagnosis: it is turning on a manual flat rate so customers can still complete the order. A checkout with no shipping option available is a closed checkout, and every minute you spend hunting for the root cause is a minute of zero conversion on that step.
This playbook covers the symptom where checkout loads, payment works, but the shipping step shows no rates, an error, or a spinner that never resolves. The cause is usually one link in a chain of four, and the fix order matters.
Why does a missing rate block the whole order?
Carrier-calculated rates are a live API call made during checkout. When that call times out or returns an error, most platforms show no shipping method rather than guessing a price. If you have no manual rate configured as a backup in that shipping profile and zone, the customer physically cannot continue. Compare that with a payment outage, where at least alternative payment methods may still appear. A missing rate is a hard stop dressed up as a minor glitch.
What should you do in the first 15 minutes?
- Reproduce it yourself. Add a normal product to cart, go to checkout, and enter a domestic address you know works. Note exactly what you see: no methods at all, one generic method, or an error string. Screenshot it with the timestamp visible.
- Test a second address in a different zone, plus one international address if you ship internationally. If only one zone fails, this is a rate configuration or carrier account problem, not an outage. If every zone fails, keep going.
- Test a heavy item and a light item. A failure that only hits orders above a weight or value threshold points at a single carrier service or a dimensional rule, not a platform-wide fault.
- Turn on the fallback rate. In Shopify, go to Settings, then Shipping and delivery, open the affected shipping profile, and add a flat rate to each zone that currently has none. Price it near your trailing average label cost for that zone so you do not bleed margin. Then deactivate the carrier-calculated rate for that profile so the two do not compete.
- Re-test checkout end to end with a real card or a test order. Confirm the flat rate appears and the order can be paid for.
- Only now start diagnosing. Revenue is flowing again, so you can work the chain calmly.
Which link in the rate chain actually broke?
There are four layers between a customer's postal code and a price on screen, and each one fails differently.
- Your platform's checkout. If the storefront itself is erroring or slow, rates are a symptom, not the disease. Check Shopify, BigCommerce, WooCommerce, or Magento / Adobe Commerce, whichever you run.
- Your app or aggregator layer. Rate shopping apps and label platforms such as Shippo, EasyPost, and ShipStation sit between your store and the carriers. This is the layer that fails most often in practice.
- The carrier API. UPS, USPS, FedEx, and DHL eCommerce each expose their own rating endpoint.
- Your own account state. An expired carrier credential, a revoked API key, a lapsed negotiated-rate agreement, or a billing hold will silently kill rates with no vendor status page ever going red. If all three layers above look healthy, this is almost always the answer.
Where do rate failures actually come from?
Over the last 90 days the aggregator layer was far shakier than the carriers themselves. These figures come from StatusBird's independent 2-minute monitoring over the 90 days ending September 17, 2026.
| Layer | Service | Uptime | Major incidents | Total downtime |
|---|---|---|---|---|
| Aggregator | Shippo | 98.96% | 10 | 1,344 min |
| Aggregator | ShipStation | 99.87% | 1 | 166 min |
| Aggregator | EasyPost | 100.0% | 0 | 0 min |
| Carrier | UPS | 100.0% | 0 | 0 min |
| Carrier | USPS | 100.0% | 0 | 0 min |
| Carrier | FedEx | 100.0% | 0 | 0 min |
| Carrier | DHL eCommerce | 100.0% | 0 | 0 min |
| Platform | Shopify | 99.9% | 2 | 124 min |
Shippo's ten incidents averaged 134 minutes each, with the most recent on September 17, 2026, and it carries a C grade in the window. ShipStation's single incident ran 166 minutes on June 30, 2026. The four carriers we monitor recorded no major or critical incidents at all. The practical takeaway: when rates vanish, check the software between you and the carrier before you assume UPS or USPS is broken. Full histories are at Shippo reliability and ShipStation reliability.
What do you tell customers while the flat rate is live?
Be specific rather than apologetic. Three concrete actions:
- Publish a one-line announcement bar on the cart and checkout-adjacent pages: "Shipping is showing as a flat rate today. If it exceeds your actual shipping cost, we will refund the difference automatically."
- Create a helpdesk macro in Gorgias, Zendesk, or Freshdesk with the same wording plus your order number lookup link, and pin it for the shift.
- If your flat rate is higher than the usual calculated rate for light orders, set a temporary free-shipping threshold in the same shipping profile so small-basket customers are not punished for your outage.
What about labels you cannot buy?
If the failing layer is your label platform, rate display and label purchase usually break together. Do not let orders pile up unfulfilled:
- Log in to the carrier's own shipping portal with your account credentials and buy labels there manually for anything shipping today.
- Record order number, tracking number, and carrier in a spreadsheet as you go.
- When the platform recovers, mark orders fulfilled by CSV import using that spreadsheet, so tracking emails still fire and your tracking pages populate.
- Reconcile the manually bought labels against your platform's records the next day, because they will not appear in its reporting.
How do you clean up after rates come back?
- Re-enable carrier-calculated rates in the affected shipping profile, then place one test order per zone before you trust it.
- Deactivate or delete the temporary flat rate so it does not quietly undercut your real rates next week.
- Export orders created during the window and compare shipping collected against label cost paid. Refund overcharges above a threshold you pick, and note the total undercharge as the real cost of the incident.
- Write the timestamps, the layer that failed, and the flat rates you used into your runbook. Next time this is a five-minute job.
- Check your vendor's agreement for service credits if the outage was long, and file with the timestamps you captured in step one of the first checklist.
How do you stop this from being a scramble next time?
Three pieces of preparation cover almost all of it. Keep a flat rate saved but deactivated in every zone of every shipping profile, so switching over is two clicks instead of twenty minutes of typing. Maintain a second label provider account with carrier credentials already connected, even if you never send volume through it. And monitor the whole chain, not just your storefront: the platform, the aggregator, and each carrier API you actually rate against. Monthly patterns across categories are in the outage index, and how we classify and time incidents is documented in our methodology.
If you would rather hear that your rate provider is down from an SMS or Slack message than from a customer email, StatusBird checks 84 e-commerce services every two minutes and alerts you when one of them breaks. You can set up alerts here.