Coupon Codes
Create discount codes to attract new customers, reward loyal buyers, or run promotional campaigns on your marketplace.
Overview
Coupon codes let you offer discounts to your marketplace buyers. You can create codes that provide either a percentage or fixed amount discount, with full control over when and how they can be used.
- Percentage discounts — e.g., 20% off the order total
- Fixed amount discounts — e.g., $10 off
- Time-sensitive — set start and expiry dates
- Usage limits — total uses and per-customer limits
- Single-use codes — unique codes that work only once
- Minimum order amount — require a minimum spend
- Listing type scoping — restrict a coupon to specific listing types
- Listing scoping — restrict a coupon to specific individual listings
Where Buyers Enter Coupons
When enabled, buyers see a "Have a coupon code?" link on the product detail page (before Buy Now), the booking calendar, the shopping cart page, and the booking payment page. The discount is applied before the Stripe checkout. For service bookings, the coupon is carried through from the booking request to the payment step automatically.
Getting Started
To set up coupon codes for your marketplace:
- Go to Store Settings → Coupons tab
- Toggle Enable Coupon Codes on Checkout to on
- Click Create Coupon to add your first code
When enabled, buyers will see a "Have a coupon code?" field before payment
Creating a Coupon Code
When creating a coupon, you can configure the following options:
| Field | Description |
|---|---|
| Coupon Code | The code buyers will enter (e.g., SUMMER20). Automatically converted to uppercase. You can also click Generate for a random code. |
| Description | Internal note for your reference (not shown to buyers). |
| Discount Type | Percentage (e.g., 20% off) or Fixed Amount (e.g., $10 off). |
| Discount Value | The discount amount. For percentage: 1-100. For fixed: the amount in your store currency. |
| Single-use | When enabled, the code can only be used once by anyone. Good for unique promotional codes. |
| Max Total Uses | Maximum number of times this code can be used across all customers. Leave empty for unlimited. |
| Max Uses Per Customer | How many times a single customer can use this code. Leave empty for unlimited. |
| Starts At | When the coupon becomes active. Leave empty for immediately. |
| Expires At | When the coupon stops working. Leave empty for no expiry. |
| Minimum Order Amount | The minimum order total required to use this coupon. |
| Restrict to Listing Types | Limit this coupon to specific listing types (e.g., only "Regular Cleaning" but not "Specialized Services"). Leave unchecked for all types. |
| Restrict to Specific Listings | Limit this coupon to specific individual listings. Search by name or unique ID. Leave empty for all listings. |
Common Coupon Strategies
Welcome Discount
A percentage discount for new customers to encourage first purchases.
Example: WELCOME15 — 15% off, 1 use per customer
Flash Sale
A time-limited discount to create urgency.
Example: FLASH30 — 30% off, expires in 48 hours
Unique Codes
Single-use codes for influencer partnerships or email campaigns.
Example: XKJR8M42 — single-use, generated randomly
Fixed Discount
A flat amount off, with a minimum order requirement.
Example: SAVE10 — $10 off orders over $50
Coupon Scoping
By default, a coupon code works on any listing in your marketplace. You can optionally restrict coupons to:
- Specific listing types — use the checkboxes to select which listing types the coupon applies to. If a buyer tries to use the coupon on a different listing type, they will see "This coupon is not valid for this listing type".
- Specific listings — use the search field to find and select individual listings by name or unique ID. Selected listings appear as badges that can be removed with the × button. If a buyer tries to use the coupon on a different listing, they will see "This coupon is not valid for this listing".
You can combine both: for example, restrict a coupon to the "Regular Cleaning" listing type and to a specific cleaner's listing. Scoping is checked when the buyer enters the coupon, when they pay, and on the server to prevent bypasses.
Coupon Status
Each coupon shows a status badge so you can quickly see its state:
| Status | Meaning |
|---|---|
| Active | Coupon is live and can be used by buyers. |
| Scheduled | Coupon has a future start date and is not yet active. |
| Expired | Coupon has passed its expiry date. |
| Used up | Coupon has reached its maximum number of uses. |
| Inactive | Coupon has been manually deactivated by you. |
How It Works for Buyers
- Buyer clicks "Have a coupon code?" on the product page, booking calendar, cart, or booking payment page
- Enters the code and clicks Apply
- If valid, the discounted price is shown immediately
- For service bookings, the coupon is saved with the booking request and automatically applied when the buyer pays (after seller confirmation)
- Buyer proceeds to Stripe checkout with the discounted amount
- After payment, the coupon usage is recorded and counts toward limits
- The discounted price is shown on the manage bookings page, buyer dashboard, receipt PDF, and confirmation emails — with the original price crossed out and the coupon code displayed
Expired Coupons at Payment Time
If a buyer applies a coupon when requesting a service booking, but the coupon expires before the seller confirms and the buyer pays, the buyer will see a message that the coupon is no longer valid. They can still pay at the full price or enter a different coupon code.
Commission Calculation
When a coupon is applied, the marketplace commission is calculated on the discounted price, not the original price. This means both the marketplace owner and the seller share the discount proportionally.
Disabling Coupons
You can control coupon visibility in two ways:
- Toggle off "Enable Coupon Codes on Checkout" — hides the coupon input from all checkout pages. Your existing coupons stay in the database and can be re-enabled later.
- Deactivate individual coupons — use the toggle next to each coupon to deactivate it without deleting it.
Supported Checkout Flows
Coupon codes work across all checkout methods:
| Checkout Type | Coupon Support |
|---|---|
| Buy Now (product detail page) | Coupon input above Buy Now button |
| Shopping Cart | Coupon input in order summary |
| Booking Calendar | Coupon input below date/time selection (carried to payment) |
| Booking Payment | Coupon input before Pay Now (auto-filled if applied on calendar) |
| Quick Buy (listing cards) | No coupon input (goes directly to Stripe) |