Coupon codes, automatic rules like free shipping over a threshold, and gift cards are built in. Usage is recorded per redemption, so limits are enforced against the database instead of a cached counter.
SUMMER20
412 redemptions
20
%
Run coupon codes customers type and automatic rules like free shipping over a threshold, both resolved in the same server-side pricing pass.
Every redemption is recorded, so per-code and per-customer limits are enforced against real usage instead of a cached count.
Issue gift cards that track their remaining balance, with the amount applied visible on each order.
Coupon codes are unique in the database regardless of capitalisation, so SUMMER20 and summer20 can't both exist.