Customer Experience
This page shows what your customers actually see when customer self-service order editing is turned on (Growth plan and above — see Storefront Settings Reference for every setting that shapes this screen). Everything described here happens on the customer’s own Shopify customer account order status page — nothing is added to your storefront theme, and there’s no app embed to install.
Eligibility
Before anything is shown, the app checks whether an order is currently eligible. An order is only editable if all of the following are true:
- Customer self-service editing is turned on (Enable Order Editing Flow).
- The order isn’t cancelled.
- The order isn’t fully fulfilled — a shipped order is never shown as editable, regardless of any time window.
- The editing window hasn’t closed yet (if a window is configured).
- The order doesn’t carry a restricted order tag, and its customer doesn’t carry a restricted customer tag.
- The order doesn’t contain a restricted-tag product under “Disable complete order editing” mode (see Tag-based restrictions).
If an order fails any of these checks, the app shows nothing at all on that order’s page — no card, no button, no error message. This is deliberate: a customer looking at an old, shipped, or otherwise ineligible order sees Shopify’s normal order page with no trace that self-service editing exists, rather than a confusing disabled button.
Note: if your store’s plan doesn’t include storefront editing (below Growth) or the plan can’t be verified, the app also shows nothing — never an error message that could look like something is broken.
Step 1 — The order page card
On an eligible order’s status page, a card titled “Manage your order” appears with an Edit button. If a time window is configured, a line under it shows the time remaining, e.g. “You can make changes to this order for the next 47 minutes” (or ”… the next 2 hours” once there’s more than about 90 minutes left).
Step 2 — Opening the editor
Clicking Edit opens a modal titled “Edit your order”, at the largest size the platform allows. If there’s a time window, the same countdown line repeats inside the modal as an info banner.
The modal is laid out in two columns (stacking to one column on narrow screens):
- Left column: Contact information, Shipping address.
- Right column: Items, Cancel order.
Each section only appears if you’ve allowed customers to edit it — see Order editing settings for exactly which toggle controls which card.
Every card shows a summary of the current value when closed, and a pencil icon that switches it into an editable form. Clicking the pencil again (now showing an ✕) closes the form back to the summary without saving.
Contact information
Summary view: shows the order’s current email and/or phone number.
Edit view: shows whichever of Email address / Mobile number you’ve allowed (see Contact information settings), pre-filled with the current values. The customer edits one or both and clicks Save.
A field left unchanged isn’t resubmitted — only fields the customer actually typed something new into are sent. On success, a green banner reads “Contact information updated.”
Shipping address
Summary view: shows the current name, address lines, city/state/postal code, country, and phone — or “No address” if the order has none.
Edit view: Full name, Address, Apartment/suite (optional), City, State/province, Postal code, Country/region, Phone. Click Save address.
Shopify validates the new address server-side. If something’s invalid — an unrecognized postal code for the selected country is the most common case — the save fails and the customer sees Shopify’s own specific message (e.g. “Enter a valid postal code for Canada”) rather than a generic error, so they know exactly what to fix. On success: “Shipping address updated.”
Items
Summary view: each current line item with its thumbnail, quantity, and title (including the variant, e.g. size or colour, if it isn’t the product’s only option).
Edit view, from the top:
Adding a product
If Add more items is on, an “Add product” button sits above the item list. Clicking it turns the entire modal into a product picker (there’s no second popup window on this surface — the modal’s own heading and content switch to “Select products”), closely matching your admin’s own product picker:
- A search field at the top (search-as-you-type).
- A scrolling list of matching products — checkbox, thumbnail, title, SKU (if set), stock count (if the product tracks inventory), and price.
- Checking a row reveals a quantity stepper for that item, capped at 99 or the item’s real available stock, whichever is lower.
- A running “N selected” count at the bottom.
- Cancel returns to the edit screen without adding anything; Add commits the selection and returns.
Added items appear back in the edit screen under an “Adding to this order (N)” panel, each with its own quantity stepper and a remove (✕) button — so a wrong pick can be corrected without reopening the picker. Nothing is actually added to the real order until the customer clicks Save changes at the bottom.
Note: a product removed from the picker’s own results (out of stock, if hidden, or otherwise ineligible) can’t be added even by guessing a direct link — the server independently re-checks eligibility on save, not just in the search results.
Changing an existing item’s quantity
Each item (unless it’s locked — see below) has − / + buttons. The floor is 0 if Remove items is on, or 1 if it’s off; the ceiling is always 99 (or the item’s real stock, for an increase, if that’s lower). Reaching 0 shows “Remove” in place of a quantity number.
Changing an item’s variant (“Change option”)
If the item’s product has other variants the customer is allowed to switch to (governed by variant scope), a “Change option” dropdown appears under that line, defaulting to “Keep: [current variant]”. Selecting a different variant shows that variant’s title and price in the option list; saving swaps the line to the new variant at its current quantity (or 1, if the quantity had been set to 0 at the same time).
Locked items
An item that’s locked — by a product-tag restriction or the minimum item price — shows a “(not editable)” label next to its variant, with no quantity or option controls at all. Every other, unlocked item on the same order stays fully editable.
Saving items
Save changes is disabled until at least one real change is pending (a quantity change, a variant swap, or a pending add). Below the button, a note explains the refund behavior:
- If automatic refunds are on: “Reducing an item’s quantity automatically refunds the difference to your original payment method.”
- If they’re off: “Reducing an item’s quantity does not automatically refund you — the store will follow up separately about any refund owed.”
On success: “Your order has been updated.”
Cancel order
Shown only if Enable order cancellation is on for this order.
- The customer picks a reason from “Why are you cancelling?” — your configured cancellation reasons.
- Clicking “Cancel this order” shows a confirmation: “Are you sure? This will cancel your entire order. This can’t be undone.” — along with a preview of exactly what will happen to the payment:
- If a real payment was collected: “Refund: [amount] [currency] to your original payment method”.
- If nothing was collected: “No payment was collected for this order, so there is nothing to refund.”
- If restocking applies: “Items will be returned to stock.”
- “Yes, cancel my order” confirms; “Keep my order” backs out with nothing changed.
On success: “Your order has been cancelled.” The order then shows as cancelled everywhere, including your own admin, immediately — there’s no delay or separate approval step.
Error messages the customer might see
The screen only ever shows an error banner for a small, deliberate set of situations — anything else (a network hiccup, a malformed response) renders nothing rather than a confusing technical message:
| What the customer sees | When |
|---|---|
| ”The time window for changing this order has closed.” | The editing window closed between opening the page and taking an action. |
| ”This order can’t be changed online. Contact us if you need help.” | The order fails an eligibility check that isn’t specifically the time window (e.g. a tag restriction). |
| ”That change isn’t allowed on this order.” | The requested change isn’t permitted under current settings (e.g. adding items when that’s off). |
| A specific Shopify message (e.g. “Enter a valid postal code for Canada”) | A real validation failure on the data submitted — shown verbatim so the customer knows exactly what to fix. |
| ”We couldn’t find this order.” | The order ID doesn’t resolve, or doesn’t belong to the signed-in customer. |
| ”Something went wrong. Please try again.” | An unexpected server-side error. |
What the merchant sees
Every action a customer takes appears immediately on the real order in your Shopify Admin — there’s no manual approval step, sync delay, or separate queue. If Add order tags is on, the order also picks up your configured edited-order tag the moment a change is saved. Every action also appears in the app’s Recent activity feed (Starter plan and above), labelled by what the customer did (updated contact info, updated shipping address, edited items, or cancelled).
Mobile behavior
The screen is fully responsive — the two-column layout (Contact/Address on the left, Items/Cancel on the right) collapses to a single column on narrow screens, and the product picker’s list, search field, and quantity steppers all remain fully usable with touch. There’s no separate “mobile mode” — it’s the same screen adapting to the available width.
