At a glance
Count of orders placed in the period. The most fundamental volume metric, the denominator that AOV, refund rate, fulfillment rate, and most other ratios sit on top of.
| What it counts | COUNT(orders). Each Order.id row contributes one. |
| API endpoint | Admin GraphQL. Order.id. |
| VAT / tax treatment | Not applicable (count metric). |
| Shipping | Not applicable. |
| Discounts | Not applicable. |
| Refunds | NOT deducted. A fully-refunded order still counts. To exclude refunds, use a fulfilled-only filter. |
| Cancelled / voided orders | Included. To exclude, filter cancelledAt IS NULL. The default is intentional: cancelled orders represent demand that came in, even if it didn’t convert. |
| Currency | Multi-currency safe (count, not money). |
| Channels / sources | Not filtered. Online + POS + Buy Button + marketplace channels all contribute. |
| Test orders | Currently NOT filtered. Test orders inflate count slightly for stores that frequently test (rare in production). |
| Time window | 30D vsP (default 30D vs the prior 30D) |
| Alert trigger | drop >15% vsP, sustained order-count drop indicates revenue risk |
| Roles | owner, marketing, operations |
Calculation
Worked example
A US apparel brand on Shopify Plus. Period: 12 Apr 26 to 11 May 26.| Sales channel | Order count | Share |
|---|---|---|
| Online Store | 5,120 | 74.9% |
| Shop POS (4 retail outlets) | 1,240 | 18.1% |
| Buy Button (3rd-party site) | 89 | 1.3% |
| TikTok Shop | 391 | 5.7% |
| Total orders | 6,840 | 100% |
- The drop is concentrated in Online Store. 5,120 vs prior 5,820 (-12.0%). POS is roughly flat. The acquisition / paid-channel issue is online-specific.
- TikTok Shop is now 5.7%, growing. 391 vs prior 240 (+62.9%). Newer channel scaling fast; even a slow Online Store can be offset by emerging channel growth.
- POS resilience is the diversification lesson. Multi-channel brands cushion online ad-channel volatility with retail / POS revenue. Single-channel DTC brands face the full headwind when Meta / Google CAC spikes.
- Refund-corrected order count is similar but not identical. ~5% of orders refund; fully-refunded orders still count here. To see “kept orders” only, filter
displayFinancialStatus != REFUNDED. - Cancellations included. ~1% of orders cancel; cancelled orders still contribute. To see “shipped orders” only, filter
displayFulfillmentStatus = FULFILLED.
Sibling cards merchants should reference together
Order count is rarely useful alone. Pair with these:| Card | Why pair it with Order Count | What the combination tells you |
|---|---|---|
| Total Revenue | Revenue counterpart. | Revenue ÷ orders = AOV. |
| AOV | Per-order spend. | The product of order count × AOV = revenue; the decomposition. |
| Customer Count | Unique customers. | Orders ÷ customers = orders per customer (frequency). |
| Orders Over Time | Timeseries. | Daily shape pinpoints when the count moved. |
| New Customers | New vs returning split. | New-customer share × order count = new-acquisition orders. |
| Cancellation Rate | Cancellation share. | Order count includes cancellations; net orders = total × (1 - cancel rate). |
google_analytics.ga_purchases_trend | Cross-channel order count | GA4 sees purchase events; Shopify sees orders; should match within 5-15% (ad blockers, cookie consent gaps). |
bigcommerce.order_count | Same definition. | Documentation cross-link. |
adobe_commerce.order_count | Same definition. | Documentation cross-link. |
Reconciling against the vendor’s own dashboard
Where to look in Shopify Admin: Analytics → Reports → “Orders over time” → set the date range. Headline count should align with this card to within sync-lag tolerance. Other Shopify Admin views:- Analytics → Dashboards → Overview: the headline orders tile.
- Orders → All orders: filter by date range, count manually.
- Reports → Sales by channel: per-channel order counts.
| Reason | Direction | Why |
|---|---|---|
| Time zone | Boundary days | Standard time-zone gap. |
| Test orders | Ours slightly higher | We do not yet filter Order.test = true. |
| Channel filter | Either | Shopify can be filtered by channel; this card aggregates. |
| Cancelled orders | Both include | Both include; status-filtered views in Shopify Admin can show different numbers. |
| Sync lag | Ours lower for “today” | 5 to 15 minute index lag. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
google_analytics.ga_purchases_trend | GA4 purchases ≈ Shopify orders × (1 - tracking-gap) | Ad blockers, cookie consent rejection, tag-fire failures cause GA4 to undercount by 5-25%. |
Known limitations / merchant FAQs
Why is my order count dropping? Three usual culprits, ranked by likelihood:- Paid traffic pulled back. A Meta or Google CPM spike, a campaign paused, or a creative burning out reduces the top-of-funnel and orders follow within 3 to 7 days. Cross-reference the corresponding ad-platform spend trend.
- Conversion-rate regression. A site change (redesign, header swap, checkout app update) silently broke add-to-cart or checkout. Pair with Conversion Rate and Checkout Failure Rate. If sessions held but orders fell, the issue is on-site.
- Comparable-period seasonality. A 30D vsP comparison straddling Black Friday, Boxing Day, or Easter produces drops that look alarming but are mechanical. Always check whether the prior period included a known peak before reacting.
Order.test = true flag is not yet filtered. For most production stores this contributes 0 to 5 orders a month and is invisible. If you actively use test orders for QA (a dev partner running cart-flow regression tests), you may see a spike in this card after a release week. The roadmap includes a test = true filter; in the meantime, exclude them in the Shopify Admin Orders list filter when reconciling.
Does each Shopify Subscriptions billing count as a separate order?
Yes. A monthly subscription customer paying for 12 months generates 12 distinct Order.id rows, each contributing 1 to this card. This is the same behaviour as Shopify Admin’s Orders over time report. If you want to see the first order per customer, use New Customers which de-duplicates by customer.id.
B2B / wholesale orders, do they count the same?
Yes, every B2B Edition order with purchasingEntity = PurchasingCompany increments this card. If your store mixes DTC and B2B and you want to view them separately, filter the Shopify Admin Orders list by tag:wholesale (or whatever convention you use) to compare. The card itself does not yet split by purchasing-entity type.
Why does my POS-heavy store show order counts so different from my online competitor’s?
POS orders count here. A retail-and-online brand running 4 till locations easily adds 1,000 to 3,000 orders a month from POS that pure-DTC brands don’t have. Order count comparisons across business models are misleading without channel-splitting; use Shopify Admin’s Sales by channel report for the channel-specific view.
Refresh cadence?
Webhook-driven, with a 5 to 15 minute index lag. The today figure on this card lags slightly behind the Shopify Admin Orders list; everything older than 30 minutes is fully caught up.
The card jumped overnight, what should I check first?
Open Orders Over Time and look at the daily shape. A single-day spike is usually a sale, a flash promotion, or a viral moment; a step-up in the baseline is a channel scaling (TikTok Shop, a new partner). A drop is the same exercise in reverse; the daily granularity tells you which day broke from trend.