Introduction
Coupons lets you give customers percentage-off discount codes at checkout. You create the codes, set how much they take off, cap how often they can be used, and either publish them for everyone or share a private code with one customer. The discount is applied on the checkout page before any payment gateway is contacted, so it behaves the same across every gateway you have enabled. Coupons are deliberately simple and safe: they are percentage-only (so one code works in any currency) and apply to one-time plans only (prepaid and lifetime). Monthly and yearly subscriptions never show a coupon field.What it adds
- Coupons dashboard — Admin hub under Finance: headline stats plus the full, searchable list of codes.
- Create Coupons — generate one code or a whole batch, and set the discount, usage limits, expiry and code format.
- Redemptions log — a running record of every successful coupon use across the platform.
- Checkout coupon field — the “Have a coupon?” box customers see when buying a one-time plan.
- Profile section — where customers find codes shared with them and their own redemption history.
Coupons build on the platform’s billing and checkout, which come from the SaaS Business plugin. If SaaS isn’t installed and enabled there’s no paid checkout for a coupon to discount — enable SaaS first.
Core concepts
A few rules shape everything else. Understanding these first makes the rest obvious.- Percentage only. Each code takes off a fixed percentage from 1% to 100% — there are no fixed-amount coupons, so currency never matters.
- One-time plans only. Coupons apply to prepaid and lifetime plans. Monthly/yearly subscriptions are never eligible and never show the field.
- One use per customer. A given customer can redeem a given code only once.
- Total-use cap. Each code has a maximum number of redemptions across all customers.
- Recorded on success only. A code is marked used only after checkout actually completes — an abandoned or failed payment never consumes it.
- Open vs private. An open code can be used by any eligible customer up to its cap; a private code is tied to one customer’s email and only they can see and use it.
Installation
Coupons is distributed through the in-app plugin marketplace — installation happens inside your MagicAds admin. There’s no third-party download.1
Open the Plugins marketplace
Sign in as an admin and go to Admin → General Settings → Plugins. Find the Coupons card in the marketplace catalog.
2
Install / activate
Click Install on the Coupons card. What happens depends on your license and purchase state:
- Free / already owned → installs directly.
- Paid → routes you to the plugin checkout to complete the purchase.
- Extended License holders → plugins flagged “free for Extended License” install without an extra purchase.
Configure Coupons
There’s no API key and no external service to set up — Coupons runs entirely inside MagicAds. Configuration is a single switch at Admin → General Settings → Plugins → Coupons.
Toggle Enable Coupons and click Save.
Turning the feature off does not delete or deactivate any codes. It only hides the customer-facing field and profile section — existing codes simply stop being usable at checkout until you turn it back on.
Creating coupons
Go to Admin → Finance → Coupons → Create Coupons. The form is grouped into three parts.General
Quantity & usage rules
Code format
Control how the generated codes look. Ambiguous characters (like0/O and 1/I) are excluded automatically so codes are easy to read and share aloud.
A live Preview shows an example code as you adjust these. When you click Generate, the plugin creates the requested number of unique codes and returns you to the dashboard.
Sharing a code with a specific customer
You can tie a code to one customer so it only works for them and shows up on their profile. There are two ways to do it:- At creation — fill in Share with a User on the Create form with the customer’s email.
- After creation — on the Coupons dashboard, open a code’s actions menu, choose Share with user, then enter the email.
Using a coupon at checkout
This is the customer-facing experience once the feature is enabled. When a customer chooses a prepaid or lifetime plan and lands on checkout, a “Have a coupon?” box appears alongside the billing details and payment method. On monthly or yearly plans the box doesn’t appear at all — coupons don’t apply there.1
Enter the code
The customer types the code into the coupon box and clicks Apply.
2
See the discount
On success, the order summary updates to show the subtotal, the coupon discount (with the code and percentage), and the new total due today. If the code is wrong, expired, used up, or not theirs, a clear message explains why.
3
Pay the discounted amount
The customer picks a payment method and pays. The gateway charges the already-discounted total — the discount is applied before the gateway is ever contacted, so it works the same on every provider.
A coupon can be used only once per customer. If the same customer tries to reuse a code they’ve already redeemed, checkout will tell them it has already been used.
When a coupon covers the full price (100%)
If the applied code is for 100%, the total becomes zero — so there’s nothing to charge. In that case:- The payment-method section is replaced with a “No payment required” notice.
- The button changes to Activate plan.
- On confirm, the plan is granted instantly without contacting any payment gateway, avoiding zero-value charge errors.
After checkout
Once the purchase completes:- The coupon is marked used — and only now, never before. An abandoned or failed payment never consumes it.
- The order/transaction shows a small note with the coupon code and the percentage applied.
- The code appears in the customer’s redeemed coupons history on their profile.
Tracking usage & reporting
Admin dashboard
Admin → Finance → Coupons shows headline stats at a glance:
Below the stats, the full list of codes is searchable and sortable, and each code shows its discount, uses against its cap, whether it’s open or shared, its status and its expiry.
Per-code detail & customer profile
Open any code to see its settings and the list of customers who have used it. A separate Redemptions log on the dashboard shows every use across all codes — who used it, which code, the percentage, the amount saved and when. Each customer’s profile also has a Coupons section showing codes shared privately with them (which they can copy) and their history of redeemed codes.Go-live checklist
1
Install the plugin
Admin → General Settings → Plugins → Coupons → Install.
2
Enable the feature
Coupons config → turn on Enable Coupons → Save.
3
Create a code
Admin → Finance → Coupons → Create Coupons. Set the percentage, usage limits and code format, then Generate.
4
(Optional) Share it
Share a private code with a specific customer by email, or leave it open for everyone.
5
Verify as a customer
Log in as a customer, start checkout on a one-time plan (prepaid or lifetime), apply the code, and confirm the discounted total.
Once every step above is green, Coupons is live and customers can start redeeming codes.
Troubleshooting
A coupon is only ever consumed on a successful checkout. Applying a code and then abandoning the purchase — or a payment that fails — never uses up the code.

