# Order tracking link or reference provided

- **Pattern:** `ab-001112` (`ecommerce-cart-ux.order-confirmation.tracking-link`)
- **Severity:** low
- **Lifecycle:** active
- **Last modified:** 2026-04-18
- **Canonical URL:** https://auditbuffet.com/patterns/ab-001112
- **License:** CC-BY-4.0 — attribute to AuditBuffet Pattern Catalog (https://auditbuffet.com/patterns/ab-001112)

## Why it matters

After the confirmation email lands, the shopper's next question is "where is my order?" Without an order-specific tracking link, every answer requires a support ticket. That's support cost per order, plus shopper anxiety that compounds into refund requests and chargebacks on orders that are merely in transit. A dynamic tracking URL containing the order ID — reachable from the confirmation page, the email, and the account order history — deflects the entire "WISMO" support category.

## Severity rationale

Low because the defect drives support volume rather than blocking checkout, but it scales linearly with order count.

## Remediation

Add a dedicated tracking route at `src/app/orders/[orderId]/track/page.tsx` and link to it from the confirmation page, the confirmation email, and the account order history. The link must embed the specific `orderId` — a generic `/orders` link fails the contract.

```tsx
<a href={`/orders/${order.id}/track`}>Track Your Order</a>
export default function TrackingPage({ params }) { return <TrackingDetails orderId={params.orderId} /> }
```

## Detection

- **ID:** `tracking-link`
- **Severity:** `low`
- **What to look for:** Count the locations where an order tracking link or reference is provided: (a) confirmation page, (b) confirmation email, (c) user account/order history page. For each, check that the link is dynamic (includes order ID in URL, not a generic "/orders" page). Look for a dedicated tracking page or route (e.g., `src/app/orders/[id]/track/page.tsx`). Quote the link URL pattern and the component rendering it.
- **Pass criteria:** At least 1 of 3 locations (confirmation page, email, account page) provides a clickable tracking link that includes the specific order ID. A dedicated tracking page or order status page exists in the routing structure. Report: "Tracking link found in X of 3 locations. Link pattern: [URL]. Tracking page: [path]."
- **Fail criteria:** No tracking link is provided in any location, or the link is a static URL that does not reference the specific order.
- **Skip (N/A) when:** Products are digital-only (no physical shipping), or no order tracking system is integrated.
- **Detail on fail:** Example: `"Confirmation page at src/app/checkout/confirmation/page.tsx has no tracking link. No /orders/[id]/track route exists. 0 of 3 locations provide order-specific tracking. Customer must contact support to check order status."`
- **Cross-reference:** For the confirmation page content, see the confirmation-page check above. For confirmation email content, see the confirmation-email check above.
- **Remediation:** Add a tracking link on the confirmation page at `src/app/checkout/confirmation/page.tsx` and create a tracking route:

  ```tsx
  // src/app/checkout/confirmation/page.tsx
  function ConfirmationPage({ order }) {
    return (
      <div>
        <h1>Order Confirmed!</h1>
        <p>Order #: {order.id}</p>
        <a href={`/orders/${order.id}/track`} className="btn-primary">
          Track Your Order
        </a>
      </div>
    )
  }

  // src/app/orders/[orderId]/track/page.tsx
  export default function TrackingPage({ params }) {
    const { orderId } = params
    return <TrackingDetails orderId={orderId} />
  }
  ```

---

Taxons: user-experience

HTML version: https://auditbuffet.com/patterns/ab-001112
