Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform

At a glance

Daily (or weekly) SUM(totalPrice) plotted as a time series across the 90-day window. The headline trend chart for revenue health, the first thing most owners check on a Monday morning.
What it countsSUM(totalPrice) GROUP BY date(createdAt) over the window. Each point is one day of gross customer-paid revenue.
VAT / tax treatmentWhatever totalPrice includes. UK / EU stores see VAT-inclusive points; US stores see tax-exclusive.
ShippingIncluded (sits inside totalPrice).
DiscountsDeducted (post-discount).
RefundsNOT deducted. The original day is what counts; refund timing doesn’t move revenue between days. For the post-refund view, overlay Refund Value as a second series.
Cancelled / voided ordersIncluded if Shopify indexed them.
CurrencyMulti-currency arithmetic without FX. Stores transacting in mixed currencies see jagged daily points; filter to one currency for a usable trend.
Channels / sourcesAll channels blended. POS sales create weekend / event spikes; B2B sales create occasional five-figure single-day jumps; subscriptions create steady billing-day lifts.
Time window90D (default 90D rolling)
Alert triggerNone on the chart itself; revenue_trend sentiment key drives the headline-trend alert via the parent revenue card.
Rolesowner, marketing

Calculation

DATE_HISTOGRAM SUM(totalPrice)
  WHERE date BETWEEN [period_start, period_end]

Worked example

A US wellness DTC brand on Shopify Plus, mostly DTC online, light Amazon presence. Window 12 Feb 26 to 12 May 26 (90 days, 91 daily points). Smoothed weekly view of the daily series:
Week ofRevenueNote
16 Feb 26$182,400Baseline
23 Feb 26$174,600Mild dip, Presidents’ Day softness
02 Mar 26$189,200Recovery
09 Mar 26$215,800Spring drop launched 11 Mar
16 Mar 26$241,300Drop momentum continued
23 Mar 26$198,400Pull-back to organic baseline
30 Mar 26$192,100Steady
06 Apr 26$186,400Easter softness, US
13 Apr 26$204,300Email reactivation campaign
20 Apr 26$197,800Steady
27 Apr 26$208,500End-of-month payday cluster
04 May 26$221,400Mother’s Day push
11 May 26$164,200 (partial)Window cut-off, only 1 day in
90D total$2,576,400Over 90 days = $28,627 / day average
Five things to notice:
  1. The chart’s job is to show the shape, not the total. The 90D total goes on the Total Revenue tile; this chart’s job is trend. Look at the slope first, the variance second, the absolute level third.
  2. The Spring Drop spike (week of 09 Mar) is the campaign signature. A clean two-week bump that returns to baseline. If it didn’t return to baseline, you’d suspect a step-change in baseline demand. Pair with New Customers to see whether the bump kept buyers or just front-loaded existing ones.
  3. Easter softness (06 Apr) is structural. US Easter Sunday in this window. Most categories see -5 to -15% week-over-week; not a problem, just mark the calendar.
  4. The “11 May 26 partial” gotcha. The trailing point is incomplete because the window is rolling. New users misread this as a sudden drop on the most recent day. The Vortex IQ chart greys out the trailing day’s bar; merchants who export to CSV often miss this.
  5. Weekly view kills the noise. Daily points show 30 to 50% intra-week swing; weekly smooths to ~10%. For trend decisions, work weekly. For incident decisions, work daily.

Sibling cards merchants should reference together

Revenue Over Time is the headline trend. The supporting cast:
CardWhy pair it with Revenue Over Time
Total RevenueThe 90D total in a single number. Use the chart for shape, the tile for level.
Orders Over TimeOrder-count companion. Revenue up + orders flat = AOV growing; revenue up + orders up proportionally = pure volume.
Average Order ValueThe implicit ratio. Sustained AOV change shows up as drift between this chart and Orders Over Time.
Refunds Over TimeOverlay to compute net revenue daily. A revenue rise that’s partly offset by refund-rise is misleading.
Discount Over TimeSpikes here often align with discount-driven days. Sanity check whether revenue gains are organic or promo-driven.
Revenue by Day of WeekThe pattern view. Use to identify systematic weekday weaknesses.
Revenue by ChannelChannel decomposition of the trend. A flat headline can hide a falling DTC + rising marketplace mix.
Cancelled Over TimeLate-stage failure trend. Rising cancellations alongside flat revenue means hidden churn.

Reconciling against the vendor’s own dashboard

Where to look in Shopify Admin:
Shopify Admin → Analytics → Reports → “Total sales over time” (under the Sales category)
The most direct equivalent. Set the same window and granularity (daily / weekly / monthly). The chart shape and totals should match this card to within sync-lag and time-zone tolerance. Other Shopify Admin views that overlap:
  • Analytics → Dashboards → Overview: a default-30D revenue chart on the home dashboard. Useful for a quick glance, less granular.
  • Analytics → Live View: real-time today-only chart with map. Use to verify “today” is reflected.
  • Reports → Sales by sales channel over time: same chart shape, broken by channel.
Why our number may legitimately differ from Shopify’s:
ReasonDirectionWhy
Time zoneDaily totals shiftShopify Admin uses store time zone; Vortex IQ uses UTC. Boundary days differ by up to one day. The 90D total reconciles; individual day totals may not.
Refund treatmentSameBoth use original-order-date for revenue attribution by default. Net Sales (refund-adjusted) differs.
Multi-currencySlice totals nonsensicalWe don’t FX-normalise; Shopify Admin reports do for the headline.
Sync lagTrailing day(s) lowerMost-recent 5 to 15 minutes of orders may not be in the index. Yesterday and earlier are caught up.
Cancelled / test ordersSlight differencesShopify Admin can hide test orders; Vortex IQ does not yet filter Order.test.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
google_analytics.ga_revenue_over_timeSame shape, lower absoluteGA4 misses 10 to 25% of orders due to ad blockers and cookie rejection. Shape tracks within ±5%; level runs lower. Treat Shopify as truth for £; GA4 for channel attribution.
stripe.stripe_volume_over_timeTracks Stripe-gateway orders onlyWill be lower than this card if the store has Shopify Payments + alternate gateways (PayPal, Apple Pay, Klarna).

Known limitations / merchant FAQs

Why does my chart show a sudden dip on the most recent day? Almost always because the window is rolling and the trailing day is incomplete. Vortex IQ greys out the partial day on the chart, but if you’re exporting raw data, the most recent day may include only a few hours of orders. Don’t react to it. Wait until the next day. My weekend revenue looks flat compared to weekdays. Is that normal? Depends on category. UK DTC fashion typically peaks Thursday/Friday with a weekend dip; US homewares often peak Sunday/Monday. Pair with Revenue by Day of Week for the pattern view, then compare against your category benchmark. Why is my chart noisy day-to-day? Three usual causes:
  1. Low daily order volume. Stores doing <50 orders/day naturally show jagged charts; one £500 wholesale order moves the daily figure 10%+. Switch to weekly granularity for a usable trend.
  2. Heavy promo cadence. A weekly “flash sale” creates a regular spike-and-trough rhythm.
  3. Channel mix shifting. A POS event day or a marketplace dump-day creates one-day spikes.
How do I tell if a dip is a real problem? Three-step test:
  1. Is it more than 1 standard deviation below the 30D rolling average? If not, it’s normal noise.
  2. Does it persist for 3+ consecutive days? Single-day dips are often calendar-driven (holiday, weather event); persistent dips are real.
  3. Does the order count drop too, or just revenue? Revenue-only drops point to AOV (mix shift, discounting); count drops point to demand or top-of-funnel issues.
Why is my Q4 chart so much higher than Q1? Seasonal categories: gifting, fashion, electronics, beauty all peak in November-December. Compare like-for-like (Q1-25 vs Q1-26 etc) for trend; calendar Q1 vs Q4 comparisons are misleading. Does this card include Shopify Subscriptions billings? Yes. Each subscription billing creates a new order on the original purchase date, so the chart smoothly absorbs subscription revenue across the window. Subscription-heavy brands have noticeably less day-to-day variance because the recurring billing forms a steady floor. My multi-currency store, why are the numbers nonsensical? We don’t FX-convert. Each order’s totalPrice is summed at the raw amount in its presentment currency. A USD $100 order and a GBP £100 order both contribute “100” to the daily total. This is wrong. Filter the card to a single currency for a usable view; multi-currency aggregation is on the roadmap. How does this card handle negative revenue (heavy refund days)? The card shows gross revenue, so refunds don’t pull it negative. To see net, overlay Refunds Over Time. On a single day with refunds > new orders, gross is positive but net is negative. Action playbook when the trend turns down:
  1. Confirm it’s a real dip (3+ consecutive days, beyond 1σ).
  2. Decompose: orders down or AOV down? Pair with Orders Over Time and Average Order Value.
  3. Check upstream traffic and ad spend. A drop in Google Analytics traffic or Google Ads spend usually leads revenue dips by 1 to 7 days.
  4. Check channel mix. Revenue by Channel reveals whether one channel is responsible.
  5. Check refund rate. A spike in Refund Rate points to a quality / fit / shipping issue suppressing repeat demand.
  6. Check inventory. Products with Zero/Negative Stock on top-revenue SKUs causes orders to evaporate; rate falls a few days later.

Tracked live in Vortex IQ Nerve Centre

Revenue Over Time is one of hundreds of KPI pulses Vortex IQ tracks across Shopify 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.