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

# Discounts Given Over Time, Adobe Commerce

> Discounts Given Over Time 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

> Daily discount value (`SUM(discount_amount)`) over the trailing 90 days. Surfaces promotional-spend cadence, identifies long-tail discount creep (B2B tier prices auto-applying without explicit campaigns), and reveals the lifecycle of specific promotional codes. Adobe Commerce aggregates customer-group-price discounts (B2B tier pricing) and cart-rule discounts (BOGO, percent-off codes) into the same `discount_amount` field; the card distinguishes them via the rule-name dimension where available.

|                                                        |                                                                                                                                                                                                                                                                                                  |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **What it counts**                                     | `SUM(discount_amount) GROUP BY date(created_at)`. Discount amount is per-order total of cart-rule and item-rule discounts applied. The series shows daily totals; rule-level decomposition available as a sub-view.                                                                              |
| **API field**                                          | `discount_amount` (negative-or-zero on each order) and `applied_rule_ids` from `GET /rest/V1/orders`. Rule names from `GET /rest/V1/salesRules`.                                                                                                                                                 |
| **VAT / tax treatment**                                | `discount_amount` is typically pre-tax in Adobe Commerce (depends on Stores > Configuration > Sales > Tax > Apply Discount on Prices configuration). For UK/EU stores configured for tax-inclusive prices, discount can be on the gross figure; the card surfaces the figure as Adobe stores it. |
| **Shipping inclusion**                                 | `discount_amount` typically excludes shipping discounts; shipping discounts go to `shipping_discount_amount`. The card sums `discount_amount` only by default.                                                                                                                                   |
| **Discounts**                                          | This card IS the discount measurement.                                                                                                                                                                                                                                                           |
| **Credit Memo refund treatment**                       | Discounts on cancelled or refunded orders are still counted. The discount was offered; the campaign-effectiveness measurement should still reflect it.                                                                                                                                           |
| **`state` machine inclusion**                          | All states except `canceled` (a discount on a cancelled order didn't actually convert).                                                                                                                                                                                                          |
| **`pending_payment` quirk**                            | Included; B2B net-30 orders typically have applied `customer_group_price` discounts.                                                                                                                                                                                                             |
| **Multi-currency `grand_total` vs `base_grand_total`** | Uses `base_discount_amount` for cross-currency rollup.                                                                                                                                                                                                                                           |
| **Store View scope (`store_id`)**                      | All Store Views; per-Store-View overlays useful for region-specific campaign analysis.                                                                                                                                                                                                           |
| **Time window**                                        | `90D` daily granularity.                                                                                                                                                                                                                                                                         |
| **Alert trigger**                                      | None by default.                                                                                                                                                                                                                                                                                 |
| **Roles**                                              | owner, marketing                                                                                                                                                                                                                                                                                 |

## Calculation

Calculated automatically from your Adobe Commerce 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 homewares brand on Adobe Commerce 2.4.6 with US/UK/B2B Store Views. 90-day window ending Monday 4 May 26.

**90-day discount overview:**

| Metric                             | Value                                    |
| ---------------------------------- | ---------------------------------------- |
| Total `base_discount_amount` (90D) | \$124,800                                |
| Average daily discount             | \$1,386                                  |
| Largest single-day discount        | \$4,820 (Mother's Day campaign Saturday) |
| Standard deviation                 | \$740                                    |
| Discount as % of total revenue     | 4.9%                                     |

**Top 5 cart rules by 90-day spend:**

| Rule                            | Type                | 90D total                                                  |
| ------------------------------- | ------------------- | ---------------------------------------------------------- |
| WELCOME10                       | 10% off first order | \$24,400                                                   |
| Mother's Day flash 20%          | timed campaign      | \$18,200                                                   |
| Free shipping over £50 (UK)     | shipping rule       | \$14,800 (in `shipping_discount_amount`, not in this card) |
| B2B Tier-2 customer-group price | always-on B2B tier  | \$42,600                                                   |
| WINTER25                        | 25% off seasonal    | \$9,800                                                    |

What this is telling marketing:

1. **B2B tier pricing accounts for \$42,600 of the 90-day discount total**, the largest single line. This is structurally embedded in B2B contracts, not a campaign cost. Many merchants underestimate this because it doesn't appear as an explicit campaign.
2. \*\*WELCOME10 ($24,400) is the largest consumer campaign cost.** ROI math: $24,400 spent on first-order discount; first-order revenue (gross) attributable to this rule is \~$244k (10% discount implies $244k of qualifying baskets). Cohort retention determines whether the spend pays back.
3. **The Mother's Day spike (\$18,200 over a 3-day window)** is a seasonal cluster; the daily chart shows the spike clearly.
4. **WINTER25 still costs \$9,800 over 90 days** even though winter is over. Cause: the rule has no end-date constraint and is still being applied (B2B accounts who saved the code, returning customers using saved discounts). Consider sunsetting expired rules.
5. **Cross-checking [Discount %](/nerve-centre/kpi-cards/adobe-commerce/discount-of-revenue)**: the 4.9% discount-of-revenue is in the healthy range (DTC merchants commonly run 4 to 8%); B2B-heavy stores sometimes see 8 to 12% if tier pricing is aggressive.
6. **Action items**: sunset WINTER25 (saves \~\$3k/quarter); re-evaluate B2B tier pricing on a per-Company basis (some Tier-2 accounts may merit Tier-1, others may have outgrown Tier-2 and could be moved up).

The point: discount-over-time exposes the structural-vs-campaign decomposition. On Adobe Commerce specifically, the customer-group price layer often dwarfs the explicit-campaign layer, and merchants who don't see this card miss the bigger cost.

## Sibling cards merchants should reference together

| Card                                                                                      | Why pair it with Discount Over Time                                             |
| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| [Discount %](/nerve-centre/kpi-cards/adobe-commerce/discount-of-revenue)                  | Single-period summary as % of revenue.                                          |
| [Total Discount](/nerve-centre/kpi-cards/adobe-commerce/total-discount-used)              | Single-period absolute value.                                                   |
| [AOV](/nerve-centre/kpi-cards/adobe-commerce/average-order-value)                         | Discount campaigns drag AOV down; the chart correlates with AOV dips.           |
| [Total Revenue](/nerve-centre/kpi-cards/adobe-commerce/total-revenue)                     | Denominator-of-context.                                                         |
| [Daily Order Trends](/nerve-centre/kpi-cards/adobe-commerce/daily-order-trends)           | Volume lift correlates with discount spikes.                                    |
| [B2B Revenue Share](/nerve-centre/kpi-cards/adobe-commerce/b2b-revenue-share)             | B2B tier-pricing structural discounts are part of the B2B revenue cost-of-sale. |
| [Top Refunded SKUs](/nerve-centre/kpi-cards/adobe-commerce/top-refunding-customers)       | Discount-driven impulse buys sometimes refund at higher rates.                  |
| [`shopify.discount_over_time`](/nerve-centre/kpi-cards/shopify/discounts-given-over-time) | Cross-platform peer.                                                            |

## Reconciling against the vendor's own dashboard

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

> **Reports > Sales > Coupons** lists rule-by-rule usage with totals. Adobe's report distinguishes coupon-codes from cart rules; some discounts (customer-group price) don't show in coupon report.

> **Marketing > Cart Price Rules** shows the rule list and per-rule "Times Used" plus "Total Discount" stats.

> **Marketing > Catalog Price Rules** shows item-level discounts (separate from cart rules; commonly used for category-wide promotions).

> **Sales > Orders** > \[Order ID] > Items > Discount column shows per-order discount detail.

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

| Reason                                                                                                                                                                       | Direction of divergence         |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
| **Coupons report scope**. Admin's Coupons report shows code-only rules; this card includes cart-rule and customer-group-price discounts that aren't necessarily code-driven. | Card higher than coupons report |
| **Time-zone**. Admin in Store View timezone; card UTC.                                                                                                                       | Boundary effects                |
| **Shipping discounts**. Card excludes by default (shipping\_discount\_amount field). Admin's per-order discount column may include them.                                     | Card lower per-order            |
| **Currency**. Card uses `base_discount_amount` for rollup.                                                                                                                   | Material on multi-currency      |
| **`canceled` exclusion**. Card excludes; Admin reports include unless filtered.                                                                                              | Card lower                      |

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

| Pair                                                                               | Expected relationship                                                            | What divergence tells you                                                                                           |
| ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| ESP campaign reports (Klaviyo/Mailchimp)                                           | ESP-attributed discounts ≤ card total                                            | If ESP shows higher attributed discount than this card has spent, attribution overlap (multiple touches per order). |
| [`google_analytics.ga_promo_codes`](/nerve-centre/google_analytics/ga_promo_codes) | GA4 promo-code attributed revenue should reconcile with the rule's discount cost | Material divergence indicates GA4 promo-attribution drift.                                                          |

***

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

  * [`shopify.discount_over_time`](/nerve-centre/kpi-cards/shopify/discounts-given-over-time)
  * [`bigcommerce.discount_over_time`](/nerve-centre/kpi-cards/bigcommerce/discounts-given-over-time)
</details>

## Known limitations / merchant FAQs

**Why does my discount total seem higher than the campaigns I ran?**
Most likely cause on Adobe Commerce: customer-group price (B2B tier pricing) is structurally applied to every B2B order. Merchants don't perceive this as "discounts" but Adobe stores it in `discount_amount`. Your campaign discounts plus B2B tier discounts together explain the total.

**Adobe Commerce vs Magento Open Source: any difference?**
None at the calculation. Both editions use the same cart-rule and customer-group-price machinery.

**Why aren't shipping discounts in this chart?**
They're stored separately in `shipping_discount_amount`. Configure the manifest to include them if you want a unified discount-spend view; default excludes them so cart-rule and tier-pricing dollar comparisons are like-for-like.

**My multi-store Adobe Commerce, can I see per-Store-View overlays?**
Yes, configure per-Store-View series. Useful when one Store View runs region-specific campaigns.

**Why does the chart spike Monday morning even when no campaign launched?**
B2B end-of-month POs often place Monday with stacked customer-group-price discounts; aggregate discount value can spike independently of explicit campaigns.

**A discount rule expired weeks ago but is still showing daily spend, why?**
Expired rules can still apply if customers have saved coupon codes (Adobe's standard cart-rule machinery validates code-vs-rule at use, not at save). For permanent removal, set the rule's "Active" flag to No, not just an end-date.

**Discount as % of revenue is 4.9%, is that high?**
Category-dependent. DTC consumer baseline is 3 to 6%; promotional-heavy brands run 8 to 12%; B2B baseline is 5 to 15% (driven by tier pricing). Your 4.9% is mid-range.

\*\*Why does the worked example have $42,600 of B2B tier discount, is that right?**
Yes. B2B tier pricing on a $462k 90-day B2B revenue base implies an average \~9% structural discount, which is normal for wholesale tier pricing. Higher-volume B2B accounts often have 15 to 25% tier discounts; the \$42k figure is the dollar-weighted average across all B2B Companies.

***

### Tracked live in Vortex IQ Nerve Centre

*Discounts Given Over Time* 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.
