URL coupons and token obfuscation
URL coupons let you share a secret link that automatically applies a coupon without ever showing the coupon code to the customer. This is ideal for influencer campaigns, referral programs, exclusive member offers, and any situation where you don’t want the coupon code to be forwarded or shared publicly.
How it works:
- Mark a coupon as URL-only on its URL & Obfuscation tab.
- Generate one or more tokens. Each token produces a unique URL in the format
yoursite.com/?coupon=TOKEN. - Share the URL. When a customer visits it, the coupon is automatically applied to their cart.
Token behavior:
- Tokens can have individual usage limits. A token with a limit of 1 is single-use; after it’s used, it becomes “Exhausted” and won’t apply again.
- Token expiry is controlled globally (WooCommerce → Settings → CouponCraft → URL Coupons → Token expiry).
- If a customer visits a token URL with an empty cart, the coupon is stored in the session and applied automatically when they add their first item.
- Error messages for URL-only coupons never expose the coupon code — they show “this discount” instead.
Blocking manual entry: When a coupon is marked as URL-only, CouponCraft blocks manual entry across all surfaces: classic cart and checkout forms, the WooCommerce AJAX apply endpoint, the WooCommerce REST API, and the Block Checkout Store API.
Label renaming
Replace “Coupon” with any term you prefer across your entire store. Common alternatives include “Promo code,” “Discount code,” “Gift code,” and “Referral code.”
Labels apply to three distinct UI elements, each controlled separately:
- Coupon field label — the placeholder text in the coupon input field
- Apply button text — the button customers click to apply the code
- Discount line label — the “Coupon: CODE” row in cart totals and order summaries
Labels work on both classic and block-based cart/checkout. Individual coupons can set their own label via the Display tab, overriding the global setting.
Visibility controls
You can hide coupon-related UI elements globally or on a per-coupon basis.
Global visibility (WooCommerce → Settings → CouponCraft → Visibility) hides or shows elements across all coupons by default.
Per-coupon visibility (coupon edit screen → Display tab → Visibility Controls) overrides the global settings for a specific coupon:
- Hide discount line — useful for hidden discounts you don’t want customers to notice
- Show inline discount — displays the discount as a strikethrough price on the product line item rather than a separate row
- Mask coupon code — shows the code as
****after application, useful when you don’t want to reveal promo codes in the cart - Hide from emails — excludes the coupon from the order confirmation email for this coupon specifically
Auto-apply coupons
Auto-apply coupons activate silently when a customer’s cart meets the configured conditions. There is no limit on how many auto-apply coupons can be evaluated simultaneously.
Conditions are evaluated on cart load, on every add-to-cart event, on item removal, and on quantity updates. If Auto-remove is enabled and the cart no longer meets the conditions, the coupon is removed automatically.
Conditions (all must pass, AND logic):
- Minimum cart total
- Minimum item count
- User role (you can restrict to specific roles, including guests)
BOGO deals
BOGO (Buy X Get Y) lets you create classic “Buy 2 Get 1 Free” style promotions. The products that qualify as “buy” items are defined in the WooCommerce Usage Restriction tab of the coupon (the Products or Product categories fields).
Discount types:
- 100% off (free) — the “get” item(s) are completely free
- Percentage off — apply a percentage discount to the “get” item(s)
- Fixed amount off — apply a fixed currency amount off the “get” item(s)
Item selection modes:
- Same product (cheapest qualifying item) — discounts the cheapest copy of a qualifying product already in the cart
- Cheapest item in cart — discounts whichever item in the cart has the lowest price
Repeat mode allows the deal to stack with cart quantity. With repeat enabled, a “Buy 2 Get 1” deal gives 2 free items when the customer buys 4 qualifying items.
Cashback / store credits
Cashback rewards customers with store credit after their order reaches a configured status. Credits are issued as WooCommerce coupons (native mode), or through Smart Coupons or Points & Rewards if those plugins are installed.
Cashback types:
- Flat percentage — a single percentage applied to the order total (e.g., 5% cashback on all orders)
- Tiered — different percentages based on the order total (e.g., 5% for orders under $100, 10% for orders over $100)
Credits can have an expiry date in days. Cashback processing is idempotent — if an order transitions through multiple statuses, the credit is only issued once.
Cashback details appear in the order admin panel, customer emails, and PDF invoices (when using WooCommerce PDF Invoices & Packing Slips by WP Overnight).
Address restrictions
Restrict a coupon to customers in specific geographic locations. CouponCraft validates the customer’s address at checkout before allowing the coupon to be applied.
Location granularity: country → state/region → city → ZIP/postal code. Each level is optional — you can restrict to a country only, or go all the way down to specific ZIP codes.
ZIP code matching supports:
- Exact match —
10001 - Range —
10000-19999(matches any ZIP between those values) - Wildcard —
SW1*(matches any ZIP starting with SW1)
The validation checks either the billing address, shipping address, or either one, depending on the Address type to validate setting.
Guest abuse prevention
WooCommerce’s built-in “Usage limit per user” only works for logged-in customers. CouponCraft extends this to guests by tracking usage by IP address and email address.
IP addresses are stored as hashed values using WordPress’s wp_hash() function, keeping the raw IP off your database for GDPR compliance.
Limits are set per coupon on the Address tab. A global default IP limit can be set under WooCommerce → Settings → CouponCraft → Security to pre-fill this value on new coupons.
Usage logs can be purged from the Security settings section when they’re no longer needed.
Multi-currency support
CouponCraft automatically detects and integrates with these currency switcher plugins:
- CURCY — Multi Currency for WooCommerce
- WooCommerce Multilingual (WPML)
- Currency Switcher for WooCommerce (WP Wham)
When currency conversion is enabled, fixed-amount coupon discounts and minimum spend thresholds are converted to the customer’s active currency before being applied. Percentage discounts are left unconverted.
If no currency plugin is detected or currency conversion is disabled, coupons are applied in the store’s base currency.
Analytics dashboard
The analytics dashboard is found under WooCommerce → CouponCraft (or similar, depending on your WooCommerce version).
The dashboard shows:
- Total discounts — total value discounted across all coupons
- Orders with coupons — number of orders that used a CouponCraft coupon
- Average discount — average discount value per order
- Revenue — total revenue from orders that used a coupon
- Top 10 coupons — ranked by usage count
- Source breakdown — splits usage into URL, manual, and auto-apply
A date range filter lets you narrow the report to a specific period.