WooCommerce Customer Coupons


Created: 07/2019

Latest updated: 01/2026- Updated version: 1.0.0

By: VillaTheme

Thank you for purchasing our plugin. If you have any questions that are beyond the scope of this documentation, please feel free to request support at our Support Forum. Thanks so much!

WooCommerce coupons are built-in discount tools that allow store owners to offer price reductions, free shipping, or special deals to customers. Coupons can be applied using a code or automatically when certain conditions are met, helping increase conversions and encourage purchases.

The WooCommerce Customer Coupon plugin extends the default WooCommerce coupon system by adding advanced customer targeting, automation, and flexible display options.

It allows you to create smarter coupons that are shown to the right customers, at the right time, and in the right place — without relying on manual coupon code entry or third-party tools.

Key Features

  • Customer-specific coupons: Restrict coupons by email address, user role, country, order history, or total spend.
  • Automatic coupon application: Apply coupons automatically when conditions are met, with no code required.
  • Virtual (single-use) coupons: Generate unique, one-time coupon codes in bulk for secure distribution.
  • Advanced scheduling: Control coupon availability by date, day of week, and time range.
  • Frontend coupon display: Show coupons via coupon lists, product page promotion messages, badges, and a floating coupon bar.
  • Coupon email: Send coupon details directly to eligible customers when coupons are created or updated.
  • Flexible design customization: Customize voucher layouts, badges, promotion messages, and the coupon bar with live previews.
  • Shortcodes support: Display coupons and promotion messages anywhere on your site using shortcodes.
  • Coupon categorization: Organize coupons into categories for easier management.

Benefits

With the WooCommerce Customer Coupon plugin, you can:

  • Deliver personalized discounts instead of generic coupon codes
  • Prevent coupon abuse using single-use and customer-restricted coupons
  • Increase conversions with automatic and well-timed discounts
  • Recover abandoned sales with targeted coupon visibility
  • Save time by automating coupon display and email delivery
  • Create cleaner, more professional coupon experiences on your store

 

 

Required:

  1. WordPress 5.0+
  2. PHP 7.0+
  3. WooCommerce 7.0+

 

Go to Plugin/ Add New/ Upload Plugin/ Choose file/ select plugin installable file /Install Now/ Active Plugin

 

Take a look at this tutorial

The Customer Coupon plugin extends WooCommerce coupons with customer-specific rules, automatic display, email delivery, and advanced design options.

Follow the steps below to use the plugin effectively.

Step 1: Configure Global Plugin Settings

Go to Dashboard → Marketing → Customer Coupons → Settings.

Configure:

  • General settings (where coupons are shown)
  • Email settings (coupon email content and design)
  • Design settings (voucher, badges, promotion messages, coupon bar)

These settings act as global defaults for all coupons.

 

Step 2: Create or Edit a WooCommerce Coupon

Go to Dashboard → Marketing → Coupons. Click Add Coupon or edit an existing one.

Configure standard WooCommerce coupon settings:

  • Discount type and amount
  • Usage limits
  • Product or cart restrictions

 

Step 3: Configure Customer Coupon Settings

Inside the coupon edit page, configure the additional sections added by the plugin:

Customer Coupon

  • Control frontend visibility
  • Enable auto-apply
  • Send coupon emails to allowed customers
  • Customize coupon title, description, and design (if needed)

Advanced Settings

Restrict coupon usage by:

  • First purchase
  • Total customer spend
  • Shipping method
  • Payment method
  • User role
  • Country (billing or shipping)

Scheduler

Set specific days and time ranges when the coupon is valid

 

Step 4: (Optional) Generate Virtual Coupons

Use this feature when you need unique, one-time coupon codes.

  1. Go to Dashboard → Marketing → Coupons.
  2. Choose a coupon.
  3. Click Bulk Aliases.
  4. Configure generation options and click Generate & Download.

The generated virtual coupons:

  • Are created automatically
  • Inherit all settings from the parent coupon
  • Can be used once
  • Can be sent directly to customers

 

Step 5: Categorize Coupons (Recommended)

  1. Create coupon categories in Customer Coupons → Coupon Categories.
  2. Assign categories when creating or updating coupons.

Categories help you organize coupons and do not affect discount behavior.

 

Step 6: Display Coupons on the Frontend

Depending on your settings, coupons can be shown via:

  • Coupon lists
  • Product page promotion messages
  • Coupon badges
  • Coupon bar
  • Shortcodes

You can control visibility globally or per coupon.

 

Step 7: Send Coupons to Customers

Coupons can be shared by:

  • Automatically sending emails to allowed customer emails
  • Manually sending coupon or virtual coupon codes
  • Displaying coupons on the frontend for eligible customers

Customers can apply coupons at checkout like standard WooCommerce coupons.

 

 

Virtual Coupons (Coupon Aliases)

Virtual Coupons (generated via Bulk Alias) are single-use coupon codes created from an existing coupon.

All settings are inherited from the original (parent) coupon.

Steps

  1. Go to Dashboard → Marketing → Coupons.
  2. Choose the coupon you want to use as the parent coupon.
  3. Click Bulk Aliases under the coupon name.
  4. Configure the options in the popup:
    • Quantity
    • Prefix (optional)
    • Suffix (optional)
    • Random length
  5. Click Generate & Download.

That’s it. The virtual coupons are now created.

 

After Creation

The generated coupons:

  • Are created automatically in Virtual Coupons
  • Inherit all settings and restrictions from the parent coupon
  • Can be used once per code

The admin only needs to send the generated coupon code(s) to customers.

Customers can apply the received code at checkout like a normal coupon.

 

 

Categories – Categorize Coupons

Coupon categories help you organize and manage coupons more easily. They do not affect how discounts are applied.

Step 1: Create Coupon Categories

  • Go to Marketing → Categories.
  • Add New Category: Enter a category name (for example: Marketing, One-Time Use, Refund).
  • Save the category.

You can create as many categories as needed.

 

Step 2: Assign a Category to a Coupon

  • Go to Marketing → Coupons.
  • Create a new coupon or edit an existing one.
  • Locate the Coupon Category option.
  • Select one or more categories for the coupon.
  • Publish or Update the coupon.

 

Step 3: Manage Coupons by Category

Use categories to filter coupons in the coupon list.

Group coupons by purpose (marketing, refunds, one-time use, etc.).

Quickly find and manage coupons later.

 

 

Setup Options


General settings

These settings control how coupons are displayed across your store frontend.

  • Show all coupons: Display all applicable coupons to customers.
  • Show on cart: Display applicable coupons on the Cart page.
  • Show on checkout: Display applicable coupons on the Checkout page.
  • Date format: Set the date format used when displaying coupon dates on the frontend.

 

 

Email

These settings control the email sent to customers when a coupon is published or updated with the “Send email” option enabled.

  • Send email: When a coupon is restricted using the Allowed emails option, an email will be sent to those email addresses when the coupon is created. An email will also be sent again if the coupon is updated.
  • Email subject: The subject line of the coupon email.
  • Email heading: The main heading displayed at the top of the email content.
  • Email content: The main body of the email. You can:
    • Add images and media
    • Write content using the visual or code editor
    • Use supported placeholders listed in the Shortcode section
    • Preview the email before saving
  • Shortcode: A list of supported placeholders that can be used in the email subject and content.
    • {site_title} – The title of your website.
    • {coupon_code} – Discount coupon code will be sent to customer.
    • {coupon_value} – The value of coupon, can be percentage or currency amount depending on coupon type, are replaced with real values when the email is sent.
    • {coupon_title} – The coupon title that you set on the coupon edit page.
    • {coupon_des} – Voucher description.
    • {date_expires} – Expiry date of the coupon.
    • {last_valid_date} – The last day that the coupon is valid to use.
    • {shop_now} – Button redirects to your site to use coupon, includes a live preview displayed directly below its placeholders.
  • Button “Shop now” title: Text displayed on the button.
  • Button “Shop now” url: The destination URL customers are redirected to when clicking the button.
  • Button “Shop now” design: Customize the button appearance. Changes are reflected immediately in the preview.
    • Background color
    • Color
    • Font size
    • Border radius

 

 

Design

The Design settings allow you to control how coupons, badges, promotion messages, and the coupon bar appear on the frontend.

Changes are reflected in the live preview where available.

Voucher

Coupons are shown on pages like:

 

 

These settings control the visual appearance and content of coupon vouchers displayed to customers.

  • Coupon date: Show the coupon expiration date on the voucher.
  • No expires text: Text displayed when the coupon does not have an expiration date.
  • Title default: Default title used when a coupon does not have a custom title.
  • Description default: Default description used when a coupon does not have a custom description.
  • Shortcode: Supported placeholders include
    • {coupon_code} – Discount coupon code will be sent to customer.
    • {coupon_value} – The value of coupon, can be percentage or currency amount depending on coupon type.
    • {min_spend} – The minimum spends that you set on the coupon edit page.
    • {max_spend} – The maximum spends that you set on the coupon edit page.
    • {coupon_used} – The number of times the coupon code was used
    • {coupon_left} – The number of remaining usable coupon codes
    • {coupon_total} – The total number of uses available for the coupon code
  • Template: Choose one of the six built-in templates and customize its related settings. Changes are reflected instantly in the preview.
  • Design: Adjust the options below to see real-time updates in the preview.

 

Coupon badge

 

Configure discount badges shown on product listing pages.

  • Badge enable: Display the best discount value for the product on the product list page
  • Loop badge title: Text displayed inside the badge.
  • Position on Archive page: Choose where the badge appears on the product card.
    • Before product title
    • After product title
    • After product price
    • After all product information
  • Design: Customize badge appearance with live preview.
    • Horizontal padding (px)
    • Vertical padding (px)
    • Color
    • Background color
    • Font size (px)

 

Promotion message

Control promotion message and/or promotion list shown on single product pages.

  • Position on the single product page: Select where the promotion message appears on the product page.
    • Not show
    • Before title
    • After title
    • After price
    • Before cart
    • After cart
    • After product Meta
  • Enable Promotion Message: Show a message highlighting the best available coupon savings.
  • Voucher list modal title: Title displayed at the top of the coupon list popup.
  • Message Template: Content template for the promotion message.
  • “View All” Text: Text for the link that opens the full coupon list.
  • Enable Promotion List: Display a list of available coupons ordered by discount value.
  • Promotions List Title: Title displayed above the coupon list.
  • Coupon Item Template: Text for each coupon in the promotion list.
  • Max coupons to show: Maximum number of coupons displayed in the list.
  • Open coupons list action: Choose how customers open the coupon list (click or hover).
    • Click “View all” to view all the coupons available.
    • Hover promotion message to view all the coupons available.
  • Design: Customize promotion message and list appearance with live preview.

 

 

Coupon bar

The coupon bar is a floating bar displayed at the top or bottom of the page. You can access it via:

  • Dashboard → Marketing → Customer Coupons → Design → Coupon Bar
  • Or WordPress Customizer → Coupon Bar

Hover over any section in the preview and click it to open the corresponding settings panel.

 

General Settings

  • Enable Coupon Bar: Turn the coupon bar on or off.
  • Position: Display the bar at the top or bottom of the page.
  • Show on: Choose where the coupon bar appears:
    • All Pages
    • Shop Pages Only
    • Product Pages Only
    • Homepage Only
    • Custom Pages: Enter Custom Page URLs – One URL per line (e.g., /shop, /category/electronics)
  • Show on Mobile: Display the coupon bar on mobile devices.
  • Show on Desktop: Display the coupon bar on desktop devices.
  • Select Coupon: Choose which coupon to display:
    • Expired soon coupon: Automatically selects the coupon closest to the expiration date. If no “eligible coupon ” is found, a random coupon (if available) is displayed in preview mode, but the bar remains hidden on the frontend
    • Select specific coupon: Manually choose a coupon by title – Fill in to Select custom coupon field
  • Enable First Visit Trigger: Show bar after 3 seconds for new visitors
  • Enable Exit Intent Trigger: Show when user is about to leave (desktop only)
  • Enable Scroll Depth Trigger: Show the coupon bar when the visitor scrolls down the page, show immediately if page has no scroll
    • Scroll Depth Percentage: Percentage of page scroll to trigger (1-100)
  • Enable Time on Site Trigger: Display the coupon bar after the visitor has spent a certain amount of time on the site
    • Time on Site (seconds): Seconds before triggering
  • Enable Existing Cart Items Trigger: Show when user has items in cart
  • Max Shows Per Session: Maximum number of times the coupon bar can be shown to a visitor during a single session.
  • Background Color: Background color of the coupon bar.

 

 

Coupon bar content

  • Available Shortcodes: List of supported placeholders for coupon bar content.
    • {coupon_code} — Discount coupon code will be sent to customer.
    • {coupon_value} — The value of coupon, can be percentage or currency amount depending on coupon type.
    • {min_spend} — The minimum spends that you set on the coupon edit page.
    • {max_spend} — The maximum spends that you set on the coupon edit page.
    • {coupon_used} — The number of times the coupon code was used
    • {coupon_left} — The number of remaining usable coupon codes
    • {coupon_total} — The total number of uses available for the coupon code
  • Content title: Main title displayed in the coupon bar.
  • Content description: Description text displayed in the coupon bar.
  • Badge text: Text displayed inside the small badge on top of the “Badge discount”.
  • Enable badge: Show a small badge on the coupon bar, on top of the “Badge discount”.
  • Badge color: Badge text color.
  • Badge Background: Badge background color.
  • Badge discount text: Text displaying the “Badge Discount”, commonly to show the discount value.
  • Badge Discount color: Badge Discount text color.
  • Badge discount background: Badge Discount background color.

 

Coupon bar meta

This may include a progress section with a “Claimed” indicator showing the usage limit per coupon, the number of times or orders it has been successfully used, a progress bar and/or a countdown timer.

  • Available Shortcodes: Placeholders supported for meta information.
    • {coupon_code} — Discount coupon code will be sent to customer.
    • {coupon_used} — The number of times the coupon code was used
    • {coupon_left} — The number of remaining usable coupon codes
    • {coupon_total} — The total number of uses available for the coupon code
  • Enable coupon bar progress: Show coupon usage progress in the bar.
  • Progress text: Text displayed next to the progress indicator.
  • Progress text color: Color of the progress text.
  • Progress Bar Fill: Fill color of the progress bar.
  • Enable coupon expiry countdown: Display a countdown timer until coupon expiration.

 

Coupon bar action

  • Available Shortcodes: Supported placeholders for action content.
    • {coupon_code} — Discount coupon code will be sent to customer.
    • {coupon_value} — The value of coupon, can be percentage or currency amount depending on coupon type.
  • Enable button: Display an action button in the coupon bar.
  • Button behavior: Choose what happens when the button is clicked.
    • Copy text
    • Redirect to specific page
    • Show products matching coupon
  • Button text: Text displayed on the button.
  • Button Background: Background color of the button.
  • Button Text Color: Text color of the button.

 

Shortcode

there’re 2 follwoing shortcode. copy them using the copy button in the settings page. each comes with list of param/attribute you can add

  •  Promotion message shortcode
    • product_id – Show coupon for specific product ( skip this for use currently global product )
    • enable_list – Show list coupon badge
    • list_title – Promotions list title
    • coupon_title – Coupon badge text template
    • list_item_count – Max coupon badge to show (default: 3)
    • message – Promotion message
    • view_all_text – Text for view all button
    • open_list_behavior – Open coupon list behavior (click or hover)
  • My coupons shortcode
    • coupon_type – Select coupon type (incoming, saved, all)
    • coupon_message – Title for list of “my coupons”

 

 

Single coupon setup options


After installing the Customer Coupon plugin, each coupon includes three additional sections::

These sections extend the default WooCommerce coupon settings and control how and when the coupon is displayed, applied, and restricted.

 

Customer Coupon

These settings control how the coupon is presented to customers and how it behaves on the frontend.

  • Send email: Choose whether this coupon should be sent to customers via email.
    • Yes: Always send email for this coupon
    • No: Never send email for this coupon
    • Global: Use the global plugin setting
  • Show on frontend: Control whether this coupon is visible on the frontend (coupon lists, widgets, or pages).
    • Yes: Always show this coupon
    • No: Never show this coupon
    • Global: Use the global plugin setting
  • Auto apply coupon: Automatically applies this coupon when all coupon conditions are met.
  • Show coupon date: Display the coupon’s valid date on the frontend.
    • Yes: Show the date
    • No: Hide the date
    • Global: Use the global plugin setting
  • Title: The coupon title displayed on the frontend.
  • Description: A short description shown to customers explaining the coupon.
  • Shortcode: Placeholders you can use to write the title and description
  • Started date: The date when the coupon becomes available. Default value is the coupon creation date.
  • Use custom design: Use a custom design for this coupon instead of the global design settings. Configure the options below to see the updates reflected in the preview
    • Left background color
    • Left text color
    • Left border color
    • Left content
    • Show badge
    • Badge text
    • Badge color
    • Badge background color

 

Advanced Settings

These options control who can use the coupon and under which conditions.

  • First purchase only: Only customers who have not placed any orders can apply this coupon.
  • Total spend: The total amount a customer must have spent in your store to use this coupon
  • Shipping methods: The coupon is applicable only if one of the selected shipping methods is used. Leave empty to allow all shipping methods.
  • Payment methods: The coupon is applicable only if one of the selected payment methods is used. Leave empty to allow all payment methods
  • Applicable Roles: The coupon is applicable only if the customer belongs to one of the selected user roles.
  • Restrict by country: Restrict coupon usage based on the customer’s country – from billing address or shipping address
  • Country: Select the countries allowed for the restriction above.

 

Scheduler

These settings allow you to control when the coupon is valid.

  • Enable coupon scheduler: Enable time-based restrictions for this coupon.  When enabled, the scheduler overrides the default coupon availability settings.
  • Days and time range: Define the valid days and time ranges for each day (Monday to Sunday).
  • Invalid days and time error message: Custom message shown to customers when the coupon is not valid due to the schedule.

 

 

Extra Information


Thank you for your attention!

If you have any question, please create a topic at our FORUM, we will support within 24 hours.