At a glance
The total £-cost of all discounts applied across orders in the 30-day window. The single-number cost-of-promotion view; pair with Discount % of Revenue for the ratio version.
| What it counts | SUM(totalDiscounts) across orders in the window. Includes code-redeemed, automatic, and manually-applied discounts. |
| VAT / tax treatment | Inherits store’s tax mode; for VAT-inclusive stores, discounts deduct VAT-inclusive amount. |
| Shipping | Free-shipping discounts contribute if Shopify books them as discount lines (varies by config). |
| Discounts | This is the metric. |
| Refunds | NOT subtracted. A discounted order that’s refunded still contributes its original discount to this total. |
| Cancelled / voided orders | Included if Shopify indexed them; cancelled orders typically retained discount records. |
| Currency | Multi-currency arithmetic without FX. Filter for clean cross-store reads. |
| Channels / sources | All channels. POS-applied manual discounts contribute; marketplace channels often don’t expose discount records to Shopify. |
| Time window | 30D (default 30D rolling) |
| Alert trigger | None directly; pair with discount-budget thresholds. |
| Roles | owner, marketing |
Calculation
Worked example
A US activewear DTC brand on Shopify Plus. 30D window 12 Apr 26 to 12 May 26.| Period component | Amount |
|---|---|
| Total revenue (gross) | $1,164,000 |
| Total discounts applied | $74,100 |
| Total discount as % of revenue | 6.4% |
- The level is healthy. 6-8% discount load is typical for DTC apparel; <5% means under-promoting, >10% means over-discounting (margin compression).
- The drift is the story. $15.9k more discount cost in 30 days. Where did it come from? Drill into Top Discount Codes to find which code(s) drove it.
- The campaign cost. If a mid-month FRIENDS25 campaign ran for 7 days, it likely accounts for 74k. Net evaluation: did the campaign drive incremental revenue >$15k? If yes, profitable; if not, cannibalistic.
- Refund-blind. A customer who used WELCOME10 (10 is still in this total. Real net discount cost is slightly lower; pair with refund tracking.
- Free-shipping cost obscured. If FREESHIP discounts are bookkeeping-shipping rather than discounts, they may not appear here. Audit your specific Shopify config; some FREESHIP setups use auto-shipping-rate vs discount-code.
- Margin impact. At 30% gross margin, 22,200 of foregone gross profit if all redemptions were cannibalistic. The right question: how much of $74k brought incremental customers vs subsidised customers who would have bought anyway?
Sibling cards merchants should reference together
Total Discount is the £-aggregate. Companions:| Card | Why pair it with Total Discount |
|---|---|
| Discount % of Revenue | The ratio version; same data, framed as % of revenue. |
| Top Discount Codes | Drill-down to per-code cost. |
| Discount Over Time | Trend version; shows when discount cost spikes (campaign weeks). |
| AOV with/without Discount | Cohort decomposition; tells you whether codes attract big baskets. |
| Total Revenue | Aggregate context. |
| Revenue Breakdown | The discount slice of total. |
| New Customers | Welcome-code-driven customer acquisition. |
Reconciling against the vendor’s own dashboard
Where to look in Shopify Admin:Shopify Admin → Analytics → Reports → “Discounts” (under Marketing)The most direct equivalent. Shows total discount cost and breakdown by code. Should match this card to within sync-lag tolerance. Other Shopify Admin views:
- Reports → “Total sales”: shows discount column alongside other slices.
- Discounts page: list of all codes with usage stats.
| Reason | Direction | Why |
|---|---|---|
| Free-shipping accounting | Either | Some Shopify configurations book free-shipping as a “shipping rate of 0” (not a discount) and won’t appear in either view; others use discount mechanism and do. |
| Refund treatment | Theirs may differ | Shopify Discounts report may net out refunded discounts; we show gross. |
| Time zone | Boundary | UTC vs store time zone. |
| Multi-currency | Aggregate distortion | We don’t FX-normalise. |
| Sync lag | Ours lower for “today” | Most-recent 5-15 min may not be in. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
klaviyo.kl_revenue_attributed_to_email | Indirect | Klaviyo flow codes contribute to discount cost; Klaviyo’s revenue attribution should align with this card’s slice for those codes. |
| Accounting (Xero, QuickBooks) | Should match | ”Sales discounts” account should equal this card’s value within rounding. |
Known limitations / merchant FAQs
What’s a healthy discount load? Category-dependent rough guides:- Premium DTC (limited edition, designer): 0-3%. Discounts are rare; brand integrity over volume.
- Standard DTC apparel/lifestyle: 5-10%. Welcome codes, occasional promos.
- Promotional fashion (frequent sales): 12-18%. Built-in to pricing strategy.
- Bargain/discount-positioned brands: 20-30%. Discounts are the marketing engine.
- More codes live: pair with Top Discount Codes. Did you launch new codes?
- Heavier depths: existing codes increased from 10% to 20%? Direct cost rise.
- Stacking enabled: customers using multiple codes per order amplify cost.
- Monthly review: confirm aggregate is within budget; investigate variances >10%.
- Campaign attribution: tag campaigns and use code-level breakdown to evaluate ROI.
- Margin impact analysis: total discount × (1 - cannibalisation%) = real cost. Cannibalisation typically 30-70% depending on cohort and category.
- Code policy refinement: usage caps, expiry dates, one-per-customer rules to prevent runaway redemption.
- A/B test code depth: 10% vs 15% on welcome flow; the higher discount may not bring more customers but costs more.
- Net-revenue lens: pair with revenue and refunds for the full economic picture.