Promo Codes in IZI: Setup and Management
Promo Codes in IZI: Setup and Management
Section titled “Promo Codes in IZI: Setup and Management”A promo code in IZI is a unique text string — for example, SUMMER25 — that a player enters in the mobile app or at the front desk to instantly receive a fixed amount of bonus credits on their account. Unlike top-up bonuses, which trigger automatically on every balance top-up, a promo code requires no payment: entering the string is enough. Each code lives inside a promo campaign, which defines the active date range and the set of clubs where the code is valid. A single player can activate any given promo code exactly once; the system blocks repeat attempts automatically.
How promo codes relate to campaigns
Section titled “How promo codes relate to campaigns”You cannot create a promo code outside of a campaign — this is an intentional architecture constraint. A campaign acts as a container that:
- Sets the active period (
startsAt/endsAt): a code cannot be activated before the campaign starts or after it ends. - Defines the club scope: if the campaign is restricted to specific clubs, all codes inside it inherit that restriction.
- Groups codes into a single reporting unit: in the activation history, CSV exports, and analytics, codes are grouped by campaign.
The first step is always to confirm that the target campaign exists and is active. If a campaign is archived, all codes inside it become inaccessible for activation as well.
Promo code fields
Section titled “Promo code fields”| Field | Required | What it controls |
|---|---|---|
| Promo Code | Yes | Unique string (e.g. WELCOME2025). Converted to uppercase automatically. Cannot be changed after creation. |
| Bonus Amount | Yes | Fixed amount in the club’s currency credited to the player’s bonus balance on activation. Must be greater than 0. |
| Maximum Uses | No | Total activation limit across all players. Leave empty for unlimited activations. |
Code uniqueness rules
Section titled “Code uniqueness rules”IZI checks uniqueness case-insensitively within the organization. If an active code SUMMER25 already exists, attempting to create summer25 will fail with a “Promo code with this value already exists in the organization” error. However, if the original code has been archived, a new code with the same string can be created.
Currency and club selection
Section titled “Currency and club selection”When an organization has clubs in multiple currencies, IZI requires that all clubs assigned to a single promo code share the same currency. Mixing currencies triggers a validation warning. If no clubs are selected and the organization uses a single currency, the code is valid at all clubs.
Creating a promo code: step by step
Section titled “Creating a promo code: step by step”- Open Organization → Marketing → Promo Campaigns.
- Select the campaign you want to add a code to and navigate to the Promo Codes tab.
- Click New Promo Code — the creation dialog opens.
- Enter the Promo Code string, for example
LAUNCH2025. It is displayed in uppercase immediately. - Enter the Bonus Amount — the fixed credit value in the club’s currency.
- Optionally enter Maximum Uses. Leave blank for unlimited activations.
- Click Create.
The code becomes immediately available for player activation, provided the campaign is active and the current date falls within the campaign’s date range.
What cannot be changed after creation
Section titled “What cannot be changed after creation”The Promo Code field is locked once a code is saved. To use a different string, archive the existing code and create a new one. The bonus amount and usage limit can be edited at any time via the Edit action in the code’s row menu.
Statuses and lifecycle
Section titled “Statuses and lifecycle”The campaign’s promo code list displays each code with the following columns:
- Code — the text string
- Campaign — parent campaign name
- Bonus Amount — credit value in the club’s currency
- Available in Clubs — “All clubs” or a list of specific club names
- Used / Maximum — current activation count and limit (or “Unlimited”)
The system evaluates promo code status automatically at the moment of each activation attempt:
| Situation | Error shown to the player |
|---|---|
| Campaign is inactive | Promo code is inactive |
Current date is before startsAt | Promo code has not started yet |
Current date is after endsAt | Promo code has expired |
| Club is not on the allowed list | Promo code is not available at this club |
| Activation limit reached | Maximum activations reached |
| Player has already used this code | Promo code already activated by this player |
| Code is archived | Promo code not found |
Archiving and restoring
Section titled “Archiving and restoring”The Archive action performs a soft delete: the code is removed from the active list but all previously created activations are preserved in the history. The code stops being available to players.
The Unarchive action restores the code. If, during the time the code was archived, another active code with the same string was created in the organization, the restore is blocked with a PromoCodeRestoreConflict error. To resolve this, archive the conflicting code first, then retry.
Viewing activation history
Section titled “Viewing activation history”The full activation log is available in Promo Code Activations. Each record shows:
- Date and time of activation
- Client (player)
- Club where the activation occurred
- Promo code used
- Bonus amount credited
You can filter by club, date range, specific promo code, client, and bonus amount range. The list can be exported to CSV.
Access to this section is controlled by organization permissions: PROMO_CAMPAIGN_READ for viewing and PROMO_CAMPAIGN_WRITE for creating and editing.
Common use cases
Section titled “Common use cases”Opening-week campaign. Create a campaign with a date range covering your first week of operation. Add one promo code with no activation limit. Players who visit during the opening period receive bonus credits — giving them a reason to return and spend them.
Partner referral code. Create a named code (for example, PARTNER_NAME) with a fixed activation limit. Share it with the partner for distribution. In the activation history, filter by that code to measure how many players arrived through the partnership.
Time-limited promotion. Set the campaign’s endsAt to seven days from today. Codes inside the campaign stop working automatically when the period ends — no manual deactivation needed.
Multi-club network, single currency. Create one promo code with no club restriction — it works across all clubs in the organization. For clubs with different currencies, create separate codes with explicit club assignments.
Top-up bonuses and promo codes are distinct tools, but both credit the same bonus balance. Promo codes suit one-off promotions and partner programs; top-up bonuses suit a systematic loyalty rule applied to every balance top-up. In IZI you can run both simultaneously without conflict.
Frequently asked questions
What is a promo code in IZI?
A promo code is a unique string (for example, WELCOME2025) that a player enters in the mobile app or at the front desk to receive a fixed amount of bonus credits on their balance. Every promo code belongs to a promo campaign and works only in the clubs selected when the campaign was created.
How do I create a promo code in IZI CRM?
Go to Organization → Marketing → Promo Campaigns, open the target campaign, navigate to the Promo Codes tab, and click New Promo Code. Enter a unique code string (converted to uppercase automatically), set the bonus amount, and optionally set a maximum number of uses. Click Create.
How many times can one player activate the same promo code?
Exactly once. The system blocks any repeat activation by the same player with a PromoCodeAlreadyActivated error. Other players can still use the same code until the overall activation limit is reached.
What does 'Maximum uses' on a promo code mean?
It is the total number of activations across all players. Once that number is reached, the code becomes exhausted and no further activations are accepted. Leave the field empty to allow unlimited activations.
Can I change the promo code string after creating it?
No. The Code field is locked after creation. You can still edit the bonus amount and the usage limit at any time. To use a different code string, archive the current code and create a new one.
What happens if a player enters a promo code at a club where it is not available?
The system returns a PromoCodeClubNotAllowed error and the activation is rejected. If no clubs are specified when the code is created, it works at all clubs in the organization.
How do I check whether a promo code is still active or exhausted?
In the campaign's promo code list, the Used / Maximum column shows the current activation count and the limit. When the code reaches its limit, its status becomes exhausted (isExhausted = true). Codes without a limit display Unlimited.
Can I archive a promo code?
Yes. The Archive action performs a soft delete: the code disappears from the active list but all past activations are preserved in the history. You can restore it later with Unarchive.
What happens to the bonus if an activation fails midway?
No credits are issued. IZI uses a compensation mechanism: if the bonus credit step fails after the activation record is created, the activation record is hard-deleted. The player sees an error message, and the code remains available for the next attempt.
Can I restrict a promo code to a single club in a multi-club network?
Yes. When creating or editing a campaign, you can select specific clubs. All clubs assigned to a single promo code must share the same currency; mixing currencies is blocked with a validation warning.
How do I see who activated a promo code and when?
Go to Organization → Marketing → Promo Code Activations. The list shows client, club, promo code, activation date/time, and bonus amount credited. You can filter by club, date range, promo code, client, and bonus amount range, and export the results.
Are promo codes the same as top-up bonuses?
No. A top-up bonus is credited automatically when a player tops up their balance according to preset rules. A promo code is a one-time string the player enters explicitly — no top-up required. Both mechanisms add to the same bonus balance but serve different use cases.