Offer codes and tracking
Code formats, uploaded code lists, and the honest limits.
Tracking Mechanism decides how codes work for this offer. There are three choices, and if the offer has no code you can leave it unset.
This article is also where the limits of code handling are spelled out, because the screen shows a code and it is easy to assume more is happening behind it than is.
Important: Zyntro records your code setup. It does not issue a code to each contact, and it does not track redemptions. The format you define and any codes you upload are stored with the offer. No unique code is handed out per contact or per message, nothing is marked as used, and nothing expires on its own. If you need one-code-per-customer with real redemption tracking, that has to come from the system that honours the deal.
The three mechanisms
Generate Unique Code Per Redemption
— You define a format: a prefix, the code body (text, numbers or a long unique string), a suffix and a length. The form shows a live example as you type. This records the shape a code should take.
I will upload my own codes
— A CSV holding a single column of codes. The list is stored with the offer. Use this when the codes come from the system that will honour them — a store platform or a payment provider.
I will use a fixed code
— One code that everyone uses, such as NOV-SPECIAL. The simplest choice, and the one that needs nothing from Zyntro beyond remembering it.
Fields for a generated code format
Prefix
string
required
Characters before the code body, for example ZY-. Useful for telling at a glance which campaign a code came from.
Code
enum
required
The body of the code: Text for mixed letters and numbers, Number for digits only, or UUID for a long unique string. Choosing UUID fixes the length for you.
Suffix
string
required
Characters after the code body, for example -24.
Length
number
required
How many characters the body runs to. Disabled when the code type is UUID, which sets its own length.
Uploading your own codes
| Rule | Detail |
|---|---|
| File format | A .csv file. Only the first column of each row is read. |
| Maximum codes | 10,000. A larger file is refused with the count it found. |
| Maximum file size | 5MB. |
| Maximum code length | 100 characters per code. |
| Header row | A first row reading code, codes, voucher, voucher_code or coupon is skipped. |
| Blank rows | Dropped. |
| Quoted cells | Surrounding quotes are stripped, so a spreadsheet export works as-is. |
| Duplicates | Removed, ignoring case — ABC-1 and abc-1 are treated as the same code and only the first is kept. |
Info: The code on the offer page is a sample of the format, not an issued code. For a generated format, a fresh random example is drawn every time you open the page, so it will read differently each visit. That is deliberate — it shows you what the shape looks like. For a fixed code, the page shows the real code, because there is only one.