Promotion codes
What is a promotion code?
Promotion codes let you offer discounts to your customers. The system has three core building blocks:
- Coupon (Хөнгөлөлт): The base configuration holding the discount rules, limits, and validity period
- Coupon Code (Код): The actual code you hand out to customers (e.g.
SUMMER2025,SAVE20) - Redemption (Хэрэглээ): A record of a customer using a code
One coupon can have many codes, and each code can be redeemed independently.
How do customers use a promotion code?
On the checkout page
- The customer finds the "Promotion code" field on the checkout page
- Enters the code (e.g.
SUMMER2025) - Clicks "Apply" and the discount is calculated automatically
- The total amount updates
Redemption conditions
The following conditions are checked when a code is applied:
- Whether the code has started (its start date has passed)
- Whether the code is still valid (not expired)
- Whether the code has reached its redemption limit
- How many times this customer has already used the code
- Whether the products or amount in the checkout match the coupon
Creating coupons and codes in the dashboard
Creating a coupon
- In the dashboard, open your project's Coupons (Хөнгөлөлт) menu
- Click "New coupon" and fill in the following:
Basic information:
- Name: The coupon's name
- Scope:
Entire order— the discount applies to the order totalSpecific products— the discount applies to selected products
- Products (only when "Specific products" is selected): Choose the products the discount applies to
- Leave empty to apply to all products
- If products are selected, the discount applies only to those products
Discount details:
- Discount type:
Percentage (%)orFixed amount (₮) - Discount value: The size of the discount (maximum 100 for percentages)
Limits:
- Maximum redemptions: How many times the coupon can be used in total (leave empty for unlimited)
- Per-customer limit: How many times one customer can use it (
0for unlimited) - Start date: When the coupon becomes active (leave empty to start immediately)
- Expiry date: When the coupon expires (leave empty for no expiry)
- Click "Save" to create the coupon
Creating codes
After creating a coupon, you can create codes in the "Coupon codes" section of the coupon's detail page.
Creating a single code
- Click "Add code"
- Under "Type", choose "Single code (Enter manually)"
- Code: Enter the code you want, or leave empty to generate a random one automatically
- Redemption limit (optional): How many times this specific code can be used (leave empty to inherit the coupon's limit)
- Click "Save" to create the code
Creating multiple codes
- Click "Add code"
- Under "Type", choose "Multiple codes (Generate randomly)"
- Number of codes: How many codes to generate (1–1000)
- Click "Save" and the codes are generated automatically
- When generating multiple codes, each code can be redeemed only once
Exporting codes
Click "Download CSV" to export all codes as a CSV file.
Field reference
Coupon
- Name: The coupon's name (required)
- Scope:
Entire orderorSpecific products(required) - Products: The products the discount applies to (only when "Specific products" is selected, optional)
- Leave empty to apply to all products
- If products are selected, the discount applies only to those products
- Discount type:
Percentage (%)orFixed amount (₮)(required) - Discount value: The size of the discount (required, maximum 100 for percentages)
- Maximum redemptions: How many times the coupon can be used in total (optional, leave empty for unlimited)
- This limit is shared across all of the coupon's codes
- Per-customer limit: How many times one customer can use it (required, default: 1,
0for unlimited) - Start date: When the coupon becomes active (optional, leave empty to start immediately)
- Expiry date: When the coupon expires (optional, leave empty for no expiry)
Coupon code
- Code: The code handed out to customers (leave empty to generate automatically)
- Times redeemed: How many times the code has been used (counted automatically)
- Redemption limit: How many times this code can be used (optional, leave empty to inherit the coupon's limit)
- When generating multiple codes, this is automatically set to 1 (single use)
Example scenario
Summer sale
Coupon:
- Name: "Summer sale"
- Discount type: Percentage (20%)
- Scope: Entire order
- Maximum redemptions: 1000
- Per-customer limit: 1
- Start date: 2025-06-01
- Expiry date: 2025-08-31
Code:
SUMMER2025(unlimited)
Customer flow:
- The customer enters
SUMMER2025on the checkout page - A 20% discount is applied
- Once the order completes successfully, the code is recorded as redeemed
Notes
- A promotion code counts as redeemed only after the checkout completes successfully
- Only one code can be applied per checkout
- A code can be removed after applying, and a different code applied instead
- If the discount exceeds the order total, the discount is capped at the order amount
- A code can't be used before the coupon's start date
- If a "Specific products" coupon has no products selected, it applies to all products
Requirements for using promotion codes on a checkout
- Order-total discounts: No
price_idrequired. Works with items created viaprice_data. - Product discounts: All items must use
price_id. Product-scoped promotion codes can't be applied to items created viaprice_data.
See the Checkout API page for details.