Title: WebStyle Personal Coupons for WooCommerce
Author: christiann
Published: <strong>November 4, 2026</strong>
Last modified: November 4, 2026

---

Search plugins

![](https://ps.w.org/webstyle-coupons/assets/banner-772x250.png?rev=3784935)

![](https://ps.w.org/webstyle-coupons/assets/icon-256x256.png?rev=3784935)

# WebStyle Personal Coupons for WooCommerce

 By [christiann](https://profiles.wordpress.org/cnwebstyle/)

[Download](https://downloads.wordpress.org/plugin/webstyle-coupons.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/webstyle-coupons/#description)
 * [Reviews](https://wordpress.org/plugins/webstyle-coupons/#reviews)
 *  [Installation](https://wordpress.org/plugins/webstyle-coupons/#installation)
 * [Development](https://wordpress.org/plugins/webstyle-coupons/#developers)

 [Support](https://wordpress.org/support/plugin/webstyle-coupons/)

## Description

WebStyle Personal Coupons lets you run coupon campaigns. A campaign gives every 
customer their own code, or one shared code with limits, and groups into categories
so you can see what each campaign brought in.

**Personal codes**

 * One code per e-mail address and campaign. Asking again for the same address returns
   the same code, so a resent e-mail never hands out a second code.
 * Codes can be bound to the recipient’s e-mail address.
 * Set how many codes a campaign may issue, and how many times each code may be 
   used.
 * Valid until a fixed date, or for a number of days after the code is issued.
 * Readable codes with your own prefix, without characters that are easily mistaken(
   0/O, 1/I).

**Shared codes**

 * One code you choose yourself, for example FOD20 for every member of a club.
 * Limit the total number of uses (“the first 100”) and the uses per e-mail address.

**For every campaign**

 * Percentage or fixed discount on the products.
 * Decide what the code covers: only or not for specific products, categories, tags
   and attribute values such as Colour: Red (also on variations), and whether sale
   items get the discount.
 * The discount lands only on the covered items, for a fixed amount too, so a cart
   with other items can still use the code.
 * Limit the code to certain countries, or exclude countries, by shipping or billing
   address.
 * Minimum and maximum cart amount.
 * Start and end date.
 * Categories, for example “Winter sale”, to compare campaigns over the years.
 * A use is counted when the order is placed and given back if the order is cancelled,
   refunded or fails.
 * Works with the classic checkout and the Cart and Checkout blocks, and with High-
   Performance Order Storage.

#### Campaign screen

Under Marketing  Discount codes the overview shows the codes issued and redeemed,
what customers saved and the revenue for the last week, month, 3 months or any interval,
per category and campaign, with a chart and a CSV export. A short guide walks you
through a new campaign in four steps and sums up the rules in plain words before
you save. Every product, category, tag, attribute value and country can be picked
from a list you can browse and search, and a new category can be created right where
you choose it. The discount step shows how WooCommerce calculates shipping in your
shop with the code: your free-shipping thresholds per zone, whether they are measured
before or after the discount, and an example with the discount you entered. Each
campaign has its own page with the codes issued and used, what customers saved and
the revenue from orders with a code. Paste e-mail addresses or upload a CSV file
to issue personal codes, and download all codes as CSV.

The discount step mentions three of our paid plugins where they answer the question
at hand: WebStyle Accounting Sync under the discount (bookkeeping), Checkout Optimizer
Pro under shipping (free shipping with a code) and WebStyle Mail under sending personal
codes. Each mention can be closed for good and is not shown when that plugin is 
active.

Codes are kept in the plugin’s own database tables instead of as WooCommerce coupon
posts, so thousands of personal codes do not slow down your shop.

#### Sending codes

Other plugins can issue codes through a filter. WebStyle Mail uses it to put a personal
code in each newsletter.

#### For developers

Issue or fetch a recipient’s personal code in a campaign:

    ```
    $code = apply_filters( 'cnwscoupons_issue_code', '', array( 'campaign' => 'spring-offer', 'email' => 'customer@example.com', 'source' => 'my-plugin' ) );
    ```

The filter returns an empty string when the campaign does not exist, has ended, 
has issued all its codes, has a shared code, or the e-mail address is invalid.

List active campaigns with personal codes (slug => name):

    ```
    $campaigns = apply_filters( 'cnwscoupons_active_campaigns', array() );
    ```

Add-ons can change the WooCommerce coupon a code produces with the `cnwscoupons_coupon_data`
filter, store their own settings on a campaign (`cnwscoupons_extension_sanitizers`),
add fields to the campaign guide with the JavaScript filter `cnwscoupons.guide.shipping`,
and look up a code’s campaign with `cnwscoupons_campaign_for_code`.

WP-CLI: `wp webstyle-coupons create-campaign`, `list-campaigns`, `issue` and `codes`.

## Screenshots

[⌊The overview: codes issued and redeemed, what customers saved and the revenue 
for a period, with a chart and a table per category and campaign.⌉⌊The overview:
codes issued and redeemed, what customers saved and the revenue for a period, with
a chart and a table per category and campaign.⌉[

The overview: codes issued and redeemed, what customers saved and the revenue for
a period, with a chart and a table per category and campaign.

[⌊The discount step: the discount, and how WooCommerce calculates shipping in your
shop when the code is used.⌉⌊The discount step: the discount, and how WooCommerce
calculates shipping in your shop when the code is used.⌉[

The discount step: the discount, and how WooCommerce calculates shipping in your
shop when the code is used.

[⌊Decide which products, categories, tags, attribute values and countries the code
covers, picked from lists you can browse and search.⌉⌊Decide which products, categories,
tags, attribute values and countries the code covers, picked from lists you can 
browse and search.⌉[

Decide which products, categories, tags, attribute values and countries the code
covers, picked from lists you can browse and search.

[⌊Before you save, the guide sums up the campaign's rules in plain words.⌉⌊Before
you save, the guide sums up the campaign's rules in plain words.⌉[

Before you save, the guide sums up the campaign’s rules in plain words.

[⌊A campaign page with its figures, rules and the personal codes issued so far.⌉⌊
A campaign page with its figures, rules and the personal codes issued so far.⌉[

A campaign page with its figures, rules and the personal codes issued so far.

[⌊All campaigns with their discount, period, issued and used codes and savings.⌉⌊
All campaigns with their discount, period, issued and used codes and savings.⌉[

All campaigns with their discount, period, issued and used codes and savings.

## Installation

 1. Install and activate WooCommerce.
 2. Install the plugin from Plugins  Add New, or upload the ZIP file, and activate 
    it.
 3. Go to Marketing  Coupon campaigns and click Create campaign.
 4. For personal codes, open the campaign and paste e-mail addresses or upload a CSV
    file. A shared code is ready as soon as the campaign is saved.

## FAQ

### Do the codes appear under Marketing  Coupons?

No. They are served to WooCommerce on the fly from the plugin’s own tables, so they
do not appear in WooCommerce’s coupon list. The plugin shows them per campaign instead.

### What happens to a code when an order is cancelled?

The code is released and can be used again until it expires.

### Does the plugin contact any external service?

No. Everything stays in your shop’s database, and the admin screen loads no external
scripts or fonts.

### What personal data does the plugin store?

The e-mail address of each recipient of a personal code, and for each use the order
number, e-mail address, country, discount and order total. The codes and uses of
an e-mail address can be exported and erased with WordPress’ own tools under Tools
Export Personal Data and Erase Personal Data, and the plugin adds a suggested text
to your privacy policy.

### What happens to my data if I delete the plugin?

Campaigns, codes and their history are kept, so you do not lose your figures by 
mistake. To remove them when the plugin is deleted, set the option `cnwscoupons_delete_data_on_uninstall`
to `yes` first, for example with `wp option update cnwscoupons_delete_data_on_uninstall
yes`.

### Can a code give free shipping?

The free plugin never changes shipping: the discount is taken off the products, 
and the guide shows how WooCommerce calculates shipping in your shop when the code
is used. Free shipping with a code, a discount on shipping and a free-shipping threshold
measured before the discount come with Checkout Optimizer Pro, which adds these 
settings to the campaign guide.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“WebStyle Personal Coupons for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ christiann ](https://profiles.wordpress.org/cnwebstyle/)

[Translate “WebStyle Personal Coupons for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/webstyle-coupons)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/webstyle-coupons/),
check out the [SVN repository](https://plugins.svn.wordpress.org/webstyle-coupons/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/webstyle-coupons/)
by [RSS](https://plugins.trac.wordpress.org/log/webstyle-coupons/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release on WordPress.org.
 * Campaigns with categories, personal codes (one per e-mail address) and shared
   codes with limits, restrictions on products, categories, tags, attributes, countries,
   sale items and cart amount, virtual WooCommerce coupons, use counting on order
   status, overview with period and category filters, campaign screen with guide,
   code issuing and CSV export, WordPress privacy export and erasure, and WP-CLI
   commands.

## Meta

 *  Version **1.0.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [coupons](https://wordpress.org/plugins/tags/coupons/)[discount codes](https://wordpress.org/plugins/tags/discount-codes/)
   [newsletter](https://wordpress.org/plugins/tags/newsletter/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/webstyle-coupons/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/webstyle-coupons/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/webstyle-coupons/reviews/)

## Contributors

 *   [ christiann ](https://profiles.wordpress.org/cnwebstyle/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/webstyle-coupons/)