Skip to main content
Card class: HeroCategory: Ecommerce Platform
Revenue / orders. AOV slipping while orders climb usually = overly aggressive coupon stack.

At a glance

Average value of an order placed on the Salesforce Commerce Cloud realm in the period. Computed as SUM(order_total) ÷ COUNT(orders). The most volatile of the executive trio (revenue, orders, AOV) on multi-site realms because it is sensitive to mix shifts that revenue and order count absorb.
What it countsAVG(order_total) across every order returned by SCAPI / OCAPI in the window. Each order contributes equally weighted by order_total, regardless of basket size.
VAT / tax treatmentTax-inclusive by definition. SFCC order_total already includes tax_total. UK / EU sites typically run tax-inclusive line item pricing; US sites typically run tax-on-top, both end up reflected in order_total. The card sums blindly, it does not normalise across the two modes.
ShippingIncluded. adjusted_shipping_total (post-shipping-discount) is part of order_total.
DiscountsAlready deducted. order_total is the post-promotion, customer-paid figure.
RefundsNOT deducted. SFCC tracks refunds via separate Return / Credit objects on the Orders API. The original order_total does not change after a refund. A fully refunded 200orderstillcontributes200 order still contributes 200 to AOV. For a net view, divide Net Revenue by Total Orders.
Cancelled / voided ordersIncluded by default. CANCELLED, FAILED, REPLACED, and REPLACEMENT rows count. Filter to confirmation_status = CONFIRMED and status IN [OPEN, COMPLETED] for a realised-cash AOV.
CurrencyMulti-currency arithmetic mean WITHOUT FX conversion. A realm running USD, GBP, EUR, and JPY sites gets a meaningless single AOV at the realm level. Use the per-site filter for the operational view.
Channels / sourcesMulti-site by design. Every siteId contributes (DTC US, DTC UK, B2B portal, headless SCAPI sub-brand). B2B AOV at 4,000to4,000 to 8,000 dominates any realm-wide arithmetic mean once any B2B volume is present, per-site is the right read.
Time window30D vsP (default 30 days vs prior 30 days)
Alert triggerdrop >10% WoW, driven by sentiment_key: aov_trend
Rolesowner, marketing, finance

Calculation

Calculated automatically from your Salesforce Commerce Cloud 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 Fortune-500 fashion retailer running on Salesforce Commerce Cloud. Window covers 14 Mar 26 to 12 Apr 26. Per-site AOV (the operational read):
siteIdSiteOrdersRevenueAOVvs prior 30D
RefArch-USUS DTC, USD184,200$23,577,600$128$131 (down 2.3%)
RefArch-UKUK DTC, GBP62,400£6,739,200£108£105 (up 2.9%)
RefArch-DEDE DTC, EUR41,800EUR4,932,400EUR118EUR126 (down 6.3%)
RefArch-JPJP DTC, JPY28,600JPY480,480,000JPY16,800JPY16,400 (up 2.4%)
RefArch-B2BB2B trade portal, USD1,420$6,887,000$4,850$4,720 (up 2.8%)
Headless-SubbrandSub-brand on SCAPI, USD12,800$1,203,200$94$89 (up 5.6%)
Realm-wide arithmetic mean (the meaningless view):
SUM(order_total) without FX = $31,667,800 + £6,739,200 + EUR4,932,400 + JPY480,480,000
COUNT(orders)                = 331,220
Realm AOV (mixed currency)   = unstable mixed-unit number
What’s interesting:
  1. The DE site is down 6.3% in AOV but only 2.5% in orders. The basket is shrinking faster than the volume. This is a discount-led move (a regional VAT-included Spring promo ran for the second half of the window), not an audience-led move. Pair with Top Products and the site’s promotion settings. Below the drop >10% WoW alert threshold, but worth a manual look.
  2. **B2B AOV at 4,850dominatesanyrealmlevelmean.With1,420B2Bordersand184,200USDTCorders,B2Bis0.84,850 dominates any realm-level mean.** With 1,420 B2B orders and 184,200 US DTC orders, B2B is 0.8% of count but pulls the realm-mean AOV upward by roughly 40 on its own. Always read AOV per-site on SFCC realms.
  3. The headless sub-brand on SCAPI runs a 5.6% AOV lift over its prior period. Modern PWA checkouts expose recommendation widgets and bundle prompts more aggressively than ISML, lifting basket size. The headless storefront and the legacy ISML site should be treated as separate operational reads even when they ship from the same warehouse.
  4. The realm-wide arithmetic mean swings 4 to 6% week-on-week purely from currency mix. A stronger JPY week pulls the headline up; a stronger GBP week pulls it down. The number reflects FX volatility, not merchant performance. Pin per-site panels and ignore the realm-level AOV tile for any operational decision.

Sibling cards merchants should reference together

AOV is rarely useful on its own, especially on multi-site SFCC realms. Pair it with these:
CardWhy pair it with AOV
Total RevenueAOV × Orders = Revenue. AOV without revenue context misreads basket-shift moves.
Total OrdersThe denominator. Rising AOV with falling orders means you’re selling more to fewer people, often the signal of a successful targeted campaign that pulled higher-LTV buyers.
Conversion RateTrades off with AOV. Free-shipping thresholds raise AOV but slightly hurt conversion; the right balance is whichever moves total revenue.
Top ProductsTells you which SKUs moved AOV up or down. Mix-shift drives most AOV changes.
Repeat Customer RateRepeat buyers spend more per order than first-timers. Rising AOV often correlates with rising repeat rate.
Refund RateThis card is gross of refunds. A refund-heavy returns season can mean gross AOV holds while net AOV slips.
adobe_commerce.aovClosest enterprise-tier peer. Documentation cross-link only.
shopify.aovSame metric on Shopify. Useful for SFCC merchants running a Shopify Plus pop-up alongside the realm.

Reconciling against the vendor’s own dashboard

Where to look in Business Manager: SFCC’s admin tool is Business Manager at https://<realm>.business.demandware.net. The closest report is Merchant Tools, Site, Reports & Dashboards, Sales for any single site. Set the same date range and look at the Average Order Value column. That figure should match this card’s per-site read to within timezone and status-filter differences. For multi-site comparisons, use the cross-site Reports & Dashboards rollup (in BM) which reports in the realm’s configured base currency. Other Business Manager views that look like the same number but aren’t:
  • Reports & Dashboards, Sales (per-site): matches this card for that site only.
  • Order Search, sum of order_total ÷ count: closest manual computation, useful for spot checks.
  • Pricing & Promotion reports: AOV attributed to specific promotions, narrower than this card.
Why our number may legitimately differ from Business Manager:
ReasonDirectionWhy
Multi-currency rollup. BM cross-site rollup uses the realm’s base currency (FX-converted at the day’s rate). Vortex IQ sums order_total in display currency without FX.Materially different on international realmsRealm-wide AOV is meaningless without FX; pin per-site panels for the operational view.
Site filter scope. BM defaults to the currently-selected site; Vortex IQ aggregates every siteId unless filtered.Vortex IQ’s realm AOV is a mixed-currency artefactUse per-site filter to compare apples-to-apples.
Refund netting. Some BM reports show “net AOV” subtracting refunds; this card is gross.BM lower (some views)Use Net Revenue ÷ Total Orders for the netted view.
Status filter. BM defaults to confirmed orders only; Vortex IQ includes every status unless filtered.Vortex IQ slightly lower (the unconfirmed orders’ lower average pulls the mean down)Filter to confirmation_status = CONFIRMED.
Time-zone. BM uses the site’s configured time zone; Vortex IQ runs on UTC by default.Boundary days offAverages out for 30D windows; visible on “today”.
Replacement double-count. By default both REPLACED and REPLACEMENT rows count, with the replacement typically smaller; this pulls AOV down slightly.Vortex IQ slightly lower when replacements are heavyFilter status != REPLACED to deduplicate.
Internal identity (within SFCC): sfcc.aov = sfcc.total_revenue ÷ sfcc.total_orders These three cards are mathematical siblings; if they don’t match it’s a sampling or rounding artefact, not a real disagreement. Cross-connector reconciliation (when the merchant has connected analytics):
CardExpected relationshipWhat causes legitimate divergence
google_analytics.ga_aovGA4 AOV ≈ SFCC AOV, within ±5% on a single-site comparisonGA4 misses 10 to 25% of orders due to ad blockers and consent rejection; the missing population is not random (mobile-heavy, EU-heavy, lower-AOV typically), so GA4 AOV may run slightly higher than SFCC AOV by skewing toward higher-AOV desktop conversions. Treat SFCC as the source of truth for AOV.

Known limitations / merchant FAQs

Why is my realm-wide AOV figure jumping around when nothing changed in the business? On multi-site realms, AOV is the most volatile of the executive trio (revenue, orders, AOV) because it is sensitive to mix shifts that revenue and order count absorb. A single big B2B order at 10,000alongside200DTCordersat10,000 alongside 200 DTC orders at 80 pulls the realm AOV up by 50% on its own. Read AOV per-site as the operational view, and treat the realm AOV as a navigation anchor only. My DTC AOV slipped 8% but revenue is flat. Where did it go? Three usual culprits in order of likelihood. (1) Discount lift. A site-wide promotion or aggressive coupon stack mechanically lowers AOV by the discount percentage. Check merchandise_total - shipping_discount - product_promotional_adjustment against order_total. (2) Mix shift toward smaller baskets. Top-sellers moved from premium SKUs to entry-level SKUs (a viral 25accessoryreplacinga25 accessory replacing a 120 hero piece). Check Top Products. (3) New-customer surge. A successful acquisition campaign brought in first-time buyers who typically spend less than returners. B2B drives my realm AOV. Is that the wrong way to read this card? Yes, on multi-site realms the right read is per-site. B2B AOV at 4,000to4,000 to 8,000 dominates the arithmetic mean once you have any B2B volume; DTC sees its real signal masked. Use the per-site filter for DTC AOV (typically 80to80 to 200), keep B2B as its own panel, and pin both side-by-side. Why does Business Manager show a slightly different AOV? Three reasons. (1) Refund netting. Some BM reports show “net AOV” subtracting refunds; this card shows gross. (2) Site filter. BM defaults to a single site; this card aggregates all sites. (3) Status filter. BM defaults to confirmed orders only; this card includes all unless filtered. Does AOV include B2B contract pricing or only catalogue prices? B2B order_total reflects whatever was negotiated and stamped on the order line, including account-priced contracts, volume tiers, and customer-group discounts. SFCC stores the final order_total after every adjustment; the card sums it as-is. If you want to see contract-vs-catalogue uplift, that is a separate analysis using pricebook and customer_group_promotions. How do I lift AOV on an SFCC site? Five practical levers, in typical-lift order. (1) Free-shipping threshold set 15 to 25% above current AOV. ISML pages and SCAPI both honour shipping_promotion rules. (2) Cross-sell zones in PDP and cart, populated by recommendation calls or Einstein Recommendations. (3) Bundle pricing via Variation Master groups or Einstein Bundles. (4) B2B tiered pricing if you run a trade portal, lift the second-tier ladder. (5) Subscription-and-save cartridges like Subscribe Pro or Ordergroove which raise effective AOV by locking customers into recurring orders. Test for 4 to 6 weeks; measure AOV and conversion rate together. What about subscription orders, do they each count for AOV? Yes. Each recurring SFCC order created by a subscription cartridge is a separate row with its own order_total. A customer paying 40/monthfor12monthsshowsupas12ordersaveraging40/month for 12 months shows up as 12 orders averaging 40 in AOV, not one $480 order. If you want a customer-lifetime view, use a CLV / LTV card (on the roadmap). My headless storefront on SCAPI shows higher AOV than my legacy ISML site. Why? Two usual reasons. (1) Audience differs. Headless storefronts are typically rolled out for a sub-brand or a flagship segment; the visitor mix skews to higher intent or higher LTV customers. (2) Checkout flow differs. Modern PWA checkouts often expose recommendation widgets and bundle prompts more aggressively than ISML, lifting basket size. Treat the two sites as separate operational reads.

Tracked live in Vortex IQ Nerve Centre

Average Order Value is one of hundreds of KPI pulses Vortex IQ tracks across Salesforce Commerce Cloud 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.