Create and manage offers

Set up discount codes and automatic offers, control how deep they can go, and understand which offer a customer gets when more than one could apply.

An offer is one discount rule. You choose what has to be true for it to apply, what the customer gets, and where it runs — your online store, your point of sale, or both. StoreMink re-checks every rule on the server at checkout, so changing the page cannot bypass a limit you set.

A discount code is a delivery method, not a separate feature

Every offer chooses how it reaches a customer: automatically, on a code the shopper enters, or from a shareable link. The rule itself is the same either way, so you can turn a code into an automatic offer without rebuilding it.

Offers on particular products

An offer does not have to apply to the whole order. Choose the products, variants or categories it covers and it will discount only those lines.

There are two shapes, and the one you pick decides what the customer sees:

  • A percentage off the chosen items — for example 20% off everything in one category.
  • A set price per item — for example any t-shirt at ₹499. An item already cheaper than that is left alone; a set price never raises a price to meet the offer.

Buy one get one, and similar

Choose how many a customer buys and how many they then get, and whether those are free or reduced. "Buy 1 get 1 free", "buy 2 get 1 free" and "buy 1 get 1 half price" are all the same offer with different numbers.

Three details decide what customers actually receive, and they are the ones most often misjudged:

  • A set is the buy count plus the get count. On buy 1 get 1, two items are one set and three items are still one set — the third is charged normally until a fourth completes the next set.
  • The cheapest qualifying items are the discounted ones. This is the usual retail practice and it is what "three for the price of two" means.
  • Items are counted across the basket, not per line. Three different products from the same category can complete one set between them.

Set a limit on sets per order unless you mean the offer to repeat without end. Without one, a basket of twenty items on buy 1 get 1 gives ten away.

When a basket is one item short of a set, the cart says so.

Spend more, save more

Set several order values, each with a bigger discount. A customer gets the highest level their order reaches — never two levels added together. A ladder of 5% over ₹1,000, 10% over ₹2,500 and 15% over ₹5,000 gives a ₹3,000 order 10%, not 15%.

Levels are judged on the order total before any discount, so reaching a level can never push the order back below it.

Each level has to give more than the one below it. A higher level worth the same or less would simply never apply, and the offer will not save until you correct it.

You can build the ladder in percentages or in rupees, but not both in one offer.

Buy more, save more

Set several quantities, each with a bigger percentage. Choose the products or categories it covers, and items are counted together across those choices — six of one flavour and six of another reach a twelve-item level between them.

Once a level is reached, every one of those items is discounted, not only the ones above the number. On "6 or more, 10% off", a basket of six gets 10% off all six.

Because the level depends on how many are in the basket, a product page cannot show this as a per-item saving — the discount appears in the basket once the quantity is reached. Customers are told how many more they need as they get close.

Free delivery

Choose Free delivery as the reward, usually with a minimum order value — "free delivery over ₹500" is one offer, and the most common one there is.

It only ever makes delivery cheaper. Your standing delivery settings still apply, and the customer is charged the lower of the two. So if your settings already give free delivery over ₹999 and you run an offer for free delivery over ₹500, you have temporarily lowered your threshold to ₹500 — a ₹1,200 order still ships free, and a ₹600 order now does too. An offer can never raise a delivery charge.

Free delivery applies alongside a discount, not instead of one. Unlike two discounts, where the best one is chosen, delivery is a separate part of the bill — a customer can have 20% off and free delivery from two different offers at the same time.

⚠ You still pay the courier. If your delivery rates come from Shiprocket, the price is quoted live from the carrier, and a free-delivery offer sets the customer's charge to zero while your own courier cost is unchanged. That cost does not appear anywhere on the order, so it is easy to miss: check what you normally pay for delivery before setting the minimum order value, and set a budget on the offer if you want a ceiling on the total given away.

Free delivery is a website offer. A register sale has nothing to deliver, so an offer using it must be set to your website — you will be told if you try to save one for the register.

Customers who are close to qualifying are told how much more to add, which is what makes this offer work. See "Telling customers they are close" below.

Free gift with an order

Choose Free gift as the reward, pick the product, and set a minimum order value — "a free tumbler on orders over ₹2,000".

The gift is a real item, not a discount. It is added to the order at ₹0, its stock is reserved exactly as it would be if the customer had bought it, and it appears on the order, the invoice, the receipt and the confirmation email. That means your stock count stays correct — the unit you gave away is recorded as having left the shelf.

The offer stops on its own when the gift runs out. Availability is checked before the offer is shown, so customers are never promised a gift you cannot send. When it is back in stock the offer resumes with no action from you.

One gift per order, even if two gift offers would qualify — each one is real stock going out of the door.

A gift applies alongside a discount, not instead of one. A customer can have 20% off from one offer and a free gift from another at the same time.

At the register, the till shows a "Hand over" line so the cashier knows to give the gift. Nothing in the totals changes, because the gift is free — the reminder is the whole point.

Returns: if a customer returns the items they paid for, the gift is not automatically clawed back. Decide your own policy and tell customers what it is.

⚠ Tax on free goods — check with your accountant. The gift line records the gift's own tax class, and because the value is zero the tax calculated is zero. Whether GST is actually due on a free item given with a sale, and whether input credit has to be reversed, depends on your circumstances. StoreMink records the figures; it does not advise on the treatment. Confirm it with a professional before relying on this in a return.

Bundles — any few items for one price

Choose Bundle price, pick the products or categories it covers, and set how many make a bundle and what the bundle costs — "any 3 tees for ₹999".

Items are counted across the basket, so three different tees make one bundle between them. If the basket holds more than one bundle's worth, the offer repeats unless you set a limit.

The most expensive qualifying items go into the bundle. That is deliberate: it gives the customer the biggest saving, and it is the only way round that cannot accidentally charge more than the items were worth. If the items that would go into a bundle come to less than the bundle price, the offer does not apply to them at all — a bundle can never raise a price.

This is an "any N from this group" bundle. Requiring one specific product plus another specific product is not supported.

Cashback as store credit

Choose Store credit back and set an amount — "₹100 credit on orders over ₹2,000".

Cashback is not a discount. The customer pays the full price today and receives store credit afterwards, which they can spend on a later order. It does not reduce the order total, it does not change the tax, and it does not appear on the invoice — because nothing about what they paid has changed.

The credit is added once the order is placed, and it appears in the customer's account alongside any refunds they hold. In your credit records it is listed as cashback, kept separate from credit you granted by hand and from refunds, so you can see what your offers actually cost.

⚠ It is money you owe. Unlike a discount, which costs you once, cashback creates a balance the customer can spend at any time. Set a budget on the offer if you want a ceiling on how much you issue.

Letting Mink AI help with offers

If your store is in the Mink AI beta and your operator has switched the offer permissions on, you can ask Mink to draft an offer for you. Three things are always true, and they are what make it safe:

  • Mink never changes anything on its own. It prepares a proposal you read and approve. Nothing is written until you approve it, and the approval is only valid for a few minutes.
  • An offer Mink creates is switched off. Turning it on is a separate approval with its own preview, so you can take as long as you like reviewing the terms — a switched-off offer costs nothing.
  • Every offer Mink proposes must have a total budget. This is not optional and cannot be removed at approval. A discount code needs a customer to type it; an automatic offer applies itself to every qualifying order the moment it goes live, so the budget is the difference between a mistake that costs a set amount and one that costs whatever your weekend traffic was.

Mink can propose a percentage or a rupee amount off an order, with an optional minimum order value, an end date and a usage limit. It cannot propose bundles, free gifts, spending ladders or free delivery — those change your stock, your delivery costs or money you owe, in ways a single approval screen cannot show you honestly, so you set them up yourself.

A proposed discount can never be deeper than your own per-order discount limit, and that limit is checked again at the moment you approve — so tightening it takes effect on proposals already written.

Mink can change an offer's terms only while it is switched off, because editing a live offer changes what every basket in progress is being quoted. It can undo an offer it created only while that offer has never been switched on and has never applied to an order.

Your operator controls each permission separately and can withdraw any of them at any time. Drafting offers and switching them on are different permissions.

How far a buy X get Y offer repeats

By default it repeats for as long as the basket allows. On "buy 1, get 1 free", four items means the customer pays for two and two are free; six means they pay for three. That is what the offer's name promises, so it is what it does.

Items are counted across the whole basket, not per line — two of one flavour and two of another still make two sets. The cheapest qualifying items are the ones discounted, which is the customer-friendly reading and the one that can never charge more than the goods were worth.

Max sets per order caps it. Leave it blank unless you specifically mean "one free item per order, however many they buy" — with it set to 1, a basket of four earns exactly one free item, and a shopper who added a fourth expecting two will be charged for three.

To limit what you give away, use a total budget instead. A budget under Limits stops the offer once it has given away the amount you set, across every order. It bounds your cost directly, where a set limit bounds each basket and changes what the offer means. The same applies to bundle offers and their Max bundles per order.

Extra conditions

Any offer can carry extra requirements on top of its main rule. All of them must be true for the offer to apply — they narrow it, they never widen it. If you want either of two situations to qualify, make two offers; the best one for the customer is chosen automatically.

  • Payment method — for example ₹50 off when the customer pays online rather than cash on delivery. Website only (see below).
  • Delivery or pickup — for example 5% off orders collected from a shop. Website only.
  • First order only — applies to a customer's first order with you. It requires a signed-in customer, because there is no order history to check for a guest, so a guest checkout will not qualify.
  • Days and times — a happy hour, or a weekend offer. Choose the days and a start and end time.

Times use your store's timezone, not the customer's, so the window means the same thing to everyone. Set your timezone in Settings. A window that ends earlier than it starts runs past midnight — "Friday, 10pm to 2am" is one four-hour evening that reaches into Saturday morning, and it counts as Friday's offer. For all day, simply leave the time condition off rather than setting the same start and end.

Payment method and delivery/pickup work on your website only, and an offer using them has to be set to your website. At the register the total is shown before payment is taken, so it cannot change once a method is chosen; and a register sale is neither a delivery nor a collection. You will be told if you try to save one for the register.

A customer is never told they are close to an offer they cannot have. If an offer is blocked by one of these conditions, no "spend a little more" message appears for it.

Conditions based on what is in the basket

You can also require the basket to contain something before an order-level offer applies — "10% off your order when it includes a shake". Choose the products or categories in the same place, and they decide what qualifies.

The difference is worth knowing, because it is easy to pick the wrong one:

  • An offer that takes a percentage off the chosen items discounts only those items.
  • An offer that takes a percentage off the order and requires those items discounts the whole basket once it qualifies.

Automatic offers need to be switched on for your store

An offer set to apply automatically only runs when your store allows automatic offers at all. Open Offers → Offer settings: Apply offers automatically has to be on.

It is on unless you turned it off. If you have never touched this setting, automatic offers are already running and there is nothing to switch on.

While it is off, an automatic offer is listed as Not applying rather than Active, and the offer editor says the same thing next to the delivery setting. Nothing is wrong with the offer itself — turn the switch on and it starts working immediately, online and at your till, with no other change.

Offers with a discount code are never affected by this switch. A code a customer enters always works, so a store that only sends codes can leave automatic offers off.

Discount codes, and showing them on your storefront

Choose A coupon — a percentage or an amount off, then pick which of the two it is. Set Delivery to With a discount code and give it a code; the code is not case-sensitive and spaces are removed.

Show this coupon on my storefront lists the code in the cart under “Available coupons”, where any shopper can apply it in one tap. It is off by default on purpose: most codes are targeted — emailed to a segment, or printed on a flyer — and listing one publicly undoes exactly the targeting you set up. Turn it on for a code you are happy for anyone to use.

The tick box appears only for a coupon on a code. A buy X get Y, a bundle or a quantity break can be put on a code and will work at checkout, but it cannot be listed: the cart shows a saving next to each code, and those rewards depend on the whole basket, so there is no single figure to show before the customer has built one.

Best offer wins

When more than one of your offers could apply to the same order, StoreMink applies the combination that saves the customer the most. Offers do not stack: a basket line carries one offer, and an order carries one order-level offer.

This means the system chooses which offer applies, not you. If two offers save exactly the same amount, the one with the higher priority wins. Priority only decides ties — it never overrides a genuinely better saving.

Keeping an offer safe

Because the system actively looks for the most generous offer that applies, two limits are worth setting on every offer you create.

  • A total budget. The offer stops once it has given away the amount you set. This is what stops a mistyped offer running all weekend.
  • A usage limit. Cap redemptions in total, per customer, or both.

There is also a store-wide ceiling on how deep any single order can be discounted, in Settings. No combination of offers can take an order past it.

Offers and sale prices

Some products already carry a sale price. You choose how offers treat those in Settings.

  • Best price wins (the default) — the customer pays whichever is lower, the sale price or the offer price. The two are never combined.
  • Skip sale items — offers do not apply to anything already on a sale price.
  • Stack on sale prices — the offer applies on top of the sale price. Choose this deliberately: it is what an "extra 20% off sale" promotion needs, and it discounts twice.

Your choice applies both on your online store and at the register, so the same basket is priced the same way in either place.

What shoppers see

An offer that applies shows up in three places, and you do not have to set any of them up.

On product cards and product pages. Where an offer takes a straightforward amount off one item, the product shows the saving — "20% off". Where the offer is about buying more than one — buy X get Y, a bundle price, or a quantity break — there is no single-item saving to quote, so the product shows the offer's terms instead: "Buy 1, get 1 free". Either way it is checked against the real rules first, so a product never advertises an offer the basket would then refuse. Turn both off with Show offer badges on your storefront in Offers → Offer settings.

In the cart, when a shopper is close. If they hold one eligible product on a buy-1-get-1, the message names what to add — for example, "Add 1 more Almond shake to get one free". This is switched off with Tell shoppers when they are close to an offer. It is never shown for an offer that needs a discount code or is limited to a customer group, because that would reveal targeting you set deliberately. It also stops once your Max sets per order limit is reached, since a further item would earn nothing.

On the checkout summary. The discount appears as its own line, named after the offer, above the total — so the customer can see why the basket got cheaper, and the figure matches what they are charged. Free delivery and a free gift appear as their own lines rather than as money off, because neither changes what the goods cost.

When a cart is close to qualifying for an offer, it shows how much more the shopper needs to add. This never happens for an offer that needs a code, or one restricted to a customer group — otherwise a code you sent to selected customers would be shown to everyone.

Your existing coupons

Every coupon you already had is now an offer, with the same code, the same discount, the same dates and the same usage limit. Nothing changed for your customers, and any code you have advertised keeps working. Migrated coupons apply on your online store only, because that is where they worked before; edit an offer if you want it available at your point of sale too.

What offers do not do yet

An offer cannot be applied to an order that has already been placed. If goods are damaged when a customer collects an order, use a partial refund or store credit — both keep a proper record against the invoice that was already issued.

Offers on specific products or categories, buy-one-get-one, spend-more-save-more tiers, free delivery and gift-with-purchase are not available yet. Today an offer applies a percentage or a rupee amount to the whole order.