Skip to main content
Metrics type: Supporting MetricsCategory: Ecommerce Platform
Average time from order paid to order shipped or fulfilled.

At a glance

Average hours from the moment an order is marked PAID to the moment it moves to SHIPPED or FULFILLED over the rolling 30D window. For an Ecwid merchant this is the truest single read on operational health, it measures how long a paid customer waits before their order leaves the bench. Ecwid is an embedded-widget platform, so the merchant is usually the person packing the box; this card tells them whether the queue is keeping pace with sales.

Calculation

Calculated automatically from your Ecwid 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 small UK candle maker running an Ecwid widget on their Wix site, rolling 30D ending 27 Apr 26. The maker pours, cures, and packs everything by hand from a home studio. They pack Tuesday and Friday evenings around a day job. Stripe is the primary payment method, and most orders ship via a tracked second-class courier.
What it means for this candle maker. Fulfilment has slipped from a healthy 31 hours to 53 hours, above the 48h alert. The cause is visible in the adjacent numbers: orders fulfilled rose 30% but same-day shipments halved and the pending pile grew by nine. The maker is selling faster than they can pour. Because curing time is fixed (a candle needs to set before it can ship), volume growth without a second pour batch each week pushes the queue out. For an Ecwid hobby-to-small merchant this is the card that turns a vague “I feel behind” into a concrete number a partner or a part-time helper can act on. The fix is not a discount or an ad tweak, it is capacity: add a Sunday pour session, pre-cure a buffer of the top three scents, or temporarily mark slow-curing variants as made-to-order with a stated lead time so the expectation is set at checkout rather than broken after it. If the number had risen because of a single stuck order (one custom wedding-favour batch waiting on a supplier), the average would be skewed by an outlier rather than a systemic backlog. Always sanity-check the average against Pending Orders and Order Processing Backlog before deciding whether the problem is one order or the whole queue.

Sibling cards merchants should reference together

Reconciling against Ecwid

Where to look in Ecwid’s own dashboard:
Ecwid Control Panel (my.ecwid.com) -> My Sales -> Orders Filter to orders fulfilled in the window, then compare each order’s “Paid” timestamp against its “Shipped” timestamp. Ecwid does not surface an average natively, so this is a manual spot-check rather than a single tile.
For a quick gut-check, sort the order list by “Shipped” date and eyeball how far behind “Paid” date the recent shipments are running. Why our number may differ: Internal identity: ecwid_avg_order_fulfillment_time = AVG(fulfilled_at - paid_at) in hours, over orders fulfilled within the 30D window.

Known limitations / merchant FAQs

What counts as the start of the clock, order placed or order paid? Order paid. An order sitting in AWAITING_PAYMENT is not yet something you can fulfil, so the clock starts when Ecwid marks the order PAID. If you want to watch the pre-payment stage, use Awaiting Payment Orders. My average jumped but I do not feel behind. What happened? Almost always one stuck order skewing the mean. A single custom or pre-order item waiting on a supplier can pull a small store’s average up by many hours. Check whether the rise is broad (the whole queue is slow) or narrow (one or two aged orders) using the backlog card. Do weekends count? Yes, as raw wall-clock hours. If you pack only on weekdays, weekend orders genuinely wait longer and customers feel that wait, so we do not strip non-working days. If most of your sales land Friday night, expect the average to run higher than your “working hours” instinct. Does Ecwid POS pull the number down? Yes. In-person POS orders are usually fulfilled at the point of sale, so their fulfilment time is near zero and they drag the blended average lower. A store mixing heavy POS with online will read faster than an online-only store with the same packing speed. What about digital products and downloads? They auto-fulfil at payment, so their fulfilment time is effectively zero. A store selling mostly downloads will show a very low average, which is correct, the customer really did get their file instantly. Why is the alert at 48 hours? Two days is the common small-merchant expectation ceiling before “where is my order” emails start. It is a configurable default; a made-to-order maker with a stated lead time may set it higher, a same-day-dispatch store may set it lower. My store sells made-to-order items with a 2-week lead time. This card looks awful. What do I do? Either raise the alert threshold to match your stated lead time, or split made-to-order variants onto their own profile so the average reflects your in-stock shipping speed. The card measures wall-clock time honestly; it does not know your advertised lead time. How fresh is this card? Webhook-driven, typically within a few minutes of an order changing status. The 30D average recomputes on each dashboard render. Why are orders I never shipped not in the average? Because an unfulfilled order has no stop timestamp, so it has no duration to average. Those orders show up in the backlog and pending cards instead, which is where a growing pile of unshipped orders belongs.

Tracked live in Vortex IQ Nerve Centre

Avg Order Fulfillment Time is one of hundreds of KPI pulses Vortex IQ tracks across Ecwid 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.