Skip to main content
Card class: HeroCategory: Ecommerce Platform
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 countsCOUNT(orders) created in the window across all valid (confirmed) statuses.
Which statusesConfirmed orders: Pending, Processing, Shipped, Complete, and their custom equivalents. The detail view can include or exclude in-flight statuses.
Failed and missingExcluded from the headline. Failed and order_status_id = 0 (missing) orders are not valid orders; they live on Failed Orders (24h).
Cancelled and refundedIncluded in the count by default, because the order was genuinely placed. They are still distinct slices on Order Status Distribution.
Guest vs registeredBoth count. An order is an order regardless of whether the buyer registered.
Currency / taxn/a, this is a count. For money see Total Revenue (30d).
Multi-storeSums all store_id values by default; the detail view splits by store.
Time windowT/7D/30D vsP (today, 7-day, 30-day, each vs prior)
Alert triggerdrop >20% vsP, driven by sentiment on order trend
Rolesowner, operations

Calculation

COUNT(orders)
  WHERE order_status IN (valid_statuses)
    AND date_added BETWEEN [period_start, period_end]

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.
DayOrders (this week)Orders (prior week)
Mon9892
Tue10195
Wed3097
Thu3499
Fri96101
Sat8890
Sun8486
Order Volume (7D, this card)531660
What’s interesting here:
  1. 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.
  2. 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.
  3. The Hero alert is tuned to catch exactly this. A drop >20% vsP on 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.
  4. 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.
  5. 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

CardWhy pair it with Order Volume
Total Revenue (30d)Volume × AOV ≈ revenue. If revenue moved but volume did not, basket size changed.
Average Order ValueThe 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 DistributionShows how the volume splits across statuses.
Platform Error Spike or Extension ConflictA 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 in oc_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.
Why our number may legitimately differ:
ReasonDirection 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
Cross-connector reconciliation (when payment and analytics connectors are linked): These connectors see the same activity through different lenses and should move together. Divergence is a data-quality signal.
CardExpected relationshipWhat causes legitimate divergence
Payment processor transaction count (Stripe, PayPal)Processor count ≤ Order VolumeThe 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 and order_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.

Tracked live in Vortex IQ Nerve Centre

Order Volume is one of hundreds of KPI pulses Vortex IQ tracks across OpenCart 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.