Order Tracking and History
Grouped by status, with a Track action on shipped and delayed orders leading to the real tracking data — not a dead-end “shipped” label with nowhere to go.
Background
The sibling post-purchase pattern is Easy Returns: while order tracking addresses what the customer needs before delivery (status updates, order modification), easy returns addresses what happens after delivery when a product needs to go back. Self-service modification only pays off once it’s integrated with real fulfillment back-end data — a tracking or “edit order” feature that shows stale or wrong status does more damage to trust than not offering self-service at all, since it actively misleads rather than just being unhelpful.
A tracking or “edit order” feature that shows stale or wrong status does more damage to trust than not offering self-service at all, since it actively misleads rather than just being unhelpful.
Problem
Customers who’ve placed an order often need to check its status or change something about it, and routing every such question through a phone-staffed call center is expensive for the business and slow for the customer.
Customers who’ve placed an order often need to check its status or change something about it, and routing every such question through a phone-staffed call center is expensive for the business and slow for the customer.
Solution
Group order history by status rather than one undifferentiated list
Group orders by status (pending, shipped, completed) rather than one undifferentiated list, most-recent-first, with item contents shown when the list is short enough to scan. This normally lives behind sign-in alongside the rest of a customer’s account, but should stay reachable without an account too — a guest checkout still needs a way to check on their order, typically an order-number-plus-email or order-number-plus-zip lookup that doesn’t require creating one.
Set expectations proactively on pending orders
If a product is delayed, out of stock, or discontinued, notify the customer — by email or in-app — rather than letting them discover it only when the order doesn’t arrive — customers tolerate bad news delivered early far better than a broken promise discovered late.
customers tolerate bad news delivered early far better than a broken promise discovered late.
Allow self-service order modification wherever fulfillment supports it
Shipping address, shipping method, billing, items, and quantities can each be routed to the page that already handles that data (address selection, Multiple Destinations, payment method, product detail, the cart), with an action button on the order-history entry to jump straight to the relevant edit. Some changes stop being possible once fulfillment begins; tell the customer this rather than letting a failed edit be their first sign of it.
Surface real tracking data once an order ships
Link directly to the shipper’s own tracking database (date/time at each way station) rather than leaving customers at a vague “shipped” status with no further detail. This is more work than the vague status — it requires storing the shipper’s tracking number and integrating with their system — but a status alone gives the customer nothing to act on if the package is late.
Related Concepts
Patterns
- Multiple Destinations
- Gift Giving
- Easy Returns
- Action Buttons
- Account Management
- Sign-In and Account Creation
- Notifications
- Email Communications
Sources
The Design of Sites: Pattern Group G — Advanced E-Commerce is this page’s source — Pattern G7, covering order history grouped by status, proactive notification of delays, self-service order modification routed to the page that already handles the relevant data, and shipment tracking via the shipper’s own tracking database.