Skip to content

Discount Analytics

The Analytics tab answers one question: which of my discounts are worth running? Instead of guessing whether a promotion worked, you see every discount ranked by return — and can drill into any one of them.

Every view here is free — there is no analytics feature behind a paid tier.

The top of the page shows four stat cards at a glance:

StatWhat it measures
Discounted / Total OrdersHow many orders applied at least one discount, against the total order count in range
Total Discount GivenThe summed discount value delivered to customers over the period (broken down per currency in a multi-currency store)
Active Discounts TrackedHow many of the discounts with activity in the date range are currently active
Most Used DiscountThe single rule that fired most often (only shown when there’s data)

The stat cards update as you change the date range — they’re scoped to the From / To pickers at the top of the page.

The Analytics tab has five sub-tabs, each scoped to the same date range and currency:

The default view — and the heart of the tab. It puts every discount in one ranked table, best-to-worst by net ROI, below a chart that plots how deep each discount cuts against the size of the orders it brings.

The Average order value vs. discount depth chart places one dot per discount on shared axes: the discount depth (discount given ÷ gross revenue — the average % taken off the order, across the bottom) against the average order value of orders that used it (up the side). Dot size reflects order volume; dot colour shows the best and worst performer from the ranked table.

The ranked table lists every rule that fired in range, sorted best-to-worst by ROI, with these columns:

ColumnWhat it tells you
DiscountThe rule name, its type pill (e.g. Min Spend % Off, Buy X Get Y), and whether it’s currently active
OrdersOrders that included this discount
Gross RevTotal value of those orders. Orders using several discounts share their value between them in proportion to each discount’s contribution
Discount GivenTotal discount value handed to shoppers — your cost
Gifts GivenOrders that received a free-gift discount’s gift. A gift gives £0 off, so this is the figure that shows what it did. The column only appears when a gift discount is listed; other rows read ”—“
AOVAverage order value for those orders (gross rev ÷ orders)
New Cust. %Share of orders from first-time customers (an email with no earlier order)
Net ROI(gross rev − discount given) ÷ discount given — £ actually banked per £1 given, so a 100%-off giveaway shows £0.00. The table is ranked on this column; the best and worst are flagged. A discount that gave nothing off, such as a free gift, has no net ROI and is listed after the ranked ones.

When more than 25 discounts fired in range, the view loads the 25 used on the most orders.

An Analyse scope bar between the chart and the table lets you switch what the view covers:

  • All discounts (default) — the full ranked list.
  • One discount — pick a single discount for its full read: whether it was the best or worst performer, the explained numbers (revenue driven, redemptions, discount given, net ROI, new customers) and a Redemptions over time chart. When the discount has a total usage limit, a usage-limit forecast shows when it will run out at the current pace, and whether that comes before its scheduled end.
  • Compare — pick a subset and re-rank just those against each other.

Time-series charts for cross-discount comparison. Pick two or more rules and overlay their redemption / discount-given curves over the date range, with a metric selector (Orders / Gross Revenue / Discount Given / AOV) and a daily breakdown table. Useful for A/B comparisons between two recipes targeting the same audience.

Pick one discount from Analyze Dedicated Discount: to see its charts: an order-value distribution, Redemptions (Orders) Over Time, Gross Revenue Retained Over Time and Discount Cost Given Over Time.

When redemptions happen: a Redemptions by day of week grid with a Weekend lift figure per discount, a Redemption velocity reading (the share of a discount’s redemptions that land within 2 days of its first one in the range), and summary cards for the busiest window, peak day, weekend share, quietest day and logged-in vs guest split. Timing counts redemptions, not revenue — it answers when, so you can schedule around your real demand.

Coupon-specific stats — headline cards (active coupons, codes issued, redemptions, codes remaining, discount given), Coupon Activity Over Time and Codes Remaining Over Time charts, and a per-coupon table of codes issued, redeemed and remaining, utilisation and last-used date. When a coupon unlocks a free gift, the table adds a Gifts Given column with the orders that received it in the range. This view reads coupon activity captured at checkout, so a pooled-code coupon reports against the coupon rather than the underlying rule.

In a multi-currency store, each rule reports per currency — the Discount Given, Gross Rev, and AOV figures honour the order’s checkout currency, so per-currency totals never blend with FX’d values. The headline Total Discount Given card shows a per-currency breakdown, and the discount-depth chart plots each rule once per currency it was used in.

This means the Analytics tab never reports cross-currency totals from FX conversions — only natively-recorded values per checkout currency. See Multi-currency compatibility for the per-currency model.

Filter by time period to:

  • Compare promotional periods — did your Black Friday tiered discount outperform last year’s flat one?
  • Measure promotion impact — filter to the exact dates a promotion ran
  • Track trends — is usage growing over time?

The default range is the last 30 days; pick any custom window using the From / To date inputs. Date filters use your store timezone. Analytics count completed orders, and very recent checkouts may take a short time to appear — click ↻ Refresh to reload. Download CSV exports the report for the selected range.

The Analytics tab has a Delete all data button for clearing your entire reporting history — useful after testing, when handing a store over, or to start a fresh measurement period.

It is deliberately hard to fire by accident:

  1. Click Delete all data to open the Delete all analytics data? dialog.
  2. The dialog warns that this permanently removes every recorded analytics event — your entire discount and coupon reporting history — and that it cannot be undone.
  3. The confirm button stays disabled until you type the word DELETE (exactly — uppercase, no extra spaces) into the field.
  4. Only then does Delete all data unlock.

Analytics data is captured at checkout time — each order is tagged with its discount rule IDs, and those events are summarised into a dedicated analytics-events table that the Analytics tab queries lazily. The dashboard does not add overhead to the rule-evaluation hot path that runs on every cart; opening the Analytics tab queries the events table directly, not the live engine.

This separation is why analytics queries can be heavy without affecting checkout performance. See Performance Monitoring for the hot-path budget.

The Summary ranking does this for you: the discounts flagged best return the most revenue per £1 given — consider giving them more prominence or budget. The one flagged worst is giving away the most for the least back — a candidate to tighten, re-target, or retire. The discount-depth chart makes the trade-off visual: a deep discount is only worth it if it brings bigger orders.

If a discount has very few Orders, consider:

  • Lowering the qualification threshold
  • Ticking Include in spend-more nudges in the discount’s Messaging section (it starts unticked), so the spend-more nudge guides customers toward it (where nudges appear is set store-wide on the Message Settings tab)
  • Turning on Show on product page so shoppers know the deal exists

If most customers hit your lowest tier but few reach higher ones, consider:

  • Narrowing the gap between tiers
  • Tightening the next-tier nudge (“Spend [amount_left] more for [next_tier]”)
  • Testing a higher first-tier discount with a lower threshold

WooCommerce is a trademark of Automattic, Inc. WordPress is a trademark of the WordPress Foundation. Dino Discounts is not affiliated with or endorsed by Automattic or the WordPress Foundation.

Contact · Report a bug