Active Coupons for the selected period.
At a glance
The number of coupon codes that are live and redeemable in your store at this moment. A coupon counts as active when it is published (not in draft or trash) and has not passed its expiry date. Fetched in real time fromGET /wp-json/wc/v3/couponsand filtered against each coupon’sdate_expiresfield.
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 homeware brand on managed WooCommerce (WP Engine) is mid-way through a spring promotion. On 14 Mar 26 the marketing lead opens the card to confirm what is live.
Three things to notice:
- Expired codes still live in the database.
VIP-EARLYandBLACKFRIDAY24are bothpublishbut past their expiry, so they drop out of the count. WooCommerce never deletes them; they sit dormant. The card reflects what a customer could actually redeem today, which is the number that matters for promotion hygiene. STAFF-TESTis counted and should not exist. Test coupons left inpublishstate are a common leak. They count here because they are technically redeemable. A jump in this card that the marketing team did not plan often traces to a forgotten test code or a staging coupon promoted to production. Pair with Top Coupons by Usage (30D) to see whether any unexpected code is actually being redeemed.- Timezone can shift the boundary.
SPRING15expires at 23:59 on 31 Mar 26 in WP site timezone (Europe/London). The card evaluates against UTC, so during BST the code can appear active for up to an hour after WP Admin shows it expired. For a live count this is rarely material, but it explains a transient off-by-one against the WP Admin coupons screen.
Sibling cards merchants should reference together
Reconciling against WooCommerce
Where to look in WooCommerce Admin: WP Admin → Marketing → Coupons lists every coupon. Filter to the Published view and ignore anything in Draft or Trash. To match this card, mentally exclude any row whose expiry date has passed; the WP Admin list does not hide expired coupons automatically. Other WP Admin views that look like the same number but are not:- The “All (n)” count at the top of the Coupons screen: includes drafts, trashed, and expired coupons. Always higher than this card.
- WooCommerce → Marketing → Coupons (Marketing hub view): same underlying data but a different layout; still does not filter out expired codes.
- A coupons-management plugin (Advanced Coupons, Smart Coupons): these often add scheduling, auto-apply, and URL coupons that may or may not surface in the core REST endpoint. Verify the plugin writes to the standard
shop_couponpost type.
Known limitations / merchant FAQs
Does this count coupons that have hit their usage limit? By default, yes, because WooCommerce core does not change a coupon’s status when itsusage_limit is reached. The code stays publish and simply gets rejected at checkout. So a fully consumed code can still appear in this count even though no customer can redeem it. If you want the count to reflect only truly redeemable codes, expire or unpublish exhausted coupons, or reach out to support@vortexiq.ai about usage-aware filtering.
Why is this card real time rather than a 30-day window?
Active Coupons is an inventory count, not a flow metric. It answers “what can a customer redeem right now”. A historical window would not make sense for a live promotion list. For redemption volume over time, use Top Coupons by Usage (30D).
A test coupon is inflating my count, how do I clean it up?
Set the coupon to Draft or move it to Trash in WP Admin → Marketing → Coupons. Once it leaves publish status it drops out of this card at the next sync. Leaving live test codes in production is a security and margin risk because anyone who guesses the code can redeem it.
Does this include WooCommerce Subscriptions or recurring-discount coupons?
If they are stored as standard shop_coupon posts with publish status and a future or null expiry, yes. Some subscription plugins store recurring-discount logic in custom meta on the subscription rather than as a coupon; those would not appear here.
I unpublished a coupon but the card still shows it, why?
Most likely sync lag. The Vortex IQ Woo indexer polls on a schedule, so a status change can take until the next successful poll to reflect, usually within an hour. If a self-hosted host was unreachable during the poll, it can take longer. Check WooCommerce → Settings → Advanced → REST API to confirm the Vortex IQ key is still active.