Coupons & Discounts
Create and manage discount codes to run promotions, reward loyal clients, or incentivize first-time bookings — with advanced product targeting, customer eligibility rules, and real-time analytics. Available on Plus plans and above.
Plus+Overview
The Coupons app is a full-featured promotional system with Shopify-level capabilities. Create discount codes that clients apply during checkout, with complete control over who can use them, what they apply to, and how many times they can be redeemed.
Key capabilities:
| Feature | Description |
|---|---|
| 3 Discount Types | Percentage off, fixed amount off, or free shipping |
| Product Targeting | Apply to all products, specific products, or specific categories |
| Customer Eligibility | All clients, specific clients, new customers only, or returning only |
| Usage Limits | Control total redemptions and per-customer limits |
| Validity Periods | Schedule promotions with start and end dates |
| Minimum Purchase | Require a minimum cart value for the coupon to apply |
| Combination Rules | Allow stacking with other coupons or combos |
| Real-Time Validation | 10-step server-side validation at checkout |
| Analytics | Track uses, revenue, and ROI per coupon |
Getting Started
Creating a Coupon
Open the Coupons app
Go to Dashboard → Apps → Coupons. You’ll see a grid of your existing coupons with status badges.
Click “Create Coupon”
Click the Create Coupon button to open the creation form.
Set the coupon code
Enter an uppercase alphanumeric code (e.g., SUMMER2025, WELCOME10, VIP50). This is what clients type at checkout.
Choose discount type and value
| Type | Value | Example |
|---|---|---|
| Percentage | Percentage off (0-100%) | 20% off entire order |
| Fixed Amount | Dollar amount off | $15 off order total |
| Free Shipping | Waives shipping cost | Free delivery |
Configure rules
Set usage limits, validity dates, and minimum purchase requirements (detailed in sections below).
Configure advanced targeting (optional)
Select which products or categories the coupon applies to, and which customers are eligible (detailed in Advanced Targeting section).
Save
Click Save. The coupon is ready — share the code with your clients.
Use clear, memorable coupon codes that relate to the promotion. “WELCOME10” for 10% off first order, “BLACKFRI25” for Black Friday 25% off, or “VIP50” for a $50 loyalty discount.
Discount Types
| Type | How It Works | Best For |
|---|---|---|
| Percentage | Deducts a percentage from the eligible total | Broad promotions, seasonal sales |
| Fixed Amount | Deducts a fixed dollar amount | Loyalty rewards, referral bonuses |
| Free Shipping | Removes shipping costs from the order | Encouraging online product purchases |
Discount calculation at checkout:
Subtotal: Sum of eligible products/services
Shipping: Calculated shipping cost
Coupon Discount: Based on type and value
Grand Total: max(0, Subtotal + Shipping - Coupon Discount)The grand total can never go below zero — if a coupon discount exceeds the order value, the total is simply $0.
Coupon Rules
Usage Limits
| Setting | Description | Default |
|---|---|---|
| Max Total Uses | Maximum number of times this coupon can be redeemed across all clients | Unlimited |
| Max Uses Per Customer | Maximum times a single client can use this coupon | 1 |
Examples:
- Flash sale: 100 total uses, 1 per customer = first 100 clients get the deal
- Loyalty reward: Unlimited total, 1 per customer = every client gets it once
- Ongoing promotion: Unlimited total, unlimited per customer = no restrictions
Validity Period
| Setting | Description |
|---|---|
| Start Date | When the coupon becomes active (optional) |
| End Date | When the coupon expires (optional) |
Leave both empty for an always-valid coupon. The system handles timezone conversion automatically.
Coupon statuses based on dates:
| Status | Condition |
|---|---|
| Active | Enabled and within valid date range |
| Inactive | Manually disabled |
| Scheduled | Start date is in the future |
| Expired | End date has passed |
Minimum Purchase
Set a minimum cart value that must be reached before the coupon can be applied. If the cart total is below the minimum, the client sees an error message with the required amount.
Advanced Targeting
Product Targeting
Control which products the coupon applies to:
| Applies To | Description |
|---|---|
| All Products | Coupon applies to everything in the cart (default) |
| Specific Products | Select individual products from a multi-select list |
| Specific Categories | Select product categories — coupon applies to all products in those categories |
When targeting specific products or categories, only the eligible items in the cart receive the discount. Non-eligible items are charged at full price.
Customer Eligibility
Control which clients can use the coupon:
| Eligibility | Description |
|---|---|
| All Customers | Anyone can use the coupon (default) |
| Specific Customers | Select individual clients from your CRM |
| New Customers Only | Only clients with no previous bookings or purchases |
| Returning Customers Only | Only clients who have made at least one previous booking or purchase |
Use “New Customers Only” for welcome discounts to attract first-time clients. Use “Returning Customers Only” for loyalty rewards that keep existing clients coming back.
Combination Rules
| Setting | Description |
|---|---|
| Combine with Other Coupons | Allow this coupon to be stacked with other active coupons |
| Combine with Combos | Allow this coupon to be applied on top of Combo Magico bundle discounts |
By default, coupons cannot be combined. Enable stacking only when you want to allow double discounts.
Checkout Integration
Customer Experience
When a client reaches the checkout page:
Enter coupon code
The client sees a “Have a coupon code?” section. They type their code in the input field.
Apply the coupon
Click Apply. The system validates the code in real time against all rules.
See the discount
If valid, a green checkmark appears with the discount amount. The order total updates immediately showing the original price, discount, and new total.
Complete the order
The client proceeds to payment with the discounted price. The coupon is recorded on the order.
Validation Rules
When a client applies a coupon, the system runs 10 validation checks server-side:
| # | Check | Error if Failed |
|---|---|---|
| 1 | Coupon exists | ”Invalid coupon code” |
| 2 | Coupon is active | ”This coupon is not active” |
| 3 | Within valid date range | ”This coupon has expired” |
| 4 | Total usage limit not exceeded | ”Coupon usage limit reached” |
| 5 | Per-customer limit not exceeded | ”You have already used this coupon” |
| 6 | Minimum purchase met | ”Minimum purchase of $X required” |
| 7 | Cart has eligible products | ”Coupon does not apply to products in cart” |
| 8 | Cart has eligible categories | ”Coupon does not apply to these product categories” |
| 9 | Customer is eligible | ”This coupon is not available for your account” |
| 10 | New/returning customer check | ”This coupon is for new customers only” |
All validation happens server-side via an edge function — it cannot be bypassed from the browser.
After Purchase
When an order is placed with a coupon:
- The coupon ID and code are saved on the order record
- The discount amount is recorded for reporting
- The coupon’s usage counter is incremented automatically
- The coupon analytics table is updated with daily metrics
Analytics
Tracked Metrics
Every coupon automatically tracks performance data:
| Metric | Description |
|---|---|
| Total Uses | Number of times the coupon has been redeemed |
| Total Discount Given | Sum of all discounts applied with this coupon |
| Total Revenue | Total order value of orders using this coupon |
| Unique Customers | Number of distinct clients who used the coupon |
| Average Order Value | Average order total for orders with this coupon |
Analytics Dashboard
Click on any coupon to view its performance:
- Summary cards with key metrics
- Daily breakdown showing usage trends over the last 30 days
- Revenue impact — how much revenue the coupon drove vs. how much discount was given
Track ROI by comparing “Total Revenue” against “Total Discount Given”. If a 20% coupon generates $5,000 in revenue with $1,000 in discounts, the net revenue impact is strongly positive.
Managing Coupons
Dashboard Actions
| Action | Description |
|---|---|
| Toggle Active | Enable or disable a coupon without deleting it |
| Copy Code | Copy the coupon code to clipboard for sharing |
| Edit | Modify any coupon setting |
| Delete | Permanently remove the coupon |
| View Analytics | See performance metrics |
Coupon Lifecycle
A typical coupon lifecycle:
- Create the coupon with rules and targeting
- Test by applying it on a test checkout
- Share the code via email, social media, or in-person
- Monitor analytics to track performance
- Adjust rules if needed (increase discount, extend dates)
- Deactivate when the promotion ends
Security
| Feature | Description |
|---|---|
| Server-Side Validation | All 10 checks run on the server — cannot be bypassed |
| Rate Limiting | 10 validation attempts per minute per IP address |
| Code Normalization | Codes are automatically converted to uppercase |
| RLS Policies | Professionals can only manage their own coupons |
| Encrypted Transport | All validation requests use HTTPS |
Plan Availability
| Feature | Free | Plus | Pro | Max | Ultra |
|---|---|---|---|---|---|
| Create coupons | — | Unlimited | Unlimited | Unlimited | Unlimited |
| Discount types | — | All 3 | All 3 | All 3 | All 3 |
| Usage limits | — | Yes | Yes | Yes | Yes |
| Validity periods | — | Yes | Yes | Yes | Yes |
| Minimum purchase | — | Yes | Yes | Yes | Yes |
| Product targeting | — | All only | All + specific | All + specific | All + specific |
| Category targeting | — | — | Yes | Yes | Yes |
| Customer eligibility | — | All only | All 4 options | All 4 options | All 4 options |
| Combination rules | — | — | Yes | Yes | Yes |
| Analytics | — | Basic | Full | Full | Full |
| Rate limiting | — | Yes | Yes | Yes | Yes |
Related
- E-Commerce — Products and orders where coupons are applied
- Checkout & Payments — Where clients enter coupon codes
- Combo Magico — Bundle discounts that can combine with coupons
- Email Marketing — Send coupon codes in email campaigns
- Client Management — Customer targeting for coupon eligibility