See all services Shopify Plus Partner
Admin Global

Create UPS Return Labels Directly From Shopify Admin

Shopify admin now creates UPS return labels for US domestic orders, on Shopify's discounted rates or your own UPS contract. Billing is pay on scan, so unused labels cost nothing.

Executive summary

What changed

Return label creation in the Shopify admin now supports UPS. From a fulfilled order you open Return, set the returned quantities, choose the return location, enter expected package size and weight, then pick a UPS service. Shopify emails the label to the customer or gives you a shareable link you can paste into an existing support thread. Two pricing paths exist: Shopify's discounted UPS rates out of the box, or your own negotiated rates once you connect your UPS account to Shopify.

Scope is narrower than it first appears. Coverage is US domestic only, and every UPS domestic service is supported except UPS Ground Saver. Billing is pay on scan: nothing is charged until the carrier scans and weighs the package. Unused labels expire six months after purchase at no cost, but the label URL expires after 30 days, which matters if you issue labels early in a long return window.

Why it matters

The commercial argument is rate control. A negotiated UPS contract now applies to returns without routing label generation through a separate app, and the cost lands in the same Shopify shipping bill as your outbound labels. On Plus that bill flushes at a $4,000 threshold, so high return volume will invoice more often than teams expect. The operational argument is consolidation: one fewer integration, one fewer place for return state to drift. Teams already automating enterprise operations with Flow can trigger label creation and customer notification from the same workflow layer as the rest of the order lifecycle.

Role-specific impact

Use-case example

Real-world scenario

A US apparel merchant on Plus ships 30,000 orders a month at a 20 percent return rate, so roughly 6,000 return labels. Their incumbent provider bills at label purchase rather than at scan, and about 8 percent of issued labels are never used: 480 labels a month of dead cost, near $4,000 at an $8.50 average. Moving to pay on scan removes that line item outright, and applying their own UPS contract saves further on every label that does scan. The work is mostly policy and macro updates, not engineering.

Implementation checklist

  1. Confirm scope. APO, FPO, and DPO addresses, US territories requiring a customs form, and international returns are excluded. Keep the existing process for those lanes.
  2. Model the rates against your actual return weight and dimension mix, not a headline discount percentage.
  3. Connect your UPS account in shipping settings if your contract wins, then run a test return to confirm the applied rates.
  4. Set the default return location so labels do not route to the wrong warehouse, and verify it per fulfillment location.
  5. Record expected weights for your highest returning SKUs so admins do not guess on partial returns.
  6. Remove UPS Ground Saver from returns documentation and support macros.
  7. Brief CX on both expiry rules: 30 days for the label URL, six months for the label itself.
  8. Reconcile the first month of shipping charges under Settings then Billing, and flag dimensional weight adjustments.

FAQ

Q: Can we use our own negotiated UPS rates instead of Shopify's?

A: Yes. Connect your UPS account and return labels price on your account rates. Without it, labels use Shopify's discounted UPS rates. Compare both against your real weight distribution, since dimensional weight pricing can reverse the answer on bulky lightweight goods.

Q: What happens to return labels customers never use?

A: Nothing is charged. Billing triggers on the carrier scan, and unused labels expire six months after purchase at no cost. The shareable URL expires after 30 days, so a customer who waits past that needs a fresh link from support.

Resources

Shopify Help Center: Buying return labels

Need guidance? Talk to Makro.