Guide · Operations
Shopify self-serve returns: what's native now, and what still isn't
Published 2023-02-26 · Updated 2026-06-11
When Shopify announced self-serve returns in early 2023, this article called it a game-changer that would need to grow. It grew. In 2026 the native returns flow handles what most merchants used to install an app for — and the line between "native is enough" and "you still need more" is clear enough to draw precisely.
What the native flow covers now
- Customer-initiated requests. From their account, a customer opens the order, picks items and a reason, and submits. No email thread, no support ticket.
- Return rules. Return window, restocking fees, return shipping cost ownership, and final-sale exclusions by product or collection — configured once, applied automatically at request time.
- Labels and tracking. Approved requests generate a return label (Shopify Shipping markets), and the return travels with status visible to both sides.
- Restock and reporting. Received items restock at the location you choose, and return reasons accumulate into reporting you can actually act on — the most-returned-product report is where sizing-chart fixes come from.
What still lives outside it
Three gaps, consistently, across the stores Tom maintains:
- Advanced exchanges. Exchange-for-anything, instant exchanges that charge the difference, "keep the order, here's credit" flows — returns apps and custom builds still own revenue-retention mechanics.
- Policy edge cases. Different windows for different customer tiers, B2B returns governed by contract terms, serial-numbered goods needing inspection gates. Rules engines stop where your policy's if clauses reference data Shopify doesn't hold.
- Carrier and warehouse handoff. Returns that route to a 3PL with its own RMA system need integration work — webhook out of Shopify, RMA in the 3PL, status synced back.
The setup worth copying
Turn on customer accounts (returns are a primary reason they're worth having), write return rules to match the published policy exactly — mismatch between the policy page and the flow's behavior is the #1 source of returns-related tickets — and watch the reason codes monthly. If "doesn't fit" dominates one product, that's a product-page problem wearing a returns costume.
Returns flow fighting your policy?
If your return policy has rules Shopify's settings can't express, email Tom what the policy actually says — the gap is usually smaller than it looks.
Email Tom →