At a glance
Revenue by hour-of-day (00 to 23), aggregated across the 30D window. The £-weighted version of Peak Order Hours; reveals when the business actually earns money.
| What it counts | SUM(totalPrice) GROUP BY hour(createdAt) over the 30D window. Each hour-bucket is total customer-paid revenue placed in that hour across the period. |
| VAT / tax treatment | Inherits store’s taxesIncluded mode. |
| Shipping | Included. |
| Discounts | Deducted (post-discount). |
| Refunds | NOT deducted. |
| Cancelled / voided orders | Included if Shopify indexed them. |
| Currency | Multi-currency arithmetic without FX. |
| Channels / sources | All channels. POS sales create daytime humps in store-opening hours; B2B sales typically cluster in office hours. |
| Time window | 30D (default) |
| Alert trigger | None; descriptive distribution. |
| Roles | owner, marketing |
Calculation
Calculated automatically from your Shopify 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 UK home-décor DTC brand on Shopify, GMT customers primarily UK + EU. 30D window 12 Apr 26 to 12 May 26.| Hour-band (UK time) | Revenue | Share | Note |
|---|---|---|---|
| 06:00-09:00 | £14,200 | 4.1% | Pre-work browse-to-buy |
| 09:00-12:00 | £28,600 | 8.3% | Morning office |
| 12:00-14:00 | £42,800 | 12.5% | Lunch peak |
| 14:00-17:00 | £37,400 | 10.9% | Afternoon coast |
| 17:00-20:00 | £58,200 | 16.9% | After-work peak |
| 20:00-23:00 | £94,300 | 27.4% | Evening peak, primary buying window |
| 23:00-00:00 | £29,800 | 8.7% | Late-evening spillover |
| 00:00-06:00 | £37,800 | 11.0% | Overnight (some EU + insomniac UK) |
| Total | £343,100 | 100% |
- Evening dominates revenue more than orders. The 20:00-23:00 slot is 27% of revenue but only ~22% of order count. Why? AOV is higher in the evening; customers spend more per order when relaxed at home with a cup of tea.
- Lunch peak is real but moderate. 12:00-14:00 is 12.5% of revenue. Sufficient to justify ad-pacing but not the primary target.
- The £/order signal varies. Compute revenue-per-order per hour: evening is ~£68 average, lunch is ~£52. The brand sells fundamentally different baskets to evening customers (premium homewares) vs lunchtime customers (impulse small-ticket).
- Email send-time decision. Send at 17:00-18:00 to capture the after-work peak, NOT 20:00 (peak buy time, when emails get lost in evening inbox-flood). Test 18:30 vs 16:00 for incremental optimisation.
- Site-reliability is paramount during 20:00-23:00. A 30-min outage during this window costs ~~30% of an evening’s revenue (~~£15-25k for this brand). Off-peak outages cost an order of magnitude less.
- Customer-service staffing should mirror. Expect order-related queries to peak the next morning (10:00-12:00); staff customer-service accordingly. Most brands under-staff Mon morning despite Sun evening being the heaviest buy window.
Sibling cards merchants should reference together
Revenue by Hour is the £-side; pair with the count and pattern siblings:| Card | Why pair it with Revenue by Hour |
|---|---|
| Peak Order Hours | Order-count companion. Compare to find AOV-per-hour. |
| Revenue by Day of Week | Day-level cousin; combine for specific-cell decisions (e.g. Friday 8pm). |
| Weekend vs Weekday | Aggregated DoW summary. |
| Total Revenue | Aggregate; hour buckets sum to it. |
| Average Order Value | The implicit AOV-per-hour ratio when paired with Peak Hours. |
| Top Discount Codes | Promo-driven hourly spikes correlate with email-send times. |
Reconciling against the vendor’s own dashboard
Where to look in Shopify Admin:Shopify Admin → Analytics → Reports → “Total sales over time” with hourly granularity (Shopify Plus only)The most direct equivalent. Pick the same window. Hour-bucket totals should match this card to within sync-lag tolerance, allowing for time-zone offset. Other Shopify Admin views:
- Live View: real-time today’s-revenue ticker; useful for verifying current-day peaks.
- Apps like Glew, Polar Analytics: hourly revenue breakdowns standard.
| Reason | Direction | Why |
|---|---|---|
| Time zone | Hour-bucket shift | UTC vs store time zone. Convert manually for comparison. |
| Refund treatment | Either | Shopify Net Sales adjust for refunds; we show gross. |
| Multi-currency | Aggregate distortion | We don’t FX-normalise; per-currency hourly slices are clean, blended is not. |
| Channel filter | Either | Reports filtered to “Online Store” only differ from blended. |
| Sync lag | Ours lower for “today” | Most-recent 5-15 min may not be in. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
google_analytics.ga_revenue_by_hour | Should track shape | GA4 misses 10-25% of orders due to ad blockers; hourly shape close, levels lower. |
klaviyo.kl_revenue_by_send_time | Lagged correlation | Email-attributed revenue lags send-time by 1-3 hours; pair to optimise send-time. |
Known limitations / merchant FAQs
Why is the chart in UTC? Vortex IQ uses UTC for consistency. Convert by subtracting your customer’s primary time zone offset. UK summer = UTC+1; US Pacific = UTC-7/-8. My peak revenue hour and peak order hour differ. Why? AOV varies by hour. Evening shoppers tend to buy higher-AOV baskets than midday or morning shoppers. The order-peak captures volume; the revenue-peak captures monetary value. Both matter. Should I run flash sales at peak revenue hour or peak order hour? Generally peak revenue hour is the right target if your goal is total $. But if you’re testing a discount code’s adoption rate, peak order hour gives more redemption volume to evaluate. Why is overnight revenue meaningful in some windows? Three usual reasons:- Customers in different time zones. UK store getting 11% overnight is mostly EU + insomniac domestic.
- Subscription billings. Recurring orders trigger automatically at billing-day midnight; appears as overnight revenue.
- B2B / wholesale with international buyers placing orders during their workday.
- Pre-launch midnight rush: sales often hit hardest at 00:00 launch.
- Mid-morning second wave: when customers wake to news of the sale.
- Late-night final push: customers grabbing deals before sale ends.
- Identify peak revenue hour: that’s when ad-spend ROI is highest.
- Identify low revenue hour: experiment with off-peak budget shifts.
- Email send-time: 1-3 hours before peak revenue hour.
- Site-reliability monitoring: monitor most intensively in peak windows.
- Customer-service staffing: lag-staff for the morning following peak hours.
- Ops / fulfilment: pick-and-pack workflow can be timed to absorb the previous evening’s order volume by next-morning shipping cut-off.