> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# AOV with/without Discount, BigCommerce

> AOV with/without Discount for BigCommerce stores. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

**Metrics type:** [Supporting Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

## At a glance

> AOV split into two cohorts: orders with at least one applied discount (`coupon_discount > 0` OR `discount_amount > 0`) vs orders with none. The gap between the two reveals the dollar cost of the merchant's promo strategy: discounted AOV minus discounted-away spend tells you whether discounts grow basket size or shrink it. BigCommerce's Promotions API gives merchants more flexible cart-level discount logic than Shopify's basic codes, which makes this card especially useful for diagnosing whether complex BOGO and tier-based promos are pulling AOV up or merely cannibalising full-price.

|                           |                                                                                                                                                                                                                                                                 |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**        | Two AOV figures over the trailing 30 days: (a) `SUM(total_inc_tax) / COUNT(orders) WHERE coupon_discount > 0 OR discount_amount > 0`, and (b) the same but for orders with zero discount. Plus the gap (discounted - non-discounted) and the gap-as-percentage. |
| **API endpoint**          | `GET /stores/{store_hash}/v2/orders` exposing `coupon_discount`, `discount_amount`, `gift_certificate_amount`, `total_inc_tax`. The OpenSearch index materialises a boolean `had_discount` flag plus the discount-amount fields.                                |
| **VAT / tax treatment**   | Tax-inclusive on both sides.                                                                                                                                                                                                                                    |
| **Shipping**              | Included on both.                                                                                                                                                                                                                                               |
| **Discounts**             | The split criterion. Orders with any discount (coupon, automatic promotion, customer-group price-list adjustment, gift certificate) are in the discounted bucket.                                                                                               |
| **Refunds**               | Not deducted.                                                                                                                                                                                                                                                   |
| **Cancelled orders**      | Excluded.                                                                                                                                                                                                                                                       |
| **`Incomplete` orders**   | Excluded.                                                                                                                                                                                                                                                       |
| **Currency**              | Multi-currency aggregated; configure per-currency view under Settings if needed.                                                                                                                                                                                |
| **Channels**              | All channels included. POS sales with discounts (employee discounts, in-store promos) appear in the discounted bucket.                                                                                                                                          |
| **B2B Edition behaviour** | **B2B price-list adjustments count as "discounts" by default**, which makes B2B-heavy stores show a misleading 100% discount rate. Toggle "exclude B2B price-list orders from discount cohort" under Settings → B2B handling for an accurate DTC-only read.     |
| **Gift certificates**     | Treated as discount; counted in the discounted bucket. Some merchants prefer to exclude gift certificates (since they were paid for upstream); configure under Settings → Discount attribution.                                                                 |
| **Free shipping**         | Free-shipping promotions count as discount if they reduced shipping cost; otherwise not.                                                                                                                                                                        |
| **Time window**           | `30D` rolling.                                                                                                                                                                                                                                                  |
| **Alert trigger**         | None (pattern card).                                                                                                                                                                                                                                            |
| **Roles**                 | owner, marketing                                                                                                                                                                                                                                                |

## Calculation

Calculated automatically from your BigCommerce 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 US footwear brand on BigCommerce Pro. Snapshot for 1 Apr to 30 Apr 26.

| Cohort                | Orders    | Total revenue | AOV          | Avg discount per order |
| --------------------- | --------- | ------------- | ------------ | ---------------------- |
| With discount applied | 2,180     | \$282,440     | \$129.56     | \$24.30                |
| Full price            | 1,820     | \$191,100     | \$105.00     | \$0                    |
| **All orders**        | **4,000** | **\$473,540** | **\$118.39** | \$13.27                |
| **Gap**               |           |               | **+\$24.56** |                        |

What's interesting:

1. **Discounted AOV is HIGHER than full-price AOV by \$24.56.** This is the healthy pattern: customers using discount codes are responding to bundle promos ("buy 2 pairs, save 20%") rather than pure single-item discounts. The merchant's promo strategy is working, the discount is buying basket size, not just margin.
2. **Net realised AOV per discounted order**: $129.56 - $24.30 = $105.26. Comparing to full-price $105.00: **the merchant is realising essentially the same dollars per order on discounted as full-price**, but pulling a much larger volume cohort (54.5% vs 45.5%). The discount strategy is volume-positive without margin-negative.
3. **A failure pattern would look like**: discounted AOV $90, full-price $105, gap -\$15. That would mean "discounts are training customers to wait for promos and then buy the same thing they'd have bought anyway". A net-negative gap is a signal to tighten promo eligibility (minimum-spend threshold, customer-group restriction, time-limit).
4. **The same brand on Shopify would surface this differently.** Shopify's reporting tends to show "discount as percentage of revenue" rather than the per-order AOV split, which makes it harder to see the bundle-vs-cannibalisation distinction. **BC's order-level discount fields make this card uniquely informative on BC.**
5. **BOGO and tier-based promos drive most of the lift.** Drilling into the discount type (BC supports cart-level, item-level, and shipping-level promotions independently), 70% of the discounted AOV lift came from cart-level "buy 2 save 20%" promos; 20% from coupon codes; 10% from shipping. **For this merchant, doubling down on cart-level tier promos and cutting back on flat coupon codes is the strategic move.**

Action priority order:

1. **Verify the gap is positive.** Negative gap = your discounts cannibalise full-price; tighten eligibility.
2. **Decompose by discount type.** BC's Promotions API supports filtering by promotion type; the highest-AOV-lift type is the one to scale.
3. **Pair with [BC Top Coupons](/nerve-centre/kpi-cards/bigcommerce/top-coupons)** to identify which specific codes drive the lift.
4. **For B2B Edition stores, exclude B2B price-list orders** before reading the gap; they distort the numbers.
5. **Track the gap monthly.** A shrinking gap over time is a leading indicator of margin compression and customer training-to-discount.

## Sibling cards merchants should reference together

| Card                                                                                         | Why pair it with AOV with/without Discount                                                           |
| -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| [Average Order Value](/nerve-centre/kpi-cards/bigcommerce/average-order-value)               | The headline rollup; this card is the discount split.                                                |
| [BC Top Coupons](/nerve-centre/kpi-cards/bigcommerce/top-coupons)                            | Per-coupon decomposition; identifies which codes drive the lift.                                     |
| [BC AOV by Channel](/nerve-centre/kpi-cards/bigcommerce/aov-by-channel)                      | Per-channel decomposition; promos affect channels differently (web responsive, B2B not).             |
| [BC Channel Conversion Rate](/nerve-centre/kpi-cards/bigcommerce/conversion-rate-by-channel) | Discounts lift conversion; pair to see whether AOV gain is real or volume-cannibalisation.           |
| [BC Guest vs Registered](/nerve-centre/kpi-cards/bigcommerce/guest-vs-registered-orders)     | Guest cohort uses promos more aggressively; pair to read the cohort-specific impact.                 |
| [Total Revenue](/nerve-centre/kpi-cards/bigcommerce/total-revenue)                           | Net revenue context; a positive AOV gap with falling revenue means the discount is shrinking volume. |
| [BC Channel Revenue Trend](/nerve-centre/kpi-cards/bigcommerce/channel-revenue-trend)        | Surfaces whether promo periods produced sustained lift or one-off pulses.                            |
| [BC Margin by Brand](/nerve-centre/kpi-cards/bigcommerce/margin-by-brand)                    | The margin counter-balance; AOV growth via discount can mean margin contraction.                     |

## Reconciling against the vendor's own dashboard

**Where to look in BigCommerce Control Panel:**

[Marketing → Promotions](https://login.bigcommerce.com/deep-links/manage/marketing/promotions) shows the list of active promotions; [Marketing → Coupon Codes](https://login.bigcommerce.com/deep-links/manage/marketing/coupon-codes) shows individual codes. Neither natively computes AOV-with-vs-without; you need to build via [Reports → Custom](https://login.bigcommerce.com/deep-links/manage/reports).

For per-promotion analytics: [Analytics → Marketing](https://login.bigcommerce.com/deep-links/manage/analytics/marketing) (Plus / Pro / Enterprise) shows per-promotion revenue contribution but on a daily cadence rather than the AOV split.

**Why our discount-cohort split may differ from BC's promotion analytics:**

| Reason                                                                                                                                                                                                                      | Direction                                |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
| **Discount type breadth**. We count any of: `coupon_discount`, `discount_amount`, `gift_certificate_amount`, customer-group price-list adjustment. BC's promotion analytics counts only Marketing-Promotions-API discounts. | Vortex IQ HIGHER discounted-cohort count |
| **B2B price-list treatment**. B2B Edition price-list adjustments count as discount in our default; they don't in BC's promotion analytics.                                                                                  | Vortex IQ HIGHER on B2B-active stores    |
| **Gift certificate handling**. We count GC redemption as discount; BC does not.                                                                                                                                             | Vortex IQ HIGHER discounted cohort       |
| **Free-shipping promos**. We count if shipping cost reduced; BC's revenue analytics excludes shipping promos from the "promotion revenue" view.                                                                             | Vortex IQ HIGHER                         |
| **Window alignment**. BC's promotion analytics is calendar-month; we use rolling-30.                                                                                                                                        | Either direction near month boundaries   |

**Cross-connector reconciliation (when ad and email integrations are connected):**

| Card                                                                                         | Expected relationship                                                        | What causes legitimate divergence                                                                                 |
| -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| [`klaviyo.kl_promo_email_orders`](/nerve-centre/klaviyo/kl_promo_email_orders)               | Klaviyo-attributed promo-email orders should appear in our discounted cohort | Klaviyo's attribution is click-window-based; some orders attributed to Klaviyo by email may not have used a code. |
| [`google_ads.ga_promo_conversion`](/nerve-centre/google_ads/ga_promo_conversion)             | Promo-coded ad clicks that converted should appear in discounted cohort      | Some ads carry implicit "promo" framing without a code; those don't appear in our discount-cohort split.          |
| [`stripe.stripe_partial_amount_charges`](/nerve-centre/stripe/stripe_partial_amount_charges) | Discounted orders show partial-amount charges relative to subtotal           | Stripe's partial-amount detection differs by gateway flow; some discount applications happen pre-charge.          |

**The discount-cohort AOV split is BC-aligned with similar cards on Shopify (per `discount_codes` array) and Adobe Commerce (per `cart_rules` applied); merchant-facing semantics are equivalent.**

***

<details>
  <summary><em>Same-metric documentation cross-reference (for agencies running multiple platforms)</em></summary>

  * [`shopify.aov_discount`](/nerve-centre/shopify/aov_discount) (planned)
  * [`adobe_commerce.aov_discount`](/nerve-centre/adobe_commerce/aov_discount) (planned)
</details>

## Known limitations / merchant FAQs

**Why does my discounted AOV read so much higher than full-price? Are discounts actually losing me margin?**
The headline AOV is post-discount, so a higher discounted AOV means customers are buying *more* despite the discount, the bundle / tier promo is working as intended. Compute net realised dollars per discounted order (discounted AOV minus avg discount) and compare to full-price AOV. If they match, you're volume-positive at zero margin cost. If discounted-net is below full-price, your discounts cannibalise.

**My discounted AOV reads \$0 but I have hundreds of orders with promos. What's wrong?**
Probably the BC `coupon_discount` field isn't populated on your orders. Some legacy promos write to `discount_amount` only; check both fields in the BC order JSON. **Configure the discount-detection criterion** in Vortex IQ Settings → Discount fields if your promotions write to non-standard locations.

**My B2B Edition store reads 95% discount cohort. Is everyone getting a discount?**
Yes, by definition. B2B price lists are technically "discounts" relative to the public price; the customer-group adjustment populates `discount_amount`. **Toggle "exclude B2B price-list orders from discount cohort"** under Settings → B2B handling for an accurate DTC-only read of discount efficacy.

**Should I include gift certificates as discounts?**
Depends on your accounting view. Marketing teams usually want gift certificates EXCLUDED (a redeemed GC is "paid revenue from a prior sale", not a current promotion). Finance teams usually want them INCLUDED (the cash inflow on this order is reduced by GC value). Configure under Settings → Discount attribution per organisation policy.

**My promo strategy lifts AOV but my conversion rate barely moves. What does this card miss?**
This card measures only orders that completed; abandoned carts where the discount was attempted but not finalised aren't visible here. A promo that's "AOV-positive but conversion-flat" usually means the discount is restricted (minimum-spend threshold, eligible-customers list) and customers who don't qualify are bouncing. Check [BC Channel Conversion Rate](/nerve-centre/kpi-cards/bigcommerce/conversion-rate-by-channel) trend during your promo windows.

\*\*My discounted AOV dropped $30 last month. Should I be worried?**
Possibly. A $30 drop typically means either (a) you launched a smaller-discount promo (lower discount but smaller AOV impact, neutral), (b) you launched a flat-coupon promo that attracted single-item buyers (negative, the new promo is cannibalising), or (c) seasonal mix shifted toward smaller items. Check what new promos launched in the period and decompose by promotion type.

**Why exclude POS from this card by default?**
We don't, POS is included. POS sales with employee discounts or in-store promos do appear in the discounted bucket. If you want DTC-web-only, configure Settings → Channel filter.

**My headline AOV is between the two cohorts. Is the math right?**
Yes, headline AOV is the weighted average of the two cohorts. If your headline reads $118 and your cohorts are $130 / $105, the weighting (discounted cohort 54.5% / full-price 45.5%) gives 130 × 0.545 + 105 × 0.455 = $118.6. Match.

**Why no alert trigger on this card?**
Because the right "alert" depends on merchant strategy. A discounted-cohort growth from 50% to 70% might be a strategic win (bigger promo strategy) or a strategic loss (training customers to wait), context-dependent. We surface the data; the merchant interprets. **For threshold-based discount monitoring**, configure custom alerts on the gap or cohort percentage under Settings → Custom alerts.

**Can I see the discount split per coupon code?**
Not on this card; use [BC Top Coupons](/nerve-centre/kpi-cards/bigcommerce/top-coupons) which shows per-code AOV decomposition. Pair the two for full visibility.

***

### Tracked live in Vortex IQ Nerve Centre

*AOV with/without Discount* is one of hundreds of KPI pulses Vortex IQ tracks across BigCommerce 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](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
