How promotions work with CSV files
Within this section of our content, our goal is to provide examples of typical promotions and guide you through their configuration process on Yalo. It's important to note that these scenarios are not an exhaustive list of all potential Yalo promotions, as the platform offers a variety of configurations to accommodate different situations. Each illustration comes with step-by-step instructions on setting up the promotion via our CSV file.
Take a quick look at our CSV file, where we'll explain each field and how to fill them out.
General Parameters
Every promotion has a set of basic parameters, which are:
Field | Description | Notes | Mandatory | Type |
---|---|---|---|---|
promotionCode | A unique identifier used to differentiate promotions. If the same promotionCode is sent for more than one promotion, it will be replaced by the last promotion sent. | Text field, with a limit of 100 characters. | No | String |
name | The name field will define the label that will be displayed on the product card. In the case of a total-type promotion, the text will be used to create the promotion banner. In the absence of a label, the promotion will receive the system's default labels. | Text field, with a limit of 70 characters. | No | String |
description | Description that will be displayed in the product details screen. | Text field, with a limit of 100 characters. | No | String |
type | Defines the type of promotion created. Each type of promotion has different mechanics. | Allowed values: DIRECT, VOLUME, COMBO, TOTAL, and COMPLEX. | Yes | String |
isActive | Defines whether a promotion is active or inactive. | TRUE or FALSE | Yes | Boolean |
startDate | Start date of the promotion's validity period. | 2022-06-07T00:00:000Z | Yes | Date UTC |
endDate | End date of a promotion. | 2022-06-07T00:00:000Z | Yes | Date UTC |
priority | Used to define the priority of promotions, when more than one promotion has the same priority, the promotion created first will have priority. | Number field, with 1 being the highest priority. | No | Integer |
As described, if the name field is blank, systemic Labels will be applied.
Example: 3x2 for a promotion where you take 3 and pay for 2.
Customer Segmentation
Segmentations are mandatory, therefore, every promotion must have at least one segmentation.
All types of promotions can be segmented by distributors (storeCode
), customer types ( customerType
) , or a list of customers ( customerCode
).
Distributors:
To segment a promotion by distributor, use the storeCode
field to list distributor codes. Once this segmentation is created, the promotion will be displayed only to customers associated with the specified distributor. For this type of segmentation, you can send a list with up to 100
distributor codes.
CustomerType:
To segment a promotion by customer type, use the customerType
field to list customer type codes. Once segmented by customer type, only customers associated with the specified types will have access to the promotion. For this type of segmentation, you can send a list with up to 100
customer types.
CustomerCode:
If it's necessary to create segmentation by listing customer codes directly, use the customerCode field to send customer codes. Once this segmentation is created, only customers whose codes are listed will have access to the promotion. For this type of segmentation, you can send a list with up to 100
customer codes.
Fields | Description | Notes | Mandatory | Type |
---|---|---|---|---|
storeCode | When segmenting a promotion by storeCode, only customers who have the corresponding storeCode in their registration will have access to the promotion. | Filling example: [CODE1,CODE2,CODE3,CODE4] | Yes | String List |
customerType | When segmenting a promotion by customer type, only customers who have the customerType in their records will have access to the promotion. Ex: customers with customerType Gold. | Filling example:[TYPE1,TYPE2,TYPE3,TYPE4] | Yes | String List |
customerCode | When performing segmentation at the customer code level, it will be possible to directly indicate the customers who will be entitled to the promotion. | Filling example:[CUST1,CUST2,CUST3,CUST4] | Yes | String List |
Promotion Limit
Promotions can be limited per order, per customer, or both at the same time, on the webview, a tag will show how many times promotions can be redeem.
If promotion limit is reached inside the order, buyer can continue adding products, but extra products wonât be elegible for the promotion.
It is currently possible to limit the use of promotions by 2 parameters. They are:
Per customer
perCustomer
: number of times a promotion can be redeem by customer (this limit can be reached in the same order or in multiple orders)
Per Order
perOrder
: number of times a promotion can be redeem in the same order
Limit combination
perOrder and perCustomer:
- if limit
perOrder
>perCustomer
, customer limit will take higher priority. - if limit
perOrder
<perCustomer
, promotions in the first order will be limited to the number set onperOrder
limit, the rest of the promotions in perCustomer limit can be redeem in the next orders.
How to fill in the CSV file fields.
Fields | Description | Notes | Mandatory | Type |
---|---|---|---|---|
perCustomer | Limits the use of a promotion per customer, being a general limit, allowing use in more than one order. | Example: To limit a user to 10 uses, we can set perCustomer = 10, allowing the user to use their benefit across multiple orders. | No | String |
perOrder | Limit the use of a promotion to a single order. | Example: To limit the usage at the order level, we can set perOrder = 3. This means the benefit can be applied to the cart up to 3 times. | No | String |
Cumulativity
Within the promotion itself
A promotion can be activated multiple times, limited by the perOrder
and perCustomer
limits.
Note: VOLUME promotions, can't be limited by perOder, only perCustomer.
Among other promotions.
Yalo promotions do not stack with each other, meaning a product won't receive benefits from more than one promotion. The benefit applied will be from the promotion with higher priority or the oldest in case of priority tie.
Priority Rules
Priority is ranked from 1 as the highest priority. When multiple promotions have the same priority, tie-breaking is determined by their creation date, with the oldest promotion being prioritized.
NOTE: TOTAL type promotions always have the highest priority among other types because their mechanics are based on the total cart value rather than individual products. Therefore, they always take precedence. If there are multiple TOTAL promotions, priority rules among TOTAL promotions must be applied.
customerBuys and customerGets Mechanics
In summary, all promotions must have the fields explained in this section. Next, we will learn about the activation and benefits mechanics of each promotion, which truly differentiate one promotion from another.
Configuring Promotions in Yalo Studio
To configure promotions:
- Login in Yalo Studio --> go to Advertising and Promos
- Download our template --> complete the files with the necessary parameters being used (more on what parameters each promotion uses in the next pages)
- Once you the file is completed as needed, it must be uploaded back into Studio
For further explanation on how to configure Promotions in Yalo Studio, please the the following video:
Promotions types
At Yalo there are 5 types of promotions available.
You will find how each Promition Type works and an example of each in the following links.
Updated 5 months ago