The number of orders placed in the window, the heartbeat of the store and the fastest signal that something upstream has broken.
At a glance
Order Volume is the raw count of orders created in the period across all valid statuses. It is the most-watched number on the Nerve Centre because it moves before revenue does and reacts to everything: traffic, conversion, checkout health, payment uptime, and seasonality. A sudden drop is almost always a problem, a broken checkout, a payment outage, a tracking or campaign failure, so the alert fires on a drop >20% vsP. It pairs with revenue and AOV to tell you whether a change came from volume or basket size.
| What it counts | COUNT(orders) created in the window across all valid (confirmed) statuses. |
| Which statuses | Confirmed orders: Pending, Processing, Shipped, Complete, and their custom equivalents. The detail view can include or exclude in-flight statuses. |
| Failed and missing | Excluded from the headline. Failed and order_status_id = 0 (missing) orders are not valid orders; they live on Failed Orders (24h). |
| Cancelled and refunded | Included in the count by default, because the order was genuinely placed. They are still distinct slices on Order Status Distribution. |
| Guest vs registered | Both count. An order is an order regardless of whether the buyer registered. |
| Currency / tax | n/a, this is a count. For money see Total Revenue (30d). |
| Multi-store | Sums all store_id values by default; the detail view splits by store. |
| Time window | T/7D/30D vsP (today, 7-day, 30-day, each vs prior) |
| Alert trigger | drop >20% vsP, driven by sentiment on order trend |
| Roles | owner, operations |
Calculation
Worked example
A German pet-supplies merchant on OpenCart 4.0 averages around 95 orders a day. They review the 7-day window 6 Jun 26 to 12 Jun 26 against the prior 7 days.| Day | Orders (this week) | Orders (prior week) |
|---|---|---|
| Mon | 98 | 92 |
| Tue | 101 | 95 |
| Wed | 30 | 97 |
| Thu | 34 | 99 |
| Fri | 96 | 101 |
| Sat | 88 | 90 |
| Sun | 84 | 86 |
| Order Volume (7D, this card) | 531 | 660 |
- The 7-day total is down 19.5 percent vsP, just under the alert line, but the daily view tells the real story. Wednesday and Thursday collapsed to roughly a third of normal while every other day was healthy. A smooth 19.5 percent decline would be a demand problem; a two-day crater inside a normal week is an incident.
- The cause was a payment outage on Wednesday morning. An SSL certificate on the payment gateway expired overnight. Card payments failed for around 36 hours until renewed. Order Volume cratered while Failed Orders (24h) spiked in the same window, the textbook signature of a checkout break rather than a demand dip.
- The Hero alert is tuned to catch exactly this. A
drop >20% vsPon the daily figure would have fired Wednesday morning, hours before the merchant noticed quiet phones. Order Volume drops before revenue does, which is why it is the first card most operators check each morning. - Volume plus revenue plus AOV is the diagnostic triangle. If volume fell but AOV rose, fewer-but-larger baskets. If both fell, a genuine demand or access problem. Here both volume and revenue dropped together while AOV held, confirming the issue was access (no orders) not basket behaviour.
- Recovery is visible in the same card. Friday returned to 96, in line with the prior week. The crater stays in the 7-day window for a few more days, dragging the headline, then ages out. Watching the daily shape recover is how you confirm the fix held.
Sibling cards merchants should reference together
| Card | Why pair it with Order Volume |
|---|---|
| Total Revenue (30d) | Volume × AOV ≈ revenue. If revenue moved but volume did not, basket size changed. |
| Average Order Value | The other half of revenue. Read with volume to attribute any revenue swing. |
| Failed Orders (24h) | The mirror image. A volume crater with a failed-order spike is a checkout or gateway break. |
| Order Status Distribution | Shows how the volume splits across statuses. |
| Platform Error Spike or Extension Conflict | A sudden volume drop often coincides with a platform error. Check both together. |
| Revenue at Risk (live) | When volume drops because orders are failing, this puts a currency figure on it. |
Reconciling against OpenCart
Where to look in OpenCart admin: Sales → Orders, filtered by date range, gives the order count. Reports → Sales → Orders aggregates orders and totals by period and can group by status. The dashboard shows a recent-orders tile and a sales chart. The underlying data is rows inoc_order filtered by date_added and order_status_id.
Other OpenCart views that look like the same number but are not:
- Reports → Sales (revenue total): a money figure, not an order count.
- Sales → Orders including missing: if you do not exclude
order_status_id = 0, the admin count includes unconfirmed checkouts that this card excludes from valid volume. - Dashboard recent-orders count: often a fixed recent-N list, not a windowed total.
| Reason | Direction of divergence |
|---|---|
Status inclusion. This card counts valid (confirmed) statuses and excludes Failed and missing. An admin list that includes order_status_id = 0 will be higher. | Vortex IQ lower than a missing-inclusive admin list |
| Time zone. OpenCart admin uses the store timezone; Vortex IQ evaluates the window in UTC by default. Orders near midnight shift between days. | ±1 day at the boundary |
| Cancelled / refunded. We include genuinely placed orders that were later cancelled or refunded; some admin reports exclude them. | Vortex IQ higher than an exclude-cancelled report |
Multi-store. A store_id-filtered admin view shows one store; this card sums all by default. | Vortex IQ higher than a single-store view |
| Sync lag. Orders in the last few minutes appear on the next sync. | Self-resolves at next sync |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
| Payment processor transaction count (Stripe, PayPal) | Processor count ≤ Order Volume | The processor sees only orders paid through it. Bank transfer, cash on delivery, and other-gateway orders are in Order Volume but not in any one processor. |
| Analytics transactions (GA4) | GA4 ≈ Order Volume × (1 − tracking gap) | GA4 typically misses 10 to 25 percent of orders to ad-blockers and tag failures. Treat OpenCart as the source of truth for order count. Use GA4 for traffic and attribution. |
Known limitations / merchant FAQs
Does this count failed and missing orders? No. Failed andorder_status_id = 0 (missing) orders are not valid orders and are excluded from the headline. They are tracked on Failed Orders (24h). Order Volume is the count of orders that actually got placed.
Are cancelled and refunded orders included?
Yes, by default, because the order was genuinely placed before it was cancelled or refunded. They still appear as their own slices on Order Status Distribution, so you can see them separately.
My volume dropped, where do I start?
Look at the daily shape first. A smooth decline is usually a demand or seasonal effect; a sharp crater on one or two days is an incident. Then check Failed Orders (24h) and the error and conflict cards to separate a checkout break from a demand dip.
Why does the alert fire on a 20 percent drop?
Because Order Volume is noisy day to day but a 20-percent-plus drop versus the prior period is rarely random. The threshold is set to catch real breaks (payment outages, checkout faults) without firing on normal weekday-to-weekend swings.
Why is my GA4 transaction count lower?
GA4 typically misses 10 to 25 percent of orders to ad-blockers, cookie rejection, and tag-fire failures. That gap is structural, not fixable. Treat OpenCart as the source of truth for order count and use GA4 for traffic and attribution.
Does this include guest checkouts?
Yes. An order is an order whether or not the buyer registered. Guest and registered orders both count toward volume. The registered-only signal is on New Customers (30d).
Why does my admin order count differ?
Usually because the admin list includes missing orders (order_status_id = 0) that this card excludes, or because it is filtered to one store while this card sums all. Match the status filter and store to reconcile.
Volume is flat but revenue rose, what happened?
Basket size grew. Same number of orders, more value per order. Confirm with Average Order Value; a rising AOV with flat volume is a healthy way for revenue to grow.