Skip to main content
Metrics type: Supporting MetricsCategory: Ecommerce Platform
Orders ageing past SLA. 3PL outage / staff out / wrong picklist, surface before the customer emails support.

At a glance

Real-time alarm when more than 10 orders sit unfulfilled for more than 48 hours. Catches a 3PL outage, a staff absence, a misrouted picklist, or a Channel Manager sync gap before the customer emails support and posts a 1-star review. Where Shopify Fulfillment Network or Shop Promise creates implicit SLAs that are mostly auto-managed, BigCommerce merchants typically run their own 3PL or warehouse, so this alert is the primary signal that operational throughput has stalled.

Calculation

Calculated automatically from your BigCommerce data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A US apparel brand on BigCommerce Pro with a single 3PL (ShipBob) and an in-house POS terminal at a flagship store. Snapshot at 10:00 UTC on Wednesday 15 Apr 26. What’s interesting:
  1. All affected orders share warehouse A. Three different channels (web, Amazon, Walmart) but one underlying inventory location, that’s a single 3PL outage at ShipBob warehouse A, not three independent issues. Always group the alert by inventory location before by channel, the root cause is almost always operational, not channel-specific.
  2. The B2B portal is largely unaffected (2 orders). B2B portal uses direct dropship (manufacturer ships direct to customer) bypassing the 3PL entirely. This is a structural advantage of B2B Edition’s dropship workflow that DTC merchants rarely think about; in a 3PL outage your B2B revenue keeps flowing.
  3. POS shows zero by design. POS sales are walk-out fulfilled at the till; nothing to “ship”. The card correctly excludes them.
  4. Lost-revenue and lost-customer impact: 38 delayed orders at average 85=85 = 3,230 of revenue stuck. More importantly, ~25% of customers will refund or chargeback within 7 days if not communicated to, ~10% will leave a 1-star review. The dollar cost of inaction over 48 hours is ~800inrefundsand 800 in refunds and ~2,000 in lifetime-value damage from review impact.
  5. Amazon penalises this hardest. Amazon’s late-shipment rate (LSR) tracks shipments not dispatched within their committed handling time. Above 4% LSR Amazon throttles your seller account. Twelve late Amazon shipments in one day on a moderately-trafficked account can push LSR over the threshold. Set Channel Manager → Amazon to fail-fast cancel for orders that breach the 48h SLA, an Amazon cancellation hurts less than an LSR strike.
The rapid-response playbook (when this alert fires):
  1. Identify the choke point. Group by inventory_location first; if all orders are at one location, the warehouse / 3PL is the cause. Group by shipping_method second; if all are expedited, your express courier is the cause.
  2. Call the 3PL. Most ShipBob, ShipMonk, ShipHero outages are operational (forklift broken, staff out, system down) and resolve within 4-6 hours once the 3PL knows you’re watching.
  3. Communicate proactively. Email affected customers a delay notification before they email you. Customers tolerate delay 5x better when notified vs. discovered. BC’s order notes API supports bulk-tagging affected orders for batch email; use it.
  4. For Amazon orders specifically, consider cancelling and re-creating any pending orders from a different warehouse if MLI is enabled. Amazon’s LSR penalty is harsher than the cancellation penalty.
  5. Audit the picklist generator. Some 3PLs miss BC orders if the order falls outside the picklist API call’s date window; verify recent picklist exports include all the affected orders.

Sibling cards merchants should reference together

Reconciling against the vendor’s own dashboard

Where to look in BigCommerce Control Panel: Orders → All orders, filter by status Awaiting Fulfilment, Awaiting Shipment, Awaiting Pickup, sort by date ascending. Orders at the top of the list are the oldest unfulfilled. Compare the count to this card’s number; they should match within 1-2 (boundary timing). For per-channel breakdown: Channel Manager → per-channel order list shows fulfilment state per marketplace. For shipment tracking specifically: Orders → Shipments (Pro / Enterprise) shows shipment timestamps. For B2B Edition: B2B-specific orders surface under Channel Manager → B2B Edition → Orders with their customer-group context preserved. Why our number may legitimately differ from BC’s order list count: Cross-connector reconciliation (when carrier and 3PL integrations are connected): The fulfilment-delay alert shape is BC-aligned with similar alerts on Shopify (per unfulfilled_quantity) and Adobe Commerce (per shipment_status); merchant-facing semantics are equivalent across platforms.

Known limitations / merchant FAQs

Why is the threshold 48 hours and not 24 or 72? 48 hours is the industry-standard SLA gap for ground shipping where most reasonable buyers expect movement. 24 hours fires constantly on weekends and holidays (your 3PL doesn’t pick on Sunday); 72 hours misses Amazon LSR violations (Amazon’s threshold is 48-72 hours depending on the offer type). 48 hours is the sweet spot for DTC. Configure tighter thresholds (24h, 12h) for expedited orders specifically, the alert engine supports per-shipping-method SLAs. My alert keeps firing every Monday morning. Why? Weekend pile-up. Most 3PLs don’t pick on Saturday-Sunday; orders placed Friday afternoon cross the 48h threshold by Monday morning. Two options: (a) silence the alert during your known weekend window (Settings → Alerts → Silence Friday 17:00 to Monday 09:00), (b) tighten the SLA explicitly to 72h to absorb weekends. Most stores prefer option (a), the alert remains useful for genuine weekend operational outages. My B2B portal alert is firing on orders with PO terms net-30. Are those even “delayed”? Probably not, but the alert can’t tell PO-terms-pending from “stuck in warehouse” without explicit configuration. Configure customer-group-specific thresholds: B2B with PO terms gets 7-30 day SLA based on the negotiated terms. B2B Edition’s customer-group setup should include an expected_fulfilment_days field; if it does, our alert auto-honours it. If it doesn’t, configure manually per customer group. My MLI store shows orders split across locations. How does the alert handle them? An order with line items at multiple locations is counted as one order. The alert payload includes per-location detail so you can see which location is the bottleneck. In a multi-location store the per-location view is more actionable than the per-channel view, the bottleneck is almost always one location, not one channel. My Channel Manager → Amazon shows orders shipped but BC still shows unfulfilled. Is one wrong? Sync lag, both are right at their respective points. Channel Manager’s Amazon ack of shipment can lag BC’s order status by 5-30 minutes during high-volume periods. If the gap persists more than 1 hour, force a Channel Manager refresh: Channel Manager → Amazon → Sync (button in top-right). Persistent gaps over 4 hours are usually a Channel Manager bug; file a ticket with BC support. Should I auto-cancel orders that breach 7 days? Generally yes, but with care. A 7-day-unfulfilled order is almost certainly a deeper systemic issue (wrong address, item not actually in stock, account flagged for fraud review). Auto-cancelling cleanly returns inventory to Channel Manager and refunds the customer. For B2B, NEVER auto-cancel without manual review, the customer relationship damage of an unprompted B2B cancellation is huge. My alert says 38 orders pending but my 3PL says 12. Who’s right? Both might be right at different points in the workflow. The 3PL is showing orders in their pick queue; we’re showing orders BC marked as Awaiting Shipment. The gap (26 orders) likely sits in the BC-to-3PL transmission step (orders BC has marked ready but the 3PL hasn’t ingested yet). Audit the integration’s recent transmission log to find the gap. Can I exclude POS orders from the alert entirely? Yes, by default POS is excluded since walk-out fulfilment doesn’t use the order-shipment lifecycle. If your POS workflow does use shipment (BOPIS, ship-from-store), un-exclude POS in Settings → Alerts → Channel filter. Why does the alert fire so often during the 4 weeks of November-December? Holiday peak. Order volume 3-5x normal, 3PL throughput linear at best. Expect 30-50% more pending orders than normal pre-holiday season. For Q4 specifically, raise the threshold count from 10 to a percentile of order volume (e.g. “fire when >5% of orders aged >48h”). The alert engine supports percentile thresholds. My alert fires but the affected orders all have addresses in remote-area zones. Is this real? Partially. Remote-area shipments genuinely take longer to dispatch (special carriers, longer pick paths). Configure SLA-by-zone if your 3PL provides zone tags; remote-area orders should get 96h SLA, mainland 48h. The alert engine supports zone-based thresholds with shipping-rate-API zone tagging. The Channel Manager → Amazon LSR is over 4% but this card shows healthy. What’s wrong? Usually a date-window mismatch. Amazon LSR uses a 30-day rolling window; this card is real-time. If you had a bad week 3 weeks ago that pushed LSR up, today’s healthy operations won’t immediately show on Amazon. Look at the trend over the past 30 days using BC Channel Fulfilment Rate to spot the lag.

Tracked live in Vortex IQ Nerve Centre

Fulfilment Delay Alert is one of hundreds of KPI pulses Vortex IQ tracks across BigCommerce and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.