{{coupon_code}} is sent. This page explains how to import codes, use them in campaigns, automations, and chatbots, monitor stock, and understand how codes are assigned and expire.
How coupon codes work
- Category: a label shared by a pool of codes, for example
summer_sale. A category is created the first time you import codes into it. There is no separate screen to create one, and it disappears from the list once all its codes are deleted. - Assignment: when Simio prepares a message for a contact, it takes an available code from the selected category and assigns it to that contact. The code is then marked Used.
- One code per contact and category: a contact keeps the same code for a category across every message, campaign, automation, and chatbot, as long as that code has not expired. A contact can hold one code in each category at the same time.
“Used” means “assigned to a contact”. Simio does not know whether the customer actually redeemed the code in your store or on your website.
Import codes
You manage coupon codes in Settings > Messages > Coupon codes.1
Open the import panel
Click Import codes.
2
Enter a category
Type the category name. It must start with a letter, contain only lowercase letters, digits, and underscores, and be 50 characters or fewer (for example
summer_sale). To add codes to an existing category, enter its exact name.3
Add your codes
Either drop a CSV file in CSV file, or paste codes in Or paste codes directly. See the formats below.
4
Import
Click Import. File imports run in the background, and a notification tells you when the import is completed or has failed.
CSV file format
The file must have a header row with acode column.
coupons.csv
- Up to 100,000 codes and 10 MB per file
- UTF-8 encoding
.csvor.txtextension- Comma (
,) separator only
Pasted codes format
When pasting codes, don’t add a header. Enter one code per line, optionally followed by an expiry date separated by a comma or a semicolon:Duplicate codes
A code that already exists in the same category is skipped. The comparison is case-sensitive and ignores leading and trailing spaces. The same code can exist in two different categories.Use coupon codes in messages
Coupon codes work in Message steps (free text) of campaigns, automations, and chatbots.1
Insert the variable
In the Message step, under Body, pick
coupon_code in Select a variable and click Insert. This adds {{coupon_code}} at the cursor position. You can also type {{coupon_code}} directly.2
Choose a category
As soon as the body contains
{{coupon_code}}, a - category selector appears under the body. Pick the category to draw codes from. Each option shows the number of available codes, for example summer_sale (1240 available).{{coupon_code}} and a category is selected. You can only select a category that already has at least one imported code.
WhatsApp templates (including the initial template step of a campaign,
{{1}}, {{2}} variables, and copy-code buttons) don’t draw from coupon stock. Use a Message step to send a coupon code.When a contact gets a new code
Simio assigns a new code from the category only if:- the contact has never received a code from this category, or
- the contact’s current code for this category has expired.
Manage a category
The category list shows, for each category, the number of codes left and its total, used, and expired counts. Select a category to see:- Counters: Total, Available, Used, and Expired
- Code table: Code, Status, Assigned to, Used at, and Expires. Use the search field to find a code, filter by status, and click the refresh button to reload the list.
Code statuses
A Used code never changes to Expired, even after its expiry date. Only available codes become expired.
Expiry dates
Expiry dates are in UTC, and a code stops being valid at 00:00 UTC on the date entered, not at the end of that day. When a message is sent, Simio checks expiry in real time, so expired codes are never assigned. A daily job at 01:00 UTC updates their status to Expired in the table. Between midnight and that update, an expired code can still appear as Available, but it is no longer sent.Monitor stock
Simio does not send notifications or emails about coupon stock. Use these signals:- Low badge: shown in the category list and on the category detail (Low stock) when available codes are less than 20% of the category’s total. The threshold is fixed. Because the total includes used and expired codes, a category with many expired codes can show Low even after few sends.
- Empty coupon codes on the home dashboard: lists categories that are selected in at least one Message step and have no available code left. Click Add codes to open the coupon codes settings and import more. This alert only appears at zero, not at the Low threshold. See Analytics.
Export and delete codes
From a category’s detail, use these actions:- Export: downloads
<category>_coupons.csvwith all codes in the category, whatever their status, newest first. The file uses a semicolon (;) separator and UTF-8 encoding. - Delete unused: deletes Available codes only.
- Delete all: deletes Available and Expired codes.
Neither delete action removes Used codes. Contacts keep their assigned code, which stays visible on their profile and in exports and continues to be sent until it expires.
Target contacts by coupon
In segments, the Coupon filter selects contacts for one category:- has active coupon: the contact has an assigned code in this category that has no expiry date or expires in the future.
- has no active coupon: the contact never received a code in this category, or their code has expired.
