Black Friday: 79% off every plugin Shop the sale →

Feature Overview

How reward coupons work#

Every coupon the plugin creates is a regular WooCommerce coupon (you can see them under Marketing > Coupons) with these properties:

  • Single use: usage limit 1 and usage limit per user 1. Once redeemed in a paid order it cannot be used again.
  • Locked to the recipient: the coupon’s Allowed emails restriction is set to the customer’s email address, so a forwarded code does not work for anyone else.
  • Individual use: it cannot be combined with other coupons in the same order.
  • Expiring: the expiry date comes from the trigger’s Expiry Days setting.
  • Recognisable: the code starts with a prefix that names the trigger (POST_, REVIEW_, WELCOME_, BDAY_, NEWS_, CART_, ITEM_, REF_) followed by a random string.

Coupons are created only after the abuse prevention checks pass (see General Settings), and the customer is emailed immediately. Unused coupons also appear on the My Account dashboard and the classic checkout page.

Post-purchase coupons#

What the shopper sees: after paying for an order they receive “Your reward coupon is here!” with a coupon for their next purchase.

How it works:

  • Fires when an order’s status changes to Processing or Completed, i.e. when it is paid.
  • Only orders placed by registered (logged-in) customers qualify; guest orders receive nothing.
  • Every order receives at most one coupon, even if its status changes several times.
  • The coupon is locked to the order’s billing email.
  • If the order is later cancelled or refunded and the coupon has not been used, the coupon is moved to the trash automatically.
SettingWhere
Enable Post-Purchase Coupons, Discount Amount, Discount Type, Expiry DaysTriggers tab > Post-Purchase Triggers

Review coupons#

What the shopper sees: after their product review is approved they receive “Thank you for your review!” with a coupon.

How it works:

  • Fires when a product review by a logged-in customer is approved, whether it is published immediately or approved later from Comments.
  • Each review is rewarded once, even if it is unapproved and approved again.
  • Reviews from guests (no account) are not rewarded because there is no account to lock the coupon to.
  • When the reviewer’s review is published immediately, the per-IP limit applies; when a moderator approves it later, it does not.
SettingWhere
Enable Review Coupons, Discount Amount, Discount Type, Expiry DaysTriggers tab > Review Triggers

Registration (welcome) coupons#

What the shopper sees: right after creating an account they receive “Welcome! Your coupon is here” with a welcome gift for their first purchase.

How it works:

  • Fires on every new user registration, including accounts created at checkout and accounts you create in the admin.
  • The coupon is locked to the new account’s email address.
  • The per-IP limit applies, which stops someone creating many accounts from one connection to farm coupons.
SettingWhere
Enable Registration Coupons, Discount Amount, Discount Type, Expiry DaysTriggers tab > Registration Triggers

Birthday coupons#

What the shopper sees: on their birthday they receive “Happy Birthday! Special offer inside” with a short-lived coupon (7 days by default).

How it works:

  • Once a day the smartcouponx_daily_maintenance scheduled task looks for users whose birthday user meta falls on today’s date in the site timezone.
  • Each customer receives at most one birthday coupon per calendar year.
  • The plugin does not add a birthday field to registration or My Account. Use a profile-field plugin, a checkout-field plugin or custom code to save the date in the birthday user meta key in any format PHP’s strtotime() understands (for example 1990-05-21).
SettingWhere
Enable Birthday Coupons, Discount Amount, Discount Type, Expiry DaysTriggers tab > Birthday Triggers

The daily task is scheduled by WP-Cron one hour after activation and then every 24 hours. If your site gets little traffic, set up a real server cron job that calls wp-cron.php so birthday coupons go out on the right day.

Newsletter coupons#

What the shopper sees: after submitting their email on your sign-up form they see “Thank you for subscribing! Check your email for your reward coupon.” and receive “Welcome to our newsletter!” with a coupon.

How it works:

  • SmartCouponX does not ship a sign-up form. Your theme, form plugin or custom code posts the address to the smartcouponx_newsletter_subscribe AJAX action; see Newsletter Sign-up AJAX for the contract.
  • Works for visitors without an account. The coupon is locked to the submitted email address.
  • Each address is rewarded once; the plugin keeps a subscriber list in its options and answers Email already subscribed afterwards.
  • The per-IP limit applies.
SettingWhere
Enable Newsletter Coupons, Discount Amount, Discount Type, Expiry DaysTriggers tab > Newsletter Triggers

Cart value coupons#

What the shopper sees: while shopping, when their cart total enters a range you define, they receive “Your cart just earned a reward!” with a coupon they can apply at checkout.

How it works:

  • Checked every time the cart of a logged-in customer is updated.
  • You add one or more rules, each with a Min Cart Value, Max Cart Value (0 = no upper limit), Discount Amount and Discount Type.
  • Each rule rewards a customer once ever; the coupon’s minimum and maximum spend are set to the rule’s range so it can only be redeemed on a qualifying cart.
  • The expiry is 30 days and is not configurable per rule.
SettingWhere
Enable Cart Value Triggers, rule table (Add Trigger / Remove)Triggers tab > Cart Value Triggers

Cart item coupons#

What the shopper sees: when their cart contains the products you specify they receive “A special offer for the items in your cart” with a coupon.

How it works:

  • Checked every time the cart of a logged-in customer is updated.
  • Each rule has one or more conditions; all conditions of a rule must match. See Targeting Rules.
  • Each rule rewards a customer once ever. The expiry is 30 days.
SettingWhere
Enable Cart Item Triggers, rule table with conditionsTriggers tab > Cart Item Triggers

Referral program#

See Referral Program for the full description. In short: every customer gets a link under My Account > Referrals, and when a new customer places a first paid order through that link the referrer receives a REF_ coupon.

Abuse prevention#

Three limits protect you from coupon farming; all are on the Advanced tab and described in General Settings. A reward that is blocked by a limit is simply not created; nothing is sent to the customer. For referrals the blocked attempt is recorded with the status Blocked by limits so you can see it on the Referrals page.

Privacy and data#

  • Suggested privacy policy text is added to Settings > Privacy > Policy Guide.
  • The WordPress Export Personal Data tool includes the customer’s coupon activity, referral records and newsletter subscription; Erase Personal Data removes them.
  • The referral cookie smartcouponx_referral is set for 30 days when a visitor opens a referral link. IP addresses used for the daily limit are stored only as salted hashes for 24 hours.
  • Deleting the plugin removes its tables, settings, meta and scheduled events. Issued coupons are kept because orders refer to them.
Was this article helpful?