How to set up Discount Coupons

What can coupons be used for?

In this tutorial you will learn how to create new coupon codes, and configure them accordingly for your particular operational /marketing objective.  The Coupons addressed here are our white-label “out of the box” system.  For Clients who uses external coupon validation, this tutorial does NOT fully apply. 

Here’s a summary of 3 typical use-cases of Coupons.


“Everyone can use more than once until Christmas.”

This is the most typical use of coupon codes in the ecommerce world.  You can broadcast coupons for an entire category or products, or just a particular SKU.  You can bracket them by time and date and even by customer groups. (if you have segmented your users into Groups)

Customer Acquisition

“Everyone can use, but each person can only use it once.”

Our Apps do not require users to create an account or login before using it as we do not want to add friction to them exploring.  A welcome code gets them over the first hump to buy something and experience the smooth shopping experience that a native app provides.  This can be limited to once per user, so that anyone can use it, but only once.

Service Recovery/CS

“Only can use once, up to a fixed value.”

A common way of “refunding” a customer who has a sub-par shopping experience is to give them a coupon for the same value of their prior purchase, or even a 100% discount on a particular range of products for them to try something else.  You can limit the number of uses or even limit it to a particular user via his email/loginID.


Coupon List in Cart payment page

Based on requests and operational needs of some clients, we have implemented coupon reminders for your customers.  We have been progressively rolling this out and from Dec’2023, your customers will see a list of coupon codes that are relevant to whatever is in their cart. (for example, if there is an active coupon for Wall Decor, but they only have prints, they will not see the Wall Decor coupons)

They can of course, still enter another coupon code (maybe something that was shared with them for customer service purposes), or they may have a “Friend get Friend” referral code.  To support this feature, you need to add prefixes to your coupon code.  See bottom of this page (“quirks”).

Creating a new Coupon

Coupons have to be created directly in your dashboard.  

Go to:  Marketing–>Coupons  and click on the (+) button (top-right)


Coupon Name: This is for your internal housekeeping.  

Code*: this is what your users enter.  It is NOT case-sensitive.  So “weluvphotos” and “WeLuvPhotos” are the same.

Next 3 work together: Type, Discount , Total Amount

Type is either Percentage or Fixed Amount **

Discount: any number (say 50.9)

So depending on the “Type”, this will be 50.9% off entire cart or $50.90 reduction off the entire cart value. (DO NOT enter a currency symbol, market settings takes care of it)

Total Amount is the minimum pre-discounted spend that’s required before this coupon code can be admitted.

Customer Login: this is irrelevant since in our app, you need to login to complete a purchase

Select Customer group:  Say if you set all new sign-ups from 1st Jan 2022 are going to be tagged as “2022signups” then one year later, you are able to target just this group of users.  This is also useful if (say) you tagged a bunch of users from a School district, or retail chain account, and you want to only give them a promo code.

Enter Customer:  (enter an email) restricts coupon use to ONLY the customer who logs in with this email. 

Free Shipping: this applies the % or dollar discount also to shipping fee (if the dollar amount is larger than the product price)

Products: You can choose multiple products from the drop down separated by a comma.

Catgory: Useful for restricting to a group of products

Date Start/End: Unfortunately we do not have the granularity of setting time but this starts at 00:01hrs of that date, using the local time in that market.

Uses Per Coupon leave blank for infinity.   To run a promo where “first 100 customers get this for 90% off” then set this to 100 uses.

Uses Per Customer:  Enter a valid customer email.  Any user who logs in with that email will get this coupon to work.

Status:  Useful for you to turn it off until next Valentine’s day…

Important quirks to know

* Code

From Dec’23, the Coupon Code box in all Apps will have a drop-down list which will show all applicable coupons.  The App will search all available coupons that are valid within the date range AND are valid for any of the products in the Cart and list them for the user’s convenience.  

“dev-” and “ai-“

Prefix “dev-” and “ai-” are reserved for internal use and will always be filtered out of view to end-users.   This is so that we can continue to use “dev-freetest” or “dev-99off” for internal testing.  We use “ai-welcome” or “ai-survey” as a welcome gift or to reward completion of the NPS post-purchase survey.  For customer support coupons, we suggest you name it something like “ai-onlyforjoe


Currently there is an OC bug in the treatment of % codes.  Say you have a code for only Category = Wall Decor, and the cart contains purchases from other categories, OC will still apply the % discount to the ENTIRE shopping cart value.

It will however work if it’s set up to restrict to a product.

To circumvent this at the moment, if you really want to create a % coupon for all Wall Decor, you will need to list down all the Products you want it to apply to.  We expect to fix this by Q2-2024.

How to set up Promo Banners

Now that you have created a new coupon, bring attention to it via a Promo Banner on the Home Screen. Read more to learn how to do that, and link it to your Coupon (called a "promoCode" when used in the Promo Banner)

How to batch-update prices

Running a promo for 100 products, then reverting it after one week?