Promo Management
What's new
- Voucher code redemption is now supported.
- Support for all payment methods - now you can create promo for not just card payments, but also for all payment methods supported by Midtrans.
- SKU based promotion - run promotions that's applicable if your customer purchases a specific item(s) only.
Introduction
Midtrans Promo Engine is an exclusive feature of hosted checkout page (Snap and Payment Link) integration, where merchant can easily run promotion without any additional code or technical development. From promo campaign creation to implementation in the checkout page can be set via dashboard without any technical capabilities needed.
Promo Engine makes it easy for merchant to perform the following operations :
- Implement promotion directly in the checkout flow
If promotion is active and customer is eligible, customer will see a promo sticker next to the payment method selection in Snap's payment list. Customer then can choose which promotion they want to apply to their transaction, and final amount will be deducted before customer clicks pay. Note that user can only choose 1 promotion within a transaction.
-
Budget control
Set maximum budget (max IDR budget, trx cap, or both) per campaign. Once the budget runs out, campaign will be automatically deactivated, ensuring that merchant will not spend more then the allocated budget. -
User maximum transaction cap
Limit the number of time a user (defined by either email, phone number or card number) can transact using a promotion according to the campaign rules to prevent promo abuse or fraud. -
Implement BIN based campaign
For card payment specific promotions, limit which card BINs would be eligible to receive promotion, according to partner bank's terms and conditions. -
Set campaign active period
Set the time period when the campaign will be active - once campaign has passed the set date, campaign will automatically deactivate. -
Set campaign recurrence
Set when campaign will be applicable (certain day of the week, certain date of the month) or the frequency (reset campaign's user cap every day, every week, or every month). -
Promotion reporting
Easily download promotion reports for merchant's own recon activities or to be shared with bank/payment's partners, via Midtrans's dashboard or Promo Engine's dashboard.
Activating and Logging in to Promo Engine
To activate Promo Engine on your merchant account, activate first via Midtrans's Dashboard's Payment Methods page for feature activation. Once done, you will be able to see the Promo menu in your Midtrans's dashboard.
Promo Engine is automatically activate in Sandbox. If you didn't see the menu in your dashboard, contact our support team and request for feature activation in Sandbox.
Creating Promo Campaigns
Transaction counted as successful transaction in Promo Engine
Transaction with the status
PENDING
,CAPTURE
, orSETTLEMENT
with the promo applied during checkout in Snap's page is counted as a successful transaction and will deduct the allocated budget/user cap set in the campaign. If the transaction's status isCANCEL
,EXPIRE
, orFAILURE
however, the campaign's promo limit from said transactions will be replenished.Example :
A promo campaign is set with a budget limit of 1,000,000 IDR. If a transaction with a 10,000 IDR discount applied was made by customer and transaction status isCAPTURE
, budget will be deducted and 990,000 IDR is left. However if transaction is cancelled later on; 10,000 IDR will be returned back to the budget limit, making the budget limit of said campaign back to 1,000,000 IDR.
Promo campaigns can be created by going to Midtrans Dashboard > Promo > Create Promo. You can save the campaign as draft first by ensuring that the Promo will be automatically active during the promo period tickbox in the Promo Period section is left unticked when clicking the Submit Promo button. It's very important to note that campaigns' budget and terms cannot be modified once set to active.
To deactivate a campaign, go to the Promo List, click the ...
menu on the right side of the table, then click Deactivate.
To create a campaign; set your promo details, discount terms, promotion's budget, customer's max transaction limit, and promo period within the promo creation page.
Promo Details
Fill in the following promotion details upon creating a campaign :
-
Name
Promotion name. This will appear as the promotion name that customer can choose in Snap's checkout page. -
Sponsor Name
Input the provider who sponsors this campaign. This will be available as filterable information in the Promo page. -
Promo code
Promotion unique code, used as promo identifier within Promo Engine. Promo code needs to be unique for every campaign. -
Payment method
Specify the payment methods eligible for this campaign. Multiple selection is supported. -
Promo period
Tick the Promo will be automatically active during the promo period checkbox in the Promo Period section if you want to activate the campaign which will run on the defined date, otherwise it will be saved as draft and needs to be activated manually. You will also need to specify at least the promo start date. If no end date is specified, promo will run indefinitely.
Discount Terms
Discount Type
Set the discount type between Fixed Amount, Percentage or Combo (Fixed Amount & Percentage). This section is mandatory to be filled.
- Fixed
Fixed discount will discount the transaction over a fixed amount. If discount amount exceeds the total transaction amount, final transaction amount will be zero - be careful as this might cause the transaction to fail as some payment method/banks do not support transaction below a certain amount.
Example :
If you set the fixed discount amount to 10,000, and total transaction amount prior to discount is 100,000 - once applied by customer, final transaction amount that will be charged to Midtrans and customer will be 90,000 IDR.
- Percentage
Percentage discount will discount the transaction based on % set in the Discount Amount
field.. If discount IDR amount exceeds the total transaction amount, final transaction amount will be zero, same caution above applies.
Example :
If Discount Percentage is set to 10%, and total transaction amount prior to discount is 100,000 - once applied by customer, final transaction amount that will be charged to Midtrans and customer will be 90,000 IDR.
- Fixed Amount & Percentage (Combo)
Combo discount will apply % based discounts with maximum IDR amount of discount, whichever IDR discount amount is lower (either the % based discount or maximum IDR amount) will be applied to the transaction.
Example :
If discount percentage is set to 10% and fixed discount amount is set to 10,000 - if a transaction with basket size of 1,000,000 is made by customer and promotion is applied; IDR 10,000 will be discounted from the transaction (making the final amount charged to Midtrans 990,000) as 10% of the transaction amount is greater than the maximum discount amount (IDR 100,000 vs IDR 10,000).
Minimum transaction amount
Set the minimum transaction amount (basket size) eligible to receive promo and discount type in this section.
Tick the Minimum transaction amount
in the Advanced Settings section if you want to enable promo for transaction with basket size (before discount is applied) to be at least a certain amount. Customers who makes transactions with gross amount below the set minimum amount will not be shown this promo.
Promo Budget
Promo Budget section in the promo creation page allows you to set a maximum budget for your promo campaign. Untick it to set the promo campaign to run without regard of campaign budget until the end of specified promo period. If set to Yes, your campaign will only run until the set limit is reached, then campaign will automatically deactivate. Budget limit can be set by transaction amount, transaction count, or a combination of both.
Budget amount
Budget amount
will limit the promotion up to your total allocated IDR budget for the whole campaign. If the budget amount
is exceeded, the promo can no longer be used.
Example :
If you set the Budget amount
as 100,000,000 - and then you have 1000 transactions which have redeemed the promotion amount accumulated to a total of 100,000,000 - the 1001st transaction going forward will not see any promotion option in Snap checkout page and be processed as normal.
Promo quota
Limit the promotion for x number of transactions only. If the transaction count is exceeded within the promo period, the promo can no longer be used by customer.
Example :
If promo quota
is set to 100, and 100 transactions from various customers have successfully used the promotion, the 101th transaction going forward will not see any promotion option in Snap and be processed as normal.
Budget amount & promo quota
Combine both Budget amount
and Promo quota
. Whichever condition is met first will deactivate the campaign.
Example :
If you set the Budget amount
as 1,000,000 and count to 10 - and then you have 10 transactions which have redeemed in total 900,000 IDR worth of discount before the campaign ends - the 11th transaction going forward will not see any promotion option in Snap and be processed as normal.
Promo Period
This section governs how long the campaign will be active (and with it, the budget calculation time).
Tick the Promo will be automatically active during the promo period checkbox in the Promo Period section if you want to activate the campaign which will run on the defined date, otherwise it will be saved as draft and needs to be activated manually. You will also need to specify at least the promo start date and time. If no end date is specified, promo will run indefinitely.
Promo Schedule
This section governs when promotion will be available for customers.
Daily - at selected time
: campaign will be active everyday within the specified hour. Outside of specified hour, promo will deactivate and be automatically reactivated again on the next calendar day within the specified hour.
On selected days
: campaign will be active on certain days of the week (multiple days selection are supported), within the specified hour.
On specific dates
: campaign will be active on a certain date of the month (range between 1-31, multiple inputs are allowed separated by comma) and specified hour. Example : if you want to set up a payday period campaign that occurs every month on 25-27th day, type25,26,27
into theEnter specific dates
field.
Budget calculation
Promo schedule
does not affect budget calculation - say that if you set it toDaily - at selected time
, budget calculation will not be reset daily. Instead, it will follow the start date and end date set in thePromo Period
fields (or never reset if on End Date is specified in Promo Period).
Promotional Product (NEW!)
Set up cart level promotions in this section. This feature can be combined with other promo criteria, e.g. credit card specific rules. Promo engine will check the eligibility of the cart based on information passed on Snap Checkout's item_details
object. or Payment Link's Items
information.
To set up, specify the following information :
a. Promo Eligibility
Specify how a cart will qualify for the promotion. There are two variants supported :
- Cart only contains the selected product
Transaction will only be eligible for promotion if cart (or item information passed in Snap Checkout'sitem_details
) has only promoted items, nothing else.
E.g. if promo is set up to qualify forphone cables
only but user purchasesphone cables
andmobile phone
, said transaction will not qualify for promotion. - Cart contains at least 1 selected product
Transaction will eligible for promotion if cart has at least 1 of the specified items in the campaign. Only qualified items will be discounted.
E.g. if promo is set up to qualify fortea
,coffee
andjuice
, and user purchasestea
,coffee
andwater
, the transaction will still qualify for promotion, with onlytea
andcoffee
getting discounted.
b. Product Identifier
Specify how Promo Management will identify eligible product within the cart / item_details
object. You can choose between 4 types of parameters provided in the item_details
object in Snap Checkout, which is SKU ID (corresponds to id
), Product Name (corresponds to name
), Product Category (corresponds to category
), and Brand
(corresponds to brand
). See the item_details
object docs to check what kind of inputs are accepted.
Additionally, Promo Management will check eligibility based on case insensitive exact match, e.g. if you specified Tea
when creating the campaign, only Tea
or tea
passed in the item_details
will be considered as; but variations such as teacups
or green tea
will not be considered as eligible.
Once you have selected which identifier to use, you can specify the list of eligible values - separate each value with comma without space in between of values. Note that transaction/cart needs to contain at least 1 of the specified product in order to be eligible for the promotions.
c. Min & max quantity of SKU
An optional limitation that you can set to check the minimum and maximum quantity of the product that’s eligible for promo. See example below for further details.
E.g : Say that you specify a campaign of discount 10%, eligible for cart containing products of tea
and coffee
, with min quantity of 1, and max quantity of 2. A user then purchases 2 teas @ 10k IDR each and 3 coffees @ 15k IDR each. As such, only the 2 cups of teas are eligible for the discount, hence the total discount will be 2 x 1k IDR = 2K IDR total.
Voucher Code Redemption (NEW!)
You can now create a voucher code based promotion where customers will need to input a certain promo code in order to be able to use the promo. This feature can be combined with all other features (e.g. Budget, Credit Card Rules, SKU Based Promotion, etc).
There are two types of voucher code redemption available, single voucher and bulk vouchers.
Single Voucher Code
Single voucher code feature will allow you to create a promotion campaign where user can redeem 1 generic voucher code. This is useful to for evergreen or thematic campaigns e.g. newsletter subscription campaigns, new user campaigns, theme specific campaigns (e.g. Anniversary promo) where there's only 1 generic code that can be used by all users.
In order to limit usage per customer, you will need to specify the customer limit at the Promo Usage Limit section.
If single voucher code method is used, promo will use the previously defined Promo Code (in the General Settings section) as the voucher code.
OPTIONAL - You can also perform a check to make sure the voucher code redeemed is eligible for said transaction (e.g. for event promotion campaigns, you'll want user to enter the correct event code within the relevant Snap Checkout transaction page. If you checklist the Allow redemptions if matches custom fields
option, Snap Checkout page will check that the promo code redeemed matches the value provided in any of the custom fields.
Bulk Voucher Code
Bulk voucher code feature will allow you to generate multiple voucher codes within 1 campaign that can be redeemed once per purchase. This is useful for campaigns e.g. user specific campaigns.
There are two ways to generate the codes, one is where Midtrans auto generate it for you, or you upload a CSV containing the codes.
-
Auto generate code
If you let Midtrans auto generate the code for you, you can define the properties such as the length (excluding prefix), quantity of codes, prefix (optional), and whether you want to include a separator between prefix and code. Check the preview first to see whether the sample code looks right, then submit the promo.
Afterwards, you can go to the promo details (by clicking anywhere within the table row of the campaign in the Promo landing page) to download the voucher codes, see the # of used promo, and top up the generated codes.
-
Bulk upload CSV
If you already have your own codes, you can choose to upload it as a CSV file instead. Download the provided template and fill in your codes according to the template, then upload the file.
Afterwards you will see the result - if there are mistakes with the template (e.g. invalid codes) you will be able to see the result in CSV format, and then to either choose to proceed with the correct codes only, or fix the file by reuploading.Afterwards you can check in the promo detail by clicking anywhere within the table row area of the campaign. You can check the voucher codes redemption, download the list of the redeemed codes, or top up the codes stock by reuploading more vouchers.
Credit Card Rules
You can set promo limitation specific to card payment properties in the Credit Card BIN and installment
section. Setting this section is optional; if not needed, then leave the checkbox unticked or leave it as empty.
Credit Card Bin
Activate promo only for transactions using card with specific BIN number. For example, if you want the promo to be activated only for Mandiri cards, simply adding 46170069 in the input field will enable the promo option only for customers who use cards beginning with 46170069. You can also input multiple BINs by separating them with commas such as 46170069,52642210,45992078 (no space).
Please note that we highly recommend filling in 8 digits Card Bin in this input field.
Installment
Tick all the eligible the Installment Terms options. If not set, promo will be applicable for all type of transactions.
Promo usage limit
Setting the max count per customer
You can set how many times a customer can use the promotion within a certain time period. If customer exceeds the cap set here, the subsequent transaction made by said customer will proceed as normal without promotion applied.
A customer is defined by a unique card number, phone number or email address - promo engine will count transactions made by each card, phone number and email. If all three limitation fields (shown in above picture) are filled and customer is using the same credentials across three fields, whichever limit is met first will deactivate the promotion for said customer's transaction. These fields are optional.
Example :
If you set the max trx limit as follows,
a. 1 trx per card
b. 2 trx per email
c. 3 trx per mobile phone number.
If customer using card A, email B, and phone number C across all of their transactions, the first transaction will be eligible for promo, but 2nd transaction going forward will no longer be eligible for promotion since max cap per card has already been met, even though cap per email or phone number hasn't been met yet.
If customer however changes card for their second transaction, customer will be eligible for promotion on their second transaction as no max cap is met as of 2nd transaction.
Setting the timeframe of customer's limitation
The previously set customer's limitation period can be set in the Reset cycle of promo usage
section. Once the timeframe has been exceeded, customer's limit will be reset and customer can use the promo again. If not set, each customer's quota will not be reset until the end of campaign.
Example :
If limitation timeframe is set as End of day
and max transaction cap is set as 1, if customer has made a transaction and used promo today on 11PM GMT+7, customer can only use the promo again from said campaign as early as 00:00:01 GMT+7 the following day.
There are 3 types of timeframe :
-
End of promo period
Customer's limitation will last as long as the campaign is active. Once customer's transaction limit is met, customer can no longer use the promo until the campaign ends. -
End of day
Customer's limitation will last per transaction's date (GMT+7). Once the day changed, the limitation will be reset. -
End of month
Customer's limitation will last per transaction's month (GMT+7). Once the month changed, the limitation will be reset. -
Custom interval
Define how many days (1 day is defined as 24 hour) after transaction until the limitation will be reset. Days will be calculated from the date and time when customer made a transaction. Max days that can be set is 30 days. E.g. if you set is as 2 days and customer transact at 2023-02-14 03:00:00, then customer can use promo again on 2023-02-16 03:00:00.
Downloading Reports
Download transaction as usual via Midtrans's Dashboard > Transactions. When downloading, tick the Promo Details
checkbox which will add two columns in the report, the Promo Code (campaign unique identifier as set in the Promo Creation page), and Promo Original Amount (original transaction amount as sent by merchant prior to discount).
Updated 3 months ago