Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform
Share of orders cancelled over the period.

At a glance

Cancelled orders divided by total orders over the rolling 30D window, shown as a gauge. On Ecwid a cancellation is an order that was created but voided before fulfilment, whether the customer changed their mind, the payment failed and the order was closed, or the merchant cancelled because of stock or address problems. A rising cancellation rate on a small store is rarely random; it usually traces to one fixable cause: a flaky gateway, an out-of-stock hero SKU, or a fulfilment delay that pushed customers to bail.
What it countsCOUNT(orders WHERE status = CANCELLED) / COUNT(orders created) over the rolling 30D window, expressed as a percentage.
API endpointGET /v3/{store-id}/orders (paged, max 100 per call, OAuth2 with read_orders scope). The engine reads each order’s orderStatus/paymentStatus. Webhook updates fire on order.updated when an order is cancelled.
What “cancellation” includesCustomer-requested cancellations, merchant-initiated cancellations (stock, address, suspected fraud), and orders auto-closed after payment never completed where the store treats those as cancelled.
What it excludesRefunds on fulfilled orders (those belong to Refund Rate); orders still AWAITING_PAYMENT that have not yet been closed.
Refunds vs cancellationsDistinct. A cancellation voids an order before it ships; a refund returns money on an order that was paid and usually shipped. The two cards measure different stages of the same risk.
VAT / tax / shippingNot relevant; this is an order-count ratio, not a value.
Currencypercent. A dimensionless rate.
Time window30D vsP (rolling 30D vs prior 30D).
Alert trigger>3%. Cancellation rate above three percent over the period flags an operational or payment problem worth investigating.
Sentimentecwid_cancellation_rate. Inverse gauge: lower is better.
Rolesowner, operations.

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 homeware maker running an Ecwid widget on their WordPress site, rolling 30D ending 27 Apr 26.
MetricThis 30DPrior 30DChange
Orders created140118+18.6%
Cancelled orders72+250%
Cancellation Rate (this card)5.0%1.7%+3.3pp
Cancellation Rate = 7 / 140 = 5.0%
Above the 3% alert; sharp jump from a 1.7% baseline
Reason breakdown of the 7 cancellations:
ReasonCount
Out of stock after order (one hero SKU)4
Customer changed mind2
Wrong shipping address, customer re-ordered1
What it means. Five percent is above the alert and the trend is sharp from a calm 1.7% baseline. The reason cluster is decisive: four of seven cancellations are the same out-of-stock hero SKU. The merchant kept selling a product whose stock had run out, then had to cancel and apologise after the fact. That is the worst kind of cancellation because it follows a confirmed sale, so the customer felt the disappointment of a broken purchase rather than simply seeing an “out of stock” label. For an Ecwid small merchant this is exactly the signal the card is built to surface. The fix is operational, not promotional: enable stock tracking on the hero SKU so the widget stops it being purchased at zero, or set a low-stock buffer so it hides before it sells out. Cross-check Out-of-Stock Products and Low Stock Products to confirm which SKUs are exposed. The two “changed mind” and one “wrong address” cancellations are ordinary small-store life and not worth chasing. The lesson the card teaches is to separate the systemic cluster (the OOS SKU) from the background noise. Fix the cluster and the rate should fall back toward 1 to 2% within the next 30D window.

Sibling cards merchants should reference together

CardWhy it matters next to cancellation rateWhat the combination tells you
Refund RateThe other side of order loss.Cancellations rising + refunds flat = pre-fulfilment problem; both rising = systemic quality or stock issue.
Out-of-Stock ProductsTop cancellation cause.Cancellations clustered on an OOS SKU means you sold stock you did not have.
Awaiting Payment OrdersUpstream stage.Aged awaiting-payment orders that get closed feed the cancellation count; watch the handoff.
Avg Order Fulfillment TimePatience driver.Slow fulfilment pushes customers to cancel; rising fulfilment time often precedes rising cancellations.
Total OrdersThe denominator.Small order counts make the rate volatile; read the absolute cancelled count alongside the percentage.
Total RevenueThe cost.Each cancellation is revenue that nearly closed and then evaporated; a rate spike dents revenue.
Conversion RateReputation downstream.A run of cancellations erodes trust and shows up later as softer conversion.
Pending OrdersBacklog link.A pending backlog that ages out into cancellations connects the two cards directly.

Reconciling against Ecwid

Where to look in Ecwid’s own dashboard:
Ecwid Control Panel (my.ecwid.com) -> My Sales -> Orders -> filter Order status = “Cancelled” Count the filtered list against the same window’s total order count to recompute the rate by hand.
Why our number may differ:
ReasonDirectionWhy
Cancellation vs refund splitEitherWe exclude refunds on fulfilled orders from this card and count them under refund rate; some Ecwid views blend the two. Reconcile by status, not by “lost order” feel.
Auto-closed unpaid ordersEitherWhether an order that never paid is counted as cancelled depends on store settings; we follow the order’s recorded status.
Time zoneBoundary daysEcwid uses store-local time; we use UTC. The boundary effect on a 30D window is small.
Denominator choiceEitherWe use orders created in the window; a manual count using orders paid will give a slightly different rate.
Sync lagMarginalWebhook-driven; a just-cancelled order may take a polling cycle to appear.
Internal identity: ecwid_cancellation_rate = COUNT(cancelled orders) / COUNT(orders created) over the same 30D window.

Known limitations / merchant FAQs

What is a normal cancellation rate for a small Ecwid store? Typically 1 to 3%. Below 3% is healthy; the alert at 3% is a sensible floor for a small merchant. Very small catalogues are noisier, so read the absolute cancelled count alongside the percentage. What is the difference between a cancellation and a refund? A cancellation voids an order before it ships, no goods leave the bench. A refund returns money on an order that was paid and usually already shipped. They sit on this card and Refund Rate respectively; do not double-count them. My rate spiked. What is the single most common cause? Selling a product that was actually out of stock, then having to cancel after the fact. The fix is enabling stock tracking so the widget stops the sale at zero. Check the out-of-stock and low-stock cards to find the exposed SKU. Do customer-requested cancellations count the same as merchant ones? Yes, both count toward the rate. The card measures lost orders regardless of who initiated the cancellation. The reason breakdown in the order list tells you which is which so you can separate fixable causes from ordinary changes of mind. My catalogue is tiny and one cancellation swings the rate a lot. What should I do? For small catalogues the rate is volatile by design. Watch the absolute count more than the percentage, and consider raising the alert threshold if 3% generates false alarms on weeks with low order volume. Does an awaiting-payment order that I close count here? It depends on how the order is recorded when closed. If it is marked cancelled, yes. If your store auto-expires unpaid orders to a different status, it may not. Check the status filter in the order list to confirm how your store handles it. Why does my Ecwid Control Panel show a different rate? Usually because Ecwid blends cancellations and refunds in some views, or because of time-zone and denominator differences. Reconcile by filtering the order list to status “Cancelled” over the same window and dividing by total orders. Does a high cancellation rate affect my payment account? Not directly through this card, which is informational. However, a pattern of cancellations and refunds can attract attention from Stripe or PayPal over time. Treat a sustained rise as an early warning to fix the underlying operational cause. How quickly does this update after I cancel an order? Webhook-driven, typically within a polling cycle. The cancelled order appears in the next dashboard render and the 30D rate recomputes.

Tracked live in Vortex IQ Nerve Centre

Cancellation Rate 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.