Share of orders that reach a COMPLETED state in the period. The health check on fulfilment and checkout flow.
At a glance
The proportion of orders in the window that finished cleanly, reaching theCOMPLETEDstate in the Square Orders API rather than stalling inOPEN, slipping toCANCELED, or sitting unfulfilled. A high completion rate means orders flow from placement to fulfilment without friction. A dip is an early operational tell: a checkout regression, a fulfilment bottleneck, or a spike in cancellations.
| What it counts | COUNT(orders WHERE state = COMPLETED) / COUNT(orders in scope) across the window. The denominator is every order Square indexed in the period except DRAFT. |
| Order states involved | Square’s Order state enum is OPEN, COMPLETED, CANCELED, DRAFT. This card’s numerator is COMPLETED only; OPEN (in flight) and CANCELED (lost) both drag the rate down. |
| VAT / tax treatment | n/a, this is a ratio of order counts, not money. |
| Refunds | n/a to the rate. A COMPLETED order that is later refunded stays COMPLETED, the refund lives on a separate Refund object and is tracked on Refund Rate. |
| Channels / sources | POS, web, and Invoices all contribute. Square POS sales typically complete instantly at the register, so a POS-heavy account runs a naturally high completion rate. Square Online web orders move through fulfilment (pick, pack, ship) and can sit OPEN for days. A channel mix shift toward web can lower the headline without anything being wrong. Split by source.name or location_id for a true read. |
| Currency / unit | percent. No currency. |
| Time window | 30D vsP (default 30D vs the prior 30D) |
| Alert trigger | < 95%, threshold-based |
| Roles | owner, operations |
Calculation
Calculated automatically from your Square Online 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 home goods merchant on Square: one retail showroom plus a Square Online storefront that ships nationwide, and occasional Square Invoices for trade customers. The 30-day window covers 14 Mar 26 to 12 Apr 26.| Channel | Orders in window | COMPLETED | OPEN (in flight) | CANCELED | Completion Rate |
|---|---|---|---|---|---|
| Square POS, showroom | 2,400 | 2,394 | 0 | 6 | 99.8% |
| Square Online, web | 1,180 | 1,060 | 84 | 36 | 89.8% |
| Square Invoices, trade | 60 | 54 | 4 | 2 | 90.0% |
| Total (this card) | 3,640 | 3,508 | 88 | 44 | 96.4% |
- POS props the headline up. At 96.4% chain-wide the card sits above the
< 95%alert line, but the web channel alone is at 89.8%, well below it. POS completes instantly at the register and dilutes the web signal. If web is a meaningful share of revenue, pin a per-channel panel filtered tosource.name = Square Online Storeso a web fulfilment problem cannot hide behind retail. - OPEN orders are not lost, they are pending. The 88
OPENweb orders are mostly awaiting pick and pack; they will flip toCOMPLETEDover the next few days and the rate for this window will tick up. This is why the rolling 30-day read is more trustworthy than today: recent days always look worse because their orders have not had time to finish. - CANCELED orders are the part to watch. The 44 cancelations are the genuinely lost slice. A sudden jump in
CANCELED(rather thanOPEN) points to oversells, payment failures, or customers abandoning after placing. Cross-reference Canceled Orders (24h) to see whether the cancelations are clustering in a recent burst.
Sibling cards merchants should reference together
| Card | Why pair it with Order Completion Rate |
|---|---|
| Orders by Status | The full breakdown behind this single ratio. Completion Rate collapses the state enum into one number; Orders by Status shows the OPEN / COMPLETED / CANCELED split that explains a move. |
| Open Orders | A falling completion rate driven by a rising OPEN count is a fulfilment backlog, not lost sales. This card tells you which. |
| Canceled Orders (24h) | A falling completion rate driven by cancelations is the dangerous case. This card surfaces a recent cancelation burst before the 30-day rate reacts. |
| Refund Rate | Completion and refund failures often share a root cause (a bad SKU, a fulfilment slip). A completion dip plus a refund spike points to one incident. |
| Total Orders | The denominator context. A completion-rate move on a tiny order count is noise; on a large count it is signal. |
shopify.order_completion_rate | Same metric definition for agencies running clients on Shopify. Documentation cross-link, not a reconciliation. |
bigcommerce.order_completion_rate | Same metric definition on BigCommerce, same merchant tier as Square. |
Reconciling against Square
Where to look in the Square Dashboard: Square Dashboard, Orders. Set the same date range you’ve selected here, leave the Location filter on All locations, and use the status filters to view Completed vs Open vs Canceled. Divide the completed count by the total to compute the rate manually; it should track this card closely. Other Square Dashboard views that look like the same number but aren’t:- Orders, Completed filter: this is the numerator of this card. The rate also needs the denominator (all non-draft orders).
- Reports, Sales summary: counts revenue, not order states. A completed order and an open order both count once placed; Sales summary will not separate them.
- Orders, Shipments / Fulfilments tab: tracks fulfilment sub-states, which are finer-grained than the Order
stateenum this card uses.
| Reason | Direction of divergence |
|---|---|
In-flight orders. Recent-day orders sit OPEN until fulfilled. The most recent days of the window always read lower until those orders complete. | Vortex IQ lower on recent days, self-corrects |
| Time zone. Square reports run on the location’s local time zone; Vortex IQ runs on UTC by default. Orders near midnight on boundary days fall on different sides. | Boundary days off by a few orders |
Draft handling. Square DRAFT orders (saved carts, unsubmitted invoices) are excluded from both numerator and denominator here. If a dashboard view includes drafts, its denominator is larger. | Vortex IQ higher when dashboard counts drafts |
| Channel mix. POS completes instantly; web completes over days. If your dashboard view is filtered to one channel, the rate shifts accordingly. | Variable by filter |
| Sync lag. Square’s Orders API is near-real-time but the most recent ~5 minutes may not be in our index. | Self-resolves within minutes |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
google_analytics.conversion_rate | GA4 measures session-to-purchase, not order-to-completion | GA4 only sees Square Online web, never POS, and measures a different stage of the funnel. The two cards answer different questions; do not expect them to match. |
state enum, this card gives a genuine cross-channel completion read that platforms with bolted-on POS cannot. Just remember the flip side: a single high headline can mask a struggling web channel, so split by source.name when web matters.
Known limitations / merchant FAQs
What counts as a “completed” order? An order whose Squarestate is COMPLETED. Square’s Order state enum runs OPEN, COMPLETED, CANCELED, DRAFT. This card divides the COMPLETED count by all non-draft orders in the window. An OPEN order (placed but not yet fulfilled) and a CANCELED order both pull the rate down, but for very different reasons: one is pending, one is lost.
My rate is 96% chain-wide but my web orders feel stuck. What’s going on?
Square POS completes at the register instantly, so a retail-heavy account runs a naturally high completion rate that can mask a struggling web channel. Pin a per-channel panel filtered to source.name = Square Online Store. If the web slice is below 95% while the chain-wide number is above it, the problem is real and the headline is hiding it.
Why does today’s completion rate always look low?
Today’s orders have not had time to be fulfilled, so a large share sit OPEN and have not yet flipped to COMPLETED. The rate for the most recent days always reads low and climbs as orders finish. Use the rolling 30-day view for a stable read, which is why the alert window is 30D vsP rather than 1D.
Does a refunded order still count as completed?
Yes. A refund does not change the order’s state; the order stays COMPLETED and the refund lives on a separate Refund object. Refund leakage is tracked on the Refund Rate card. A high completion rate with a high refund rate means orders are flowing but quality or fulfilment is failing after the fact.
Open orders are dragging my rate down. Is that bad?
Not necessarily. OPEN means pending, not lost. A backlog of OPEN orders is a fulfilment-speed signal, watch Open Orders to see whether the backlog is growing or clearing. Cancelations are the part to worry about; an OPEN order usually becomes COMPLETED in time.
Can I change the 95% alert threshold?
Yes. < 95% is the default trigger. The per-merchant threshold can be customised in your Vortex IQ workspace settings. A pure-POS account might comfortably sit at 99% and want a tighter trigger; a web-heavy account with multi-day fulfilment might set a lower floor to avoid noise.
What’s the action playbook when this card drops?
Three checks in order: (1) Orders by Status, is the drop driven by rising OPEN (fulfilment backlog) or rising CANCELED (lost orders)? (2) if cancelations, check Canceled Orders (24h) for a recent burst and look for an oversell or payment-failure cause, (3) per-channel split, is it the web channel specifically? a web-only completion drop usually points to a fulfilment or checkout regression, not a demand problem.