> ## 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.

# Total Discount Used, Adobe Commerce

> Total Discount Used for Adobe Commerce 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

> Total promotional discount value applied to orders in the period. Magento stores discounts as a **negative** number in `discount_amount`; the card returns the absolute value (positive). Aggregates everything that landed in the cart-rule discount bucket: SalesRules promotions, B2B Customer Group tier prices when discount-coded, "spend $X get $Y" rules, free-shipping rules, and BOGO rules. Special prices applied via catalogue (not cart rules) are NOT in this bucket; those are reflected in `subtotal` directly.

|                         |                                                                                                                                                                                                                                                                                                                                                                               |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**      | `SUM(ABS(discount_amount))` over orders created in the 30-day window. The Magento field is stored negative (e.g. -£15 for a £15 discount); the card converts to positive for display.                                                                                                                                                                                         |
| **API field**           | `discount_amount` (negative), `discount_description`, `coupon_code`, `base_discount_amount` from `GET /rest/V1/orders`.                                                                                                                                                                                                                                                       |
| **What's in scope**     | (a) Cart price rules from **Marketing > Promotions > Cart Price Rules** (the canonical Magento promo engine), (b) free-shipping rules that include a non-zero `discount_amount` portion, (c) Customer Group tier-discounts applied via SalesRules (rare but possible).                                                                                                        |
| **What's NOT in scope** | (a) Catalogue special prices (the SKU's permanent sale price; reflected in `subtotal` directly, no `discount_amount` attribution), (b) B2B negotiated tier pricing applied via `customer_group_price` (changes the line price, no rule-based discount field), (c) refunds (those are Credit Memos, separate document). The card is creation-time discount, not net-of-refund. |
| **VAT / tax treatment** | The discount is **excl-tax** by default in Magento (the rule applies to subtotal pre-tax, then tax is recalculated on the post-discount subtotal). UK/EU merchants who want the customer-perceived discount (incl-tax) need `discount_amount + discount_tax_compensation_amount`. The "incl-tax discount" view is more accurate for marketing P\&L.                           |
| **Shipping inclusion**  | Free-shipping discount goes to `shipping_discount_amount` not `discount_amount`. So the card excludes free-ship value by default. To include free-ship in the "marketing cost" view, add `shipping_discount_amount`. The discount-related cards on this connector default to product-discount only; free-ship is on its own.                                                  |
| **Discounts**           | The card IS the discount view.                                                                                                                                                                                                                                                                                                                                                |
| **Refunds**             | A refunded order's discount is not subtracted. If the refund partially reverses the order, the discount portion is partially reversed too via Credit Memo, but those reversed-discounts appear in `creditmemo.discount_amount`, not here.                                                                                                                                     |
| **Cancelled**           | Cancelled orders' discounts are excluded by default (they don't count as "applied").                                                                                                                                                                                                                                                                                          |
| **Currency**            | Mixed-currency display by default. `base_discount_amount` for FX-neutral.                                                                                                                                                                                                                                                                                                     |
| **Channels**            | All Adobe Commerce sources.                                                                                                                                                                                                                                                                                                                                                   |
| **Multi-store scope**   | All Store Views by default.                                                                                                                                                                                                                                                                                                                                                   |
| **Time window**         | `30D` rolling.                                                                                                                                                                                                                                                                                                                                                                |
| **Alert trigger**       | None on this card directly. The rate-side alert is on [Discount % of Revenue](/nerve-centre/kpi-cards/adobe-commerce/discount-of-revenue).                                                                                                                                                                                                                                    |
| **Roles**               | owner, marketing                                                                                                                                                                                                                                                                                                                                                              |

## Calculation

```
SUM(discount_amount)
  WHERE date BETWEEN [period_start, period_end]
```

## Worked example

A B2B+DTC apparel merchant on Adobe Commerce 2.4.7. UK base, GBP. 4,820 orders. Period: 14 Apr 26 to 13 May 26.

**Discount aggregates:**

| Source                                                                      | `SUM(ABS(discount_amount))`                      | Order count          | Avg discount per discounted order |
| --------------------------------------------------------------------------- | ------------------------------------------------ | -------------------- | --------------------------------- |
| WELCOME10 (10% first-order coupon)                                          | £8,400                                           | 1,120                | £7.50                             |
| SPRING25 (25% sitewide spring sale, ran 1-14 Apr)                           | £21,400                                          | 480                  | £44.58                            |
| LOYALTY-VIP (auto-applied 15%)                                              | £4,200                                           | 380                  | £11.05                            |
| BUNDLE-SAVE (10% on 3+ items rule)                                          | £6,800                                           | 320                  | £21.25                            |
| B2B Tier Discount (Customer Group rule)                                     | £12,200                                          | 80                   | £152.50                           |
| FREE-SHIP (rule with no `discount_amount`, only `shipping_discount_amount`) | (£0 in this card; £14,200 in shipping\_discount) | 970                  | n/a                               |
| **Total `discount_amount`**                                                 | **£53,000**                                      | 2,380 (some overlap) | avg £22                           |

**Insight pattern:**

1. **Total discount £53,000 on revenue £950,000 = 5.6% discount %.** Within healthy norms (typically 3-8% for DTC apparel; 1-3% for B2B-heavy stores).
2. **Spring sale (SPRING25) is the dominant driver at £21,400** (40% of total discount). A 14-day sitewide sale chunked the spring AOV down. Cross-link with [Discount Over Time](/nerve-centre/kpi-cards/adobe-commerce/discounts-given-over-time) to see the daily spike.
3. **Welcome coupon (WELCOME10) absorbed £8,400 across 1,120 first-time buyers.** Customer acquisition cost analysis: £7.50 per first-time buyer in coupon discount, plus the merchant's other CAC. Cross-link with [New Customers](/nerve-centre/kpi-cards/adobe-commerce/new-customers) to see if the welcome flow is attracting profitable cohorts.
4. **B2B Tier Discount £12,200** at avg £152.50/order across 80 B2B orders. This is the contract-tier discount the merchant has agreed with key accounts. Should be relatively flat month-on-month; if it spikes, either a new tier was activated or rule-application logic changed.
5. **Free-shipping is invisible here** by design (sits in `shipping_discount_amount`). To get the full "marketing cost", add £14,200 of free-shipping discounts, total marketing cost £67,200 or 7.07% of revenue.
6. **Cross-link with [Total Discount](/nerve-centre/kpi-cards/adobe-commerce/total-discount-used) prior period:** £36,400. Recent +46% jump is dominated by the spring sale, which the merchant chose. After 14 Apr the daily discount value should drop to baseline; if it doesn't, a rule got stuck enabled.
7. **Action:** ensure SPRING25 rule is auto-deactivated by date end (Magento sometimes leaves rules "From-Date set, To-Date null" causing rules to run forever). Verify in **Marketing > Promotions > Cart Price Rules > \[SPRING25] > To Date**.

## Sibling cards merchants should reference together

| Card                                                                                   | Why pair it with Total Discount Used                                  |
| -------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| [Discount % of Revenue](/nerve-centre/kpi-cards/adobe-commerce/discount-of-revenue)    | Rate-side companion.                                                  |
| [Discount Over Time](/nerve-centre/kpi-cards/adobe-commerce/discounts-given-over-time) | Day-by-day shape; spots stuck-enabled rules.                          |
| [Total Revenue](/nerve-centre/kpi-cards/adobe-commerce/total-revenue)                  | Denominator-of-context.                                               |
| [Total Shipping](/nerve-centre/kpi-cards/adobe-commerce/total-shipping-revenue)        | Free-shipping discount sits in `shipping_discount_amount`, separate.  |
| [Free vs Paid Shipping](/nerve-centre/kpi-cards/adobe-commerce/free-vs-paid-shipping)  | The free-ship volume (which equates to absorbed shipping discount).   |
| [New Customers](/nerve-centre/kpi-cards/adobe-commerce/new-customers)                  | Welcome-coupon driven new buyers.                                     |
| [Refund Value](/nerve-centre/kpi-cards/adobe-commerce/refund-value)                    | Discounts on refunded orders are partially reversed via Credit Memos. |
| [`klaviyo.coupon_redemption_count`](/nerve-centre/klaviyo/coupon_redemption_count)     | Email-issued coupon redemption rate.                                  |
| [`shopify.total_discount`](/nerve-centre/kpi-cards/shopify/total-discount-used)        | Shopify peer.                                                         |

## Reconciling against the vendor's own dashboard

**Where to look in Adobe Commerce Admin:**

> **Reports > Sales > Coupons** breaks down discount value by coupon code. Set the date range and Show By "Coupon Code" to see the per-rule contribution. The total at the bottom should approximately match this card.

For per-rule promotion data:

> **Marketing > Promotions > Cart Price Rules** lists every active rule. Click into a rule to see its from-date / to-date and conditions. A rule with discount value showing in this card but no end date is the most common reason for "discount keeps flowing after the sale ended".

Reports > Sales > Coupons does not include automatic (no-coupon) rules; the **Sales > Orders** grid does. For complete per-rule reconciliation, query `sales_order` with the `applied_rule_ids` field.

**Why our number may legitimately differ from Adobe Commerce Admin:**

| Reason                                                                                                                                                                                                                     | Direction of divergence                   |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
| **Reports > Sales > Coupons excludes auto-applied rules**. Rules without coupon codes (e.g. an auto "10% off if subtotal > £100") don't appear there. They DO appear in this card.                                         | Card higher than Admin Coupons report     |
| **Free-shipping discount**. Free-ship rules typically populate `shipping_discount_amount`, not `discount_amount`. Card excludes by default; Admin's Coupons report may or may not include depending on rule configuration. | Possible material gap if mismatched       |
| **Currency**. Admin defaults to base currency; this card defaults to display-currency.                                                                                                                                     | Material for multi-currency stores        |
| **Reports indexer lag**. Admin Coupons report uses nightly aggregation. This card refreshes every 5-15 min.                                                                                                                | Vortex IQ ahead by \~12-24h               |
| **Cancelled inclusion**. Card excludes cancelled orders' discounts; Admin may include depending on filter.                                                                                                                 | Card lower than Admin "Status=Any" filter |
| **Time-zone, sync lag**. Standard.                                                                                                                                                                                         | Minor                                     |

**Cross-connector reconciliation (when these connectors are connected for this merchant):**

| Card                                                                                           | Expected relationship                                                                                         | What divergence tells you                                                                                                                                                                            |
| ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`klaviyo.coupon_redemption_count`](/nerve-centre/klaviyo/coupon_redemption_count)             | Klaviyo's redemption count for email-issued coupons should match this card's per-coupon count for those rules | If Klaviyo issues 200 codes and only 50 redeem, that's normal email open-rate dynamics; if Klaviyo issued 50 and 200 redeem here, customers are sharing codes (multi-use rule when it shouldn't be). |
| [`google_analytics.ga_promo_attribution`](/nerve-centre/google_analytics/ga_promo_attribution) | GA4 attributes orders to promo via UTM and coupon-code                                                        | GA4 misses \~10-25% due to tracking gaps; expect Adobe higher.                                                                                                                                       |

***

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

  * [`shopify.total_discount`](/nerve-centre/kpi-cards/shopify/total-discount-used)
  * [`bigcommerce.total_discount`](/nerve-centre/kpi-cards/bigcommerce/total-discount-used)
</details>

## Known limitations / merchant FAQs

**Why does Magento store discounts as negative?**
Convention. The `discount_amount` field on the order is a signed delta against `subtotal`; a discount reduces subtotal so it's negative. The card converts to absolute value for display because "Total Discount Used = £53,000" reads more naturally than "−£53,000".

**Why is catalogue special-price not in this card?**
Because Magento doesn't track it as a discount event. A product with `price=£100` and `special_price=£75` ships at £75 line total; there's no `discount_amount` field populated. The `subtotal` is just lower. Catalogue special pricing is permanent (until removed), so it isn't really a "discount campaign" in the marketing sense.

**Free shipping is missing here, where is it?**
In `shipping_discount_amount`. The free-shipping rule populates that field separately. The card excludes it by default to keep "discount on goods" and "discount on shipping" distinct, both are merchant cost but they are different levers.

**A rule keeps applying after the sale ended, why?**
A Cart Price Rule with **From Date** set but **To Date** blank runs forever. The most common cause of "stuck" discounts. Always set both dates. **Marketing > Promotions > Cart Price Rules > \[rule] > To Date** is mandatory for time-bound campaigns.

**My multi-store discount, the same coupon shows different totals per Store View, why?**
Customer Group conditions on the rule. A rule that targets "Wholesale" Customer Group only applies on B2B Store Views; on DTC Store Views the rule fires zero times. Healthy. The card sums across; per-Store-View slice via filter.

**Why doesn't `klaviyo.coupon_redemption_count` match?**
Klaviyo issues codes; Adobe applies them. If Klaviyo issued 1,000 codes and Adobe applied 1,200, customers shared codes (multi-use rule + circulation). If Klaviyo issued 1,000 and Adobe applied 200, redemption is at 20%, normal email open rate × redeem rate.

**Discounts on refunded orders, are they counted?**
Yes; the card is creation-time. The discount was applied at creation. If the order is later refunded, the Credit Memo's `discount_amount` represents the reversal portion; it's tracked separately on [Refund Value](/nerve-centre/kpi-cards/adobe-commerce/refund-value). For "net discount cost", subtract refunded discounts.

**Why is my B2B Tier Discount showing here? I thought tier prices were catalogue.**
Two paths. Catalogue tier prices (set on the SKU) bypass `discount_amount` (they reduce `subtotal` directly). Cart-rule-based tier discounts (set as a Customer Group condition on a SalesRule) DO populate `discount_amount`. The merchant probably has the latter; check **Customers > Customer Groups** for how the tier was configured.

**Today's number isn't moving even though I see orders coming in, why?**
Either today's orders aren't using any active promotions, or the promo's `discount_amount` is being added to `shipping_discount_amount` instead (e.g. it's a free-shipping rule). Cross-check the rules' discount target (subtotal vs shipping) in the rule definition.

**Can I see this by Customer Group?**
Yes. Filter via Customer Group. B2B groups should show low share (most B2B uses negotiated catalogue prices); DTC groups dominate.

***

### Tracked live in Vortex IQ Nerve Centre

*Total Discount Used* is one of hundreds of KPI pulses Vortex IQ tracks across Adobe Commerce 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.
