Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform

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 countsSUM(totalDiscounts) across orders in the window. Includes code-redeemed, automatic, and manually-applied discounts.
VAT / tax treatmentInherits store’s tax mode; for VAT-inclusive stores, discounts deduct VAT-inclusive amount.
ShippingFree-shipping discounts contribute if Shopify books them as discount lines (varies by config).
DiscountsThis is the metric.
RefundsNOT subtracted. A discounted order that’s refunded still contributes its original discount to this total.
Cancelled / voided ordersIncluded if Shopify indexed them; cancelled orders typically retained discount records.
CurrencyMulti-currency arithmetic without FX. Filter for clean cross-store reads.
Channels / sourcesAll channels. POS-applied manual discounts contribute; marketplace channels often don’t expose discount records to Shopify.
Time window30D (default 30D rolling)
Alert triggerNone directly; pair with discount-budget thresholds.
Rolesowner, marketing

Calculation

SUM(totalDiscounts)
  WHERE date BETWEEN [period_start, period_end]

Worked example

A US activewear DTC brand on Shopify Plus. 30D window 12 Apr 26 to 12 May 26.
Period componentAmount
Total revenue (gross)$1,164,000
Total discounts applied$74,100
Total discount as % of revenue6.4%
vs prior 30D total discount of $58,200 (5.0%). The card flags an upward drift of 1.4 ppt in discount load. Six things to notice:
  1. The level is healthy. 6-8% discount load is typical for DTC apparel; <5% means under-promoting, >10% means over-discounting (margin compression).
  2. 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.
  3. The campaign cost. If a mid-month FRIENDS25 campaign ran for 7 days, it likely accounts for 1520kofthe15-20k of the 74k. Net evaluation: did the campaign drive incremental revenue >$15k? If yes, profitable; if not, cannibalistic.
  4. Refund-blind. A customer who used WELCOME10 (10discount)andthenrefundedtheorder:the10 discount) and then refunded the order: the 10 is still in this total. Real net discount cost is slightly lower; pair with refund tracking.
  5. 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.
  6. Margin impact. At 30% gross margin, 74,100ofdiscountcost=74,100 of discount cost = 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:
CardWhy pair it with Total Discount
Discount % of RevenueThe ratio version; same data, framed as % of revenue.
Top Discount CodesDrill-down to per-code cost.
Discount Over TimeTrend version; shows when discount cost spikes (campaign weeks).
AOV with/without DiscountCohort decomposition; tells you whether codes attract big baskets.
Total RevenueAggregate context.
Revenue BreakdownThe discount slice of total.
New CustomersWelcome-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.
Why our number may legitimately differ from Shopify Admin:
ReasonDirectionWhy
Free-shipping accountingEitherSome 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 treatmentTheirs may differShopify Discounts report may net out refunded discounts; we show gross.
Time zoneBoundaryUTC vs store time zone.
Multi-currencyAggregate distortionWe don’t FX-normalise.
Sync lagOurs lower for “today”Most-recent 5-15 min may not be in.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
klaviyo.kl_revenue_attributed_to_emailIndirectKlaviyo 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.
The right level depends on customer-acquisition strategy and margin structure. My discount cost is rising. Bad? Depends on the offset. If revenue is rising more than discount cost, you’re winning. If discount cost rises but revenue is flat, the discounts are cannibalising. Three drivers to investigate:
  1. More codes live: pair with Top Discount Codes. Did you launch new codes?
  2. Heavier depths: existing codes increased from 10% to 20%? Direct cost rise.
  3. Stacking enabled: customers using multiple codes per order amplify cost.
Is this card net of refunds? No. Refunded orders’ discounts remain in the total. Net-discount card is on the roadmap. Why is my Discount Over Time chart a different shape? Same data, different aggregation. This card sums; the time-series breaks down daily/weekly. Use the time-series to identify campaign weeks driving the aggregate. My subscription store, do recurring billings count? Yes. If the original purchase used a code, recurring billings inherit and contribute. Subscription-heavy stores see persistent discount-cost flows. Action playbook for using Total Discount:
  1. Monthly review: confirm aggregate is within budget; investigate variances >10%.
  2. Campaign attribution: tag campaigns and use code-level breakdown to evaluate ROI.
  3. Margin impact analysis: total discount × (1 - cannibalisation%) = real cost. Cannibalisation typically 30-70% depending on cohort and category.
  4. Code policy refinement: usage caps, expiry dates, one-per-customer rules to prevent runaway redemption.
  5. A/B test code depth: 10% vs 15% on welcome flow; the higher discount may not bring more customers but costs more.
  6. Net-revenue lens: pair with revenue and refunds for the full economic picture.

Tracked live in Vortex IQ Nerve Centre

Total Discount Used is one of hundreds of KPI pulses Vortex IQ tracks across Shopify 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 or book a demo to see this metric running on your own data.