Top Coupons by Usage (30d).
At a glance
A ranked horizontal bar chart of your coupon codes ordered by redemption count over the last 30 days. It answers “which promotions are actually being used” and surfaces the codes worth watching for margin impact, abuse, or expiry. Every WooCommerce coupon carries a running usage_count; this card ranks the deltas over the period.
| What it counts | The number of redemptions per coupon code over the 30-day window, ranked descending. A redemption is one appearance of the code in an order’s coupon_lines. The top codes form the bars. |
| REST API endpoint | GET /wp-json/wc/v3/coupons for the coupon catalogue (each coupon exposes code, usage_count, discount_type, amount, usage_limit). Period redemptions are derived from GET /wp-json/wc/v3/orders and each order’s coupon_lines[]. |
| Coupon fields used | code (the label on each bar), usage_count (lifetime redemptions), discount_type (percent, fixed_cart, or fixed_product), amount, and usage_limit. The card ranks by redemptions in the window, not lifetime usage_count. |
| Discount value vs count | This card ranks by count, not by discount value. A high-count low-value code (free shipping) can rank above a low-count high-value code (50% off). Pair with Discount as % of Revenue for the financial weight. |
| Status filter | Redemptions are counted from orders in real revenue statuses (completed, processing, on-hold); pending cart skeletons and failed attempts are excluded so the ranking reflects discounts that actually applied to revenue. |
| Self-hosted vs managed-Woo | Identical on self-hosted LAMP, WordPress.com, and managed-Woo (Woo.com Cloud, WP Engine, Pressable, Kinsta). Coupon-extension plugins (Smart Coupons, Advanced Coupons) can auto-apply codes, which still count as redemptions here, see FAQs. |
| Time window | 30D (last 30 days; no prior-period comparison on this card) |
| Alert trigger | None. This is a ranking card, not a threshold card. |
| Roles | owner, marketing, finance |
Calculation
Calculated automatically from your WooCommerce 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 UK skincare brand on self-hosted WooCommerce 8.7 with the Stripe Gateway plugin and the Smart Coupons extension. Several promotions ran concurrently. The 30-day window covers 22 May 26 to 20 Jun 26.| Rank | Coupon code | Discount type | Redemptions (30d) | Note |
|---|---|---|---|---|
| 1 | FREESHIP | fixed_cart (shipping) | 612 | Auto-applied over £40 |
| 2 | WELCOME10 | percent (10%) | 318 | First-order code |
| 3 | SUMMER20 | percent (20%) | 141 | Seasonal campaign |
| 4 | VIP15 | percent (15%) | 47 | Loyalty list code |
| 5 | BUNDLE5 | fixed_product (£5) | 22 | Cross-sell bundle |
- The top code by count is not the top code by cost. FREESHIP leads on redemptions but each redemption is a small shipping subsidy. SUMMER20 at rank 3 likely costs more in absolute discount despite a third of the volume. Reading this card alongside Discount as % of Revenue prevents the “high usage equals high cost” trap.
- Auto-applied codes dominate. FREESHIP is auto-applied by Smart Coupons over a £40 threshold, so almost every qualifying cart redeems it without the customer typing anything. That is why it sits far above the typed codes. This is expected behaviour, not abuse.
- A code climbing fast is worth investigating. If VIP15 had jumped from rank 8 to rank 4 in a week, it could mean the loyalty code leaked publicly. The ranking is the early-warning surface; cross-check with Coupon Stacking Abuse to see whether the climbing code is being combined with others.
- Codes near their
usage_limitneed attention. SUMMER20 had ausage_limitof 150 and is at 141 redemptions. It will stop working at 150, and customers who expect it will hit checkout friction. The ranking surfaces this so marketing can extend or replace the code before it caps out.
Sibling cards merchants should reference together
| Card | Why pair it with Top Coupons by Usage |
|---|---|
| WC Active Coupons | How many codes are live right now. This card ranks the ones being used; that card counts the total pool. |
| WC Discount as % of Revenue | The financial weight. Usage rank tells you what is popular; this tells you what it costs. |
| WC Coupon Stacking Abuse (>2 coupons / order) | Which top codes are being combined. A fast-climbing code is often the one customers are stacking. |
| WC Gross Margin | Where heavy coupon usage lands. A spike in a high-value code shows up as a margin dip. |
| WC Average Order Value | Heavy discounting pulls net AOV down. Pair to see whether popular codes are eroding basket value. |
| BC Top Coupons | Cross-platform peer for agencies running a multi-platform book. |
| Shopify Top Discount Codes | SaaS-platform peer. Shopify’s discount model differs (single discount per order), useful to contrast. |
Reconciling against WooCommerce
Where to look in WooCommerce Admin: WP Admin > Marketing > Coupons lists every coupon with a “Usage / Limit” column showing lifetime redemptions. For a period view, WP Admin > WooCommerce > Reports > Orders > Coupons by date breaks down usage and discount value over a date range. Set the same 30-day window to compare against this card’s ranking. Other WP Admin views that look related but are not:- Marketing > Coupons “Usage / Limit” column: shows lifetime
usage_count, not period redemptions. A code that was huge last year but quiet this month still shows a large lifetime number there but a small bar here. - WooCommerce Analytics > Coupons (WC 4.0+): uses the separate Analytics engine with its own status filtering and can diverge slightly from the legacy reports.
| Reason | Direction of divergence |
|---|---|
| Lifetime vs period. The Coupons list column is cumulative; this card is the 30-day window only. | The list reads higher for old codes |
| Time-zone. WC reports run on WP-site timezone (Settings > General > Timezone); Vortex IQ runs on UTC. Boundary-day redemptions fall on different sides. | +/- a day’s redemptions at the boundary |
Status filter. This card counts redemptions on real-revenue orders only; a report that includes pending or failed orders reads higher. | WC report higher if it counts non-revenue statuses |
Auto-applied codes. Smart Coupons / Advanced Coupons auto-apply codes that still land in coupon_lines. Both this card and WC count them, but a merchant who forgets about an auto-apply rule may be surprised by the rank. | Matches WC; surprises the merchant’s mental model |
| Self-hosted server uptime. An outage during the indexer poll delays recent redemptions by up to 24 hours. Managed hosts are steadier. | Ours temporarily lower; self-resolves at next sync |
Known limitations / merchant FAQs
Does this rank by usage or by discount value? By usage count. A small free-shipping code redeemed 600 times outranks a 50%-off code redeemed 40 times even though the latter may cost far more. For the cost view, read this alongside Discount as % of Revenue. Treat the two as a pair: what is popular versus what is expensive. Why is a code I disabled still showing? The ranking covers the last 30 days. A code disabled three days ago still shows its redemptions from earlier in the window. It drops off once those redemptions age out of the 30-day window. If a disabled code is still accruing new redemptions, it was not fully disabled, check the coupon’s expiry date and status in Marketing > Coupons. Do auto-applied coupons count? Yes. Plugins like Smart Coupons and Advanced Coupons can auto-apply a code based on cart conditions. Those redemptions land incoupon_lines exactly like typed codes, so they rank here. This is why an auto-applied free-shipping code often tops the chart even though no customer ever typed it.
Why does my WP Admin Coupons list show a bigger number?
The Coupons list “Usage / Limit” column is lifetime cumulative; this card is the 30-day window. An old evergreen code can have tens of thousands of lifetime redemptions but only a few hundred this month. Use the Coupons-by-date report for an apples-to-apples period comparison.
How does HPOS affect coupon usage?
WooCommerce High-Performance Order Storage keeps coupon lookups in dedicated tables. The Vortex IQ engine reads redemptions through the REST API, so HPOS and legacy stores rank identically. During an in-progress HPOS migration the lookup table can briefly lag, settling once the sync completes.
Can I see codes beyond the top few?
The bar chart shows the leading codes for readability. To interrogate a specific code’s full history or compare any two codes, use Ask Viq in plain English, it can pull the ranking for any code in your catalogue.