Skip to content

Promo Codes in IZI: Setup and Management

Published: · Updated: (13 days ago)· IZI Team

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.

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.

FieldRequiredWhat it controls
Promo CodeYesUnique string (e.g. WELCOME2025). Converted to uppercase automatically. Cannot be changed after creation.
Bonus AmountYesFixed amount in the club’s currency credited to the player’s bonus balance on activation. Must be greater than 0.
Maximum UsesNoTotal activation limit across all players. Leave empty for unlimited activations.

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.

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.

  1. Open Organization → Marketing → Promo Campaigns.
  2. Select the campaign you want to add a code to and navigate to the Promo Codes tab.
  3. Click New Promo Code — the creation dialog opens.
  4. Enter the Promo Code string, for example LAUNCH2025. It is displayed in uppercase immediately.
  5. Enter the Bonus Amount — the fixed credit value in the club’s currency.
  6. Optionally enter Maximum Uses. Leave blank for unlimited activations.
  7. 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.

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.

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:

SituationError shown to the player
Campaign is inactivePromo code is inactive
Current date is before startsAtPromo code has not started yet
Current date is after endsAtPromo code has expired
Club is not on the allowed listPromo code is not available at this club
Activation limit reachedMaximum activations reached
Player has already used this codePromo code already activated by this player
Code is archivedPromo code not found

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.

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.

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.