Create discount coupons (advanced)
Flat or % off, free shipping, cashback to the customer's wallet, new-customer-only, one-per-customer, day/hour windows, product/category limits, show-on-checkout cards, presets.
Watch0:467 min readUpdated 14 Sep 2026
In this guide


- 1New offerStart from a ready-made offer instead of a blank form.
Some products can opt out: in a product’s Who can buy & how much section you can switch on “No coupons on this product”. Coupon codes then skip that item — the customer still gets the discount on everything else in their cart, and a percentage coupon is calculated only on the items it’s allowed to touch.
Creating a coupon
A coupon is the fastest discount you can run — create a code, share it, and customers type it at checkout to see the price drop instantly. Use one for a festival sale, a welcome offer, or a thank-you for regulars.
Open Coupons from Manage
Click the Coupons tile. Click Create at the top right.
Pick the code
Short, memorable, uppercase is conventional — WELCOME20, DIWALI500, FREEDEL. Don't worry about capital vs small letters — at checkout the code matches either way.
Set discount type + value
- Percentage — e.g. 20% off. Applies to the items total, before GST and shipping.
- Flat ₹ amount — e.g. ₹100 off. Never exceeds the cart total (no negative bills).
- Free shipping — zeroes the shipping fee, leaves product prices untouched. The server checks the coupon itself, so this can't be faked from the browser.
Rules (optional)
- Minimum order — e.g. only apply if the cart is at least ₹999.
- Maximum discount (percentage coupons only) — stops a big cart from getting a runaway discount.
- Total max uses — hard cap, e.g. "first 100 only". Leave empty for unlimited.
- Expires on — the coupon stops working after this date. Leave empty for no expiry.
- Active toggle — turn any coupon on/off without deleting it.
- One-time per customer — switch this on and the same phone number can redeem the code only once on your shop. Most welcome offers want this.
Save → share
Copy the code and share it on WhatsApp, Instagram or SMS — a WhatsApp broadcast is a one-click way to reach all your customers. You'll see the usage count tick up on the Coupons page. If you run an influencer program, a coupon can be linked to an influencer so every sale through their code counts toward their commission.
Quick-start presets
Presets are ready-made coupons for the most common promotions — pick one on the create form and every field fills itself with sensible values you can still tweak. Use them when you want a proven offer running in under a minute.
- Welcome 10% — first-time customers, 10% off, maximum ₹500 discount, one-time use.
- First Order ₹100 Off — flat ₹100 off for first orders above ₹499.
- Weekend Special — 15% off on Saturdays + Sundays only, maximum ₹300 discount.
- Happy Hour — 20% off, valid 6 PM to 9 PM IST, maximum ₹200 discount.
- Free Shipping — free shipping on orders above ₹999.
- VIP / Loyalty — flat ₹250 off, one use per customer, minimum cart ₹1499.


Three reward modes — discount, cashback, or both
The first choice on the create form — "What does this coupon give?" — is what your coupon actually gives the customer. An instant discount wins the sale today; cashback brings the customer back for the next one.
- Just instant discount — most common. The customer sees the savings off the bill at checkout. Standard percentage / flat ₹ / free shipping.
- Just cashback to wallet — no instant discount. The customer pays full price, and money is added to their store wallet after delivery, for use on the next order. Drives repeat purchases.
- Both — instant discount NOW + cashback for next time. The most powerful combo: "WELCOME10 — 10% off now + 5% cashback for your next order".
Advanced rules — every option explained
The create form has numbered sections for limits, eligibility, product restrictions, timing and stacking. Every rule is optional — leave a field empty and it simply doesn't apply.
Usage limits
- Total max uses — hard cap across all customers (e.g. "first 100 redemptions only"). Empty = unlimited.
- Max uses per customer — e.g. "each customer can use this 3 times". Useful for periodic promos. Counted by phone number.
- One-time per customer — the same phone number can use this code only once on your shop. When this is on, the "max uses per customer" box is ignored. Most common pattern.
Customer eligibility
- New customers only — the server checks your order history for prior non-cancelled orders from this phone number. If any exist, the coupon rejects with "This coupon is only for first-time customers".
- Welcome bonus — tags this coupon as your welcome offer for first-time visitors. To make sure new customers actually see it without knowing the code, also switch on Show on checkout (see below) — the offer then appears as a tappable card at checkout.
Product & category restrictions
- Apply only to these categories — tap category chips to select. The discount only counts items in those categories (a product qualifies if any of its categories is selected). If you use subcategories, parent categories appear as chips too (even before any product sits in them directly) — picking a parent covers everything nested under it. Empty = all categories.
- Or specific products — a searchable product picker with thumbnails. Search, tap products to select, or use Select all matching to bulk-select everything the search found. Useful for clearance ("20% off these 5 items"). Empty = all products.
- Exclude sale items — items already showing a cut price (original price higher than current) are skipped from the discount. Prevents stacking sale prices with coupons. If everything in the cart is on sale, the coupon politely refuses.
Time restrictions
- Active days of week — tap day chips to pick when the coupon works. Empty = all days. Example: Sat + Sun for "Weekend Special".
- Active hours — an IST hour window. Both "from" and "to" must be set together. Overnight windows work:
10 PM → 2 AMcovers late-night orders. Empty = all day.
Stacking with loyalty points
- Stackable with loyalty points — when ON (the default), customers can use this coupon AND redeem their loyalty points on the same order. Both savings show as separate lines at checkout.
Show on checkout — promote a coupon without sharing the code
Normally a customer must know your code. Switch on Show on checkout (in the Usage Limits section) and the coupon appears as a tappable card above the "Have a coupon?" box at checkout — Instamart-style. One tap applies it; no code to remember. Use it for the offer you want everyone to get.
- The coupon must be Active — expired or fully-redeemed coupons drop off the checkout automatically.
- Up to 12 cards show, biggest savings first.
- Customers only see the public details (code, discount, minimum order, expiry) — never your usage limits or cashback settings. Tapping a card goes through the exact same server checks as typing the code.
- On your Coupons list, promoted coupons carry a pink On Checkout ribbon in the card's corner, the counter at the top of the page shows how many you have, and an On checkout filter pill puts them together.
Cashback — money back to the customer's wallet
Cashback rewards the customer with store credit instead of an upfront discount — they pay full price today and get money in their store wallet to spend on the next order. It's the strongest repeat-purchase tool a coupon has.
- Percentage cashback — e.g. "5% back" → on a ₹500 order they get ₹25 in their wallet.
- Fixed cashback — e.g. "₹100 back" regardless of order size.
- Maximum cashback (percentage only) — e.g. "5% back, max ₹200".
- Cashback expires after (days) — per-coupon override of the site-wide expiry. Common: 30 days for urgency, 60 for festive (Diwali), 90 balanced, 365 Flipkart-style. Leave empty to use the site setting from Wallet settings.
Wallet must be enabled on your site for cashback to credit. Open the Wallet settings page first if you haven't.
- When does cashback credit? Only after the order is marked delivered — for every payment method. Safer for both sides: if the order is cancelled before delivery, no cashback was ever given.
- Reversal — if a delivered order is later cancelled, the cashback is automatically debited from the customer's wallet. If they already spent it, the reversal takes only what's left in the balance (money already spent can't be pulled back — the wallet never goes negative).
- Notification — the customer gets a WhatsApp message when the credit lands, e.g. "₹50 cashback credited on YourStore. New balance: ₹550."
- Combo with discount — pick the "Both" reward mode for instant discount + cashback together. The cashback is calculated on the items value after the discount (GST and shipping excluded), which is the fair basis.
- Not on orders you type in yourself — a cashback coupon is refused on a manual or cloned order, on purpose: an order you created for a customer must never mint wallet money out of thin air. Use an ordinary discount coupon there, or add the credit from the wallet page where it is recorded as your decision.
Real-world examples
Recipes you can copy straight into the form — each is just a combination of the rules above.
- Diwali festival: 15% off, maximum ₹500, expires Nov 5, all days.
- Cart recovery: ₹100 off, one-time per customer, minimum cart ₹999, expires in 7 days — mention it in your abandoned-cart WhatsApp message.
- VIP comeback: ₹250 off, one-time per customer, minimum cart ₹1499 — share personally with high-value customers on WhatsApp.
- New product launch: 25% off — restrict to specific products (the new arrivals only).
- Tuesday slow-day boost: 10% off, days = Tuesday only. Drives traffic on quiet days.
- Lunch hour deal (cafe/bakery): 15% off, hours 12 PM – 3 PM IST.
- Repeat-purchase nudge: 5% cashback, no instant discount. Customer pays full price now, gets 5% in the wallet on delivery — they come back to spend it.
- Welcome combo: 10% off NOW + 5% cashback, new customers only, one-time per customer — and Show on checkout so first-timers can't miss it.
- Festive bonanza: ₹100 off + ₹50 cashback, minimum cart ₹999, valid Diwali week only.
Security — why customers can't cheat the rules
Every rule you set is enforced on the server when the order is actually placed — not just when the code is typed — so a discount can never be tricked out of your shop.
At order time the server re-checks everything: the customer's order history, the day and time, the products in the cart, the usage caps — and recalculates the discount itself. Nothing from the customer's browser is trusted. Only one coupon applies per order, and the usage counter can never overshoot a total-max-uses cap — the count-up is an all-or-nothing database step, even when two customers grab the last slot at the same second. Each rejection shows a clear message ("This coupon is only valid on: Saturday, Sunday", "You have already used this coupon", and so on).
Creating an order yourself? On a manual order you can apply any of your coupons as a business decision — the first-order and per-customer checks are skipped for you. Cashback coupons are the one exception: they can't be used on manual orders (wallet credit must come from real online sales).
Seeing usage
The Coupons list is your scoreboard — it shows at a glance which offers are working and which rules each code carries, so you know what to extend and what to switch off.
- Used counter — each card shows "Used 12/100" with a progress bar when there's a cap, plus the expiry and created dates.
- Restriction pills — every active rule shows as a small badge (Min ₹500, 🆕 New customers, Auto-apply, 1 per customer, Sat,Sun, 6 PM–9 PM, 3 products, +5% cashback, No sale items, Not stackable…) so you can spot a coupon's rules at a glance. Auto-apply marks a coupon you tagged as the welcome bonus.
- Filter pills — switch between All / Active / On checkout / Expired / Inactive. The row appears once you have 4 or more coupons, and each pill shows only when it has something in it.
- Report — the Report button at the top downloads a coupon-performance report (orders, revenue, discount given per code). More on downloads in Reports & exports.
More in Customers & marketing
Did this answer your question?
It takes one tap and it genuinely changes what we write next.