Skip to main content
Card class: HeroCategory: Shipping & Courier

At a glance

Share of Shippo-printed shipments that hit a carrier exception event during transit (weather hold, address issue, damage, customs, retry). The leading-indicator companion to Late Shipments: exceptions today drive late deliveries 2 to 5 days from now.
What it countsCOUNT(transactions WHERE tracking_history contains status_code IN exception_set) / COUNT(transactions). A single shipment with multiple exception scans counts once.
API endpointShippo GET /tracks. Reads tracking_history[].status for every event, looking for codes mapped to “exception”.
Exception setCarrier-tagged events: weather delay, address correction, customs hold, damage, refused, recipient-not-home retry, missorted, mechanical delay, security inspection. Excludes terminal “delivered”.
Carrier scopeAll carriers pooled. USPS publishes “Delivery Exception”, “Insufficient Address”. UPS uses “Address Correction”, “Adverse Weather”. FedEx uses “Customer Not Available”, “Operational Delay”. DHL similar. Shippo normalises into one set.
Returns / RTORTO is itself an exception. Counted here AND in Returned to Sender.
Cost implicationEach exception costs 5to5 to 30 in CS time, address-correction fees (16+onUPS, 16+ on UPS, ~11 on USPS), and refund risk. A 3% rate on 10k shipments per month = 300 exceptions = 1,500to1,500 to 9,000 monthly cost.
Q4 / peak amplificationTypically rises to 4 to 8% in late November / early December as carrier networks saturate. Peak around 8 December; 30D window smooths daily noise.
Time window30D vsP
Alert trigger>3%, drives the exception_rate sentiment. Good <1%, warn >3%.
Rolesowner, operations

Calculation

Calculated automatically from your Shippo data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A US DTC supplements brand on Shopify, ~12,000 shipments per month via Shippo (USPS Priority + UPS Ground). Reading taken at 09:00 ET on 12 Mar 26 for the trailing 30 days.
Exception typeCountShare of total
Address correction (USPS / UPS)2201.8%
Recipient not home retry (FedEx / UPS)950.8%
Weather delay (carrier-wide)700.6%
Customs hold (DHL international)400.3%
Damage / inspection250.2%
All exceptions (this card)4503.7%
The card reads 3.7% with the alert at >3% tripped at warn. Five things to notice:
  1. Address correction is 49% of exceptions. This is the most fixable bucket. Add address validation at checkout (Shopify Shop Pay native, or apps like Address Validator) to cut this in half within four weeks. Each prevented address correction saves $16+ in carrier fees alone, before CS time.
  2. Recipient-not-home is 21%. Less fixable, but partial mitigation via signature-required for high-value parcels (forces scheduled delivery), or pickup-point delivery options where carriers support it.
  3. Weather is unavoidable but predictable. When a major weather event hits a hub region, expect a 1 to 3 day exception spike followed by a late-delivery wave 3 to 5 days later. Use this card as the early-warning for Late Shipments.
  4. The 3.7% rate predicts ~3kto3k to 13k of monthly recoverable cost. A four-week project on address validation alone could halve the address-correction bucket and pay for itself in one month.
  5. Same brand, December 2025 reading was 6.4%. Q4 doubled the rate. The 30D window in early March is the right baseline; comparing March to December would double-count seasonality.

Sibling cards merchants should reference together

Exception rate is a leading indicator. Pair it with these to act ahead of the wave:
CardWhy pair it with Exception RateWhat the combination tells you
Late ShipmentsDownstream consequence, 2 to 5 day lag.Exception spike today predicts late count spike in 3 to 5 days. Acting on exceptions first prevents the late wave.
On-Time Delivery RateThe percentage view of the late consequence.Exception rate climbing precedes OTD drop with the same lag.
Returned to SenderSubset of exceptions that escalate to RTO.Address correction failures often escalate to RTO if the customer cannot be reached; track both.
Failed DeliveriesTerminal exceptions.Failed = exceptions that did not recover.
Open ClaimsDamage exceptions feed claims.Damage scans here precede claim filings by 1 to 3 days.
Cross-connector: shopify.refund_rateTwo-step downstream impact.Exceptions today drive late deliveries tomorrow drive refunds in 7 to 14 days.
Cross-connector: customer NPS / post-purchase surveyDownstream sentiment.Customers whose parcel hit any exception score 1 to 2 NPS points lower than no-exception customers.

Reconciling against the vendor’s own dashboard

Where to look in Shippo’s own dashboard: Shippo AppOrders → Filter “Exception”. The closest like-for-like view is All Carriers, Last 30 Days, Status: Exception. Shippo also exposes a per-shipment view at Tracking → Filter by status, where each tracking event is listed. Why our number may legitimately differ from Shippo’s report:
ReasonDirectionWhy
Exception-set definitionEitherShippo’s report sometimes pools “delivery exception” only (excluding address correction events that resolve cleanly). The card pools the full normalised exception set including address-correction events.
Time zoneBoundary days offShippo defaults to merchant zone; card uses UTC.
Carrier polling lagOurs lower for “today”Shippo polls carriers every 1 to 4 hours; today’s rate may understate by a few hours of unpolled events.
Multiple-event de-duplicationEitherA shipment with three exception scans counts once in the card. Some Shippo reports count events not shipments, inflating the rate.
Customs holds (international)EitherDHL international parcels generate customs-hold events that some Shippo views exclude as “expected”. The card includes them.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
Carrier-direct exception rates (USPS Informed Visibility, UPS Quantum View)Same shipments, different lens.Carrier-internal codes are richer; Shippo flattens to one normalised set. Counts differ but trends correlate.
shopify.refund_rateTwo-step downstream.Exception spike today predicts refund-rate climb in 7 to 14 days.

Known limitations / merchant FAQs

My exception rate is at 4% but my OTD is fine. What is happening? Exceptions can recover. A “weather delay” scan today may resolve into an on-time delivery 24 hours later if the carrier catches up. The card surfaces upstream risk, not downstream consequence. Watch the next 5 days; if late count climbs, the exception wave is converting to OTD damage. If late count stays flat, the carrier absorbed it. Address correction is half my exceptions. What is the cheapest fix? Three actions, in order of cost:
  1. Free. Tighten Shopify checkout copy: “Verify your apartment / suite number before placing your order.” Adds friction but cuts ~10 to 20% of address-correction events.
  2. Low cost. Install a checkout address-validation app (Address Validator, AddressCheck, or built-in Shopify Shop Pay). 20to20 to 80 per month. Cuts 30 to 50% of corrections.
  3. Higher cost. Pre-shipment address verification via USPS Address Verification API (Shippo exposes it at the POST /addresses/validate endpoint). Adds ~$0.005 per call but catches edge cases the consumer-facing app misses.
The address-correction fee from carriers (16+onUPS, 16+ on UPS, ~11 on USPS) usually pays for the app within the first month at any reasonable volume. International parcels generate customs-hold exceptions. Should I exclude those? No. They are real exceptions and cost real money (transit delay, customer chasing the parcel, occasionally lost). Filter the Shipments by Destination card to view your international rate separately. Acceptable benchmark: international exception rate 3 to 8%, domestic 1 to 3%. Recipient-not-home retries are not really my fault. Can I exclude them? You can mentally exclude them but the card includes them deliberately. The reason: your customer’s experience is “the parcel did not arrive on the day promised”, and they will contact your CS regardless of who is at fault. Track the rate of preventable recipient-not-home (signature-required parcels, weekend deliveries) separately by service. The good threshold of 1% feels aggressive. Is it realistic? For domestic-only USPS Priority + UPS Ground, 1 to 1.5% is achievable with address validation in place. For international or USPS Ground Advantage-heavy shops, 2 to 3% is typical. Adjust the workspace threshold to match your service mix. Q4 / BFCM, the rate doubled. Should I disable the alert? Better: raise the threshold for the season. Recommend >5% warn / >8% critical for 25 Nov 25 to 5 Jan 26. Disabling silence the signal of a peak-on-peak event. Damage exceptions, what do I do with them? Two actions. (1) Check whether they cluster around a SKU (packaging issue) or a carrier hub (handling issue). Cost Outliers sometimes reveals re-ship cost spikes that align with a damage cluster. (2) File a Shippo Insurance claim within 30 days of ship date for any insured parcel. Shippo Insurance is roughly 1.5 to 3% of declared value and covers damage, loss, and theft. Can I see exception rate by carrier? Not in this card directly. Use OTD by Route and Shipments by Service together to triangulate; a per-carrier exception rate card is on the roadmap. My exception rate dropped to 0.5% suddenly. Is the data missing? Possible. Two checks: (1) confirm Shippo tracking is still receiving carrier scans (look at last tracking_history event timestamp on a sample of recent shipments), (2) confirm Shippo API token has not expired (Days to Token Expiry). A near-zero rate is more likely a feed problem than a real operational improvement.

Tracked live in Vortex IQ Nerve Centre

Exception Rate is one of hundreds of KPI pulses Vortex IQ tracks across Shippo and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.