AOV (ex-VAT) for the selected period.
At a glance
The average value of an order placed in the period, with VAT (or sales tax) stripped out. This is the ex-tax basket size finance teams use, because the tax inside an order is a liability owed to the tax authority, not income the store keeps. It is the per-order counterpart of the Total Revenue (ex-VAT) card.
| What it counts | Ex-tax order value averaged across every order in the window. In practice the card sums each order’s totalPrice, subtracts the order’s totalTax, then divides by the order count. |
| VAT / tax treatment | This is the whole point of the card. Whatever VAT or sales tax Shopify recorded is removed before averaging. For a UK store with taxesIncluded = true, the VAT is backed out of the inclusive total. For a US store with taxesIncluded = false, the separately-held sales tax is simply omitted. Either way the result is the ex-tax average basket. |
| Shipping | Included (the ex-tax portion of it). Shipping sits inside totalPrice; any VAT on shipping is removed with the rest. |
| Discounts | Already deducted. The card averages post-discount, ex-tax order values. |
| Refunds | NOT deducted. A refunded order contributes its full ex-VAT value to the average. For a net view, divide net revenue by total orders. |
| Cancelled / voided orders | Included if Shopify indexed them, the same behaviour as the gross AOV card. |
| Currency | Multi-currency arithmetic mean WITHOUT FX conversion. A store taking GBP and EUR orders gets a single blended figure; filter by currency for multi-currency stores. |
| Channels / sources | Not filtered. Online Store, POS, Buy Button, social channels, B2B and marketplace-app orders all contribute, each at its own typical basket size. |
| Time window | 30D (default 30D rolling) |
| Alert trigger | Configurable. Typically mirrors the gross AOV card, a sustained drop vs the prior period. |
| Roles | owner, marketing, finance |
Calculation
Worked example
A UK fashion store on Shopify withtaxesIncluded = true (customer-facing prices include 20% VAT). Reading taken on 14 Mar 26 over a 5-order sample to keep the arithmetic clear.
| Order | Inclusive total (paid) | VAT inside it | Ex-VAT value |
|---|---|---|---|
| #1001 | £45.00 | £7.50 | £37.50 |
| #1002 | £120.00 | £20.00 | £100.00 |
| #1003 | £35.00 | £5.83 | £29.17 |
| #1004 | £210.00 | £35.00 | £175.00 |
| #1005 | £80.00 | £13.33 | £66.67 |
- The ex-VAT AOV is the gross AOV divided by 1.20 here (£98 / 1.20 = £81.67) because this sample is entirely standard-rated. On a real mixed catalogue with zero-rated lines the relationship is not a clean divide; the card uses the actual VAT recorded per order, so a basket of children’s clothing removes less.
- This is the basket size finance recognises as revenue. When you model contribution margin or compare basket size against other businesses, use the ex-VAT figure, because margin and revenue multiples are quoted net of tax.
- It moves for the same reasons as gross AOV. Discounting, product-mix shift, and new-customer surges all push it the same way. The only structural difference between this card and the gross AOV card is the tax layer, so if the two diverge in trend, your effective tax mix changed (more or fewer zero-rated lines in the basket).
Sibling cards merchants should reference together
| Card | Why pair it with AOV (ex-VAT) |
|---|---|
| Average Order Value | The VAT-inclusive AOV. The gap between the two is the VAT per average order. |
| Total Revenue (ex-VAT) | The aggregate version of this same ex-tax basis. AOV (ex-VAT) times order count approximates it. |
| Total Orders | The denominator. Rising AOV with falling orders means fewer, larger baskets. |
| Total Tax Collected | The tax layer this card removes; explains divergence between gross and ex-VAT AOV. |
| Discount % of Revenue | Heavy discounting suppresses both AOV figures mechanically. |
| Top Products by Revenue | Mix shift drives most AOV changes; tells you which SKUs moved the basket. |
Reconciling against Shopify Admin
Where to look in Shopify Admin: Shopify’s Average order value over time report shows AOV, but whether it is inclusive or exclusive of tax depends on your store’s tax-display settings. The cleaner reconciliation is to take the sales finance report, read Total sales minus Taxes, and divide by the order count for the same window. That hand-calculation should land close to this card. Other Shopify Admin views and why they differ:- Analytics → Dashboards → Overview AOV tile: a headline AOV, usually inclusive for inclusive-tax stores; reads higher than this card.
- Average order value over time: matches only if your report tax basis matches ex-tax.
- Finance → Summary: gives gross sales, taxes, and order count to reconstruct ex-VAT AOV by hand.
| Reason | Direction | Why |
|---|---|---|
| Tax basis | Either | If Shopify’s AOV report is set to inclusive, it reads higher than this card by the VAT amount. |
| Refunds | Ours higher | Some Shopify views net out refunds; this card is gross of refunds. |
| Cancelled orders | Ours higher | VOIDED rows in the index are counted here; Shopify’s AOV report typically excludes cancelled orders. |
| Time zone | Boundary days | UTC vs store time zone shifts orders on the boundary days. |
| Multi-currency | Ours blended | This card averages order currency without FX; Shopify converts to shop currency. |
shopify.aov_ex_vat = shopify.total_revenue_ex_vat / shopify.order_count
These cards are mathematical siblings; a mismatch is a rounding or sampling artefact, not a real disagreement.