Marketing & EngagementOperator Admin

Bonuses & Promotions

The Bonuses & Promotions module lets you create and manage bonus offers, promotional campaigns, promo codes, and free bet tokens. Effective promotion management is key to player acquisition and retention.

Overview

Two sidebar items cover this area: Bonuses for managing bonus templates and active player bonuses, and Promotions for campaigns, promo codes, and tokens.

Bonus Templates

Bonus templates define the rules for bonuses that can be awarded to players. Each template specifies the bonus type, wagering requirements, and eligibility criteria.

Creating a Bonus Template

  1. 1

    Navigate to Bonuses

    Click 'Bonuses' in the sidebar to see the template library.

  2. 2

    Click 'Add New Template'

    Opens the template creation form.

  3. 3

    Fill in template details

    Specify the name, type, description, wagering requirements, minimum odds, maximum bonus amount, and expiry period.

  4. 4

    Activate the template

    Toggle the 'Active' switch to make the template available for distribution.

Template Fields

Column / FieldDescription
NameInternal name for the bonus (e.g., 'Welcome Bonus 100%')
Typewelcome, deposit_match, free_bet, cashback, reload
DescriptionPlayer-facing description of the bonus offer
Min OddsMinimum odds required for wagering contribution
Wagering MultiplierNumber of times the bonus must be wagered before withdrawal (e.g., 5x)
Max AmountMaximum bonus amount that can be awarded
Expiry DaysNumber of days before the bonus expires if wagering is not completed
ActiveWhether this template is currently available for distribution

Promotions

The Promotions page manages promotional campaigns with multiple tabs:

  • Promotions — Campaign list with activation controls
  • Promo Codes — Redeemable codes
  • Tokens — Free play tokens distributed to players
  • Active Bonuses — Currently active player bonuses

Sport-Specific Promotions

The platform supports several specialized sports promotion types:

  • 2-Up— If a player's team goes 2 goals up, the bet is paid out as a winner regardless of the final result
  • Acca Boost — Accumulator odds boost that increases with the number of selections
  • Price Boost — Enhanced odds on specific selections
  • Profit Boost — Percentage boost on winnings
  • Bore Draw — Refund on 0-0 draws
  • Acca Insurance — Refund if one leg of an accumulator loses

Promo Codes

Create redeemable codes that players can enter to claim bonuses:

  1. 1

    Navigate to Promotions > Promo Codes tab

    View existing codes or create new ones.

  2. 2

    Click 'Create Code'

    Specify the code text, linked bonus template, usage limit, and expiry date.

  3. 3

    Bulk generation (optional)

    Generate multiple unique codes with a common prefix for distribution campaigns.

  4. 4

    Distribute

    Share codes via email campaigns, social media, partner channels, or in-app notifications.

Column / FieldDescription
CodeThe redeemable code string (e.g., WELCOME50)
TypeBonus type this code triggers
Discount/ValueThe bonus value or percentage
Usage CountHow many times the code has been redeemed
StatusActive, Expired, Exhausted

Tokens (Free Bets & Credits)

Tokens are free play credits or free bets distributed directly to players' accounts. Unlike promo codes, tokens don't require the player to enter anything — they appear automatically.

Column / FieldDescription
Token IDUnique token identifier
UserPlayer who received the token
AmountToken value
ExpiryWhen the token expires
UsedWhether the token has been consumed

Issue tokens individually from a player's profile, or in bulk through the Campaigns module.

Active Bonuses

View all currently active bonuses across your platform:

Column / FieldDescription
UserPlayer with the active bonus
BonusBonus template name
AmountBonus amount awarded
Wagering ProgressProgress bar showing how much of the wagering requirement has been met
ExpiresExpiration date of the bonus

Actions available: force expire a bonus or convert remaining bonus balance to cash (for special cases).

Campaigns

The Campaigns page (Campaigns in the sidebar) allows you to create notification campaigns targeting player segments:

Column / FieldDescription
Campaign NameInternal name for the campaign
ChannelDelivery method: In-App, Push, Email, SMS
TargetPlayer segment (all, VIP, inactive, specific country, etc.)
StatusDraft, Scheduled, Sending, Sent, Failed, Cancelled
RecipientsDelivered count vs total target count
Scheduled DateWhen the campaign will be sent

Create a new campaign by specifying the target audience, message content, delivery channel, and schedule. Draft campaigns can be edited before sending.

Campaign Best Practices

Test campaigns with a small segment first before sending to your full player base. Use A/B testing by creating two campaigns with different messages and comparing performance.

Popular Bonus Setup Examples

Below are step-by-step setup instructions for the 10 most popular bonus types. Each example walks you through the exact tabs and fields to configure in the admin panel so you can go from zero to live in minutes.

1. Welcome Deposit Match (100% up to $100)

Type: welcome  |  Product: all  |  Risk: low

Matches a new player's first deposit dollar-for-dollar up to $100. This is the single most effective acquisition bonus — nearly every operator runs one.

  1. 1

    Click 'New Template'

    From the Bonuses page, click 'New Template' to open the creation wizard.

  2. 2

    Basic tab

    Set Name to 'Welcome 100% Deposit Match'. Select Type = 'welcome'. Add a player-facing description such as 'Double your first deposit up to $100!'. Set Trigger = 'on_registration'. Set Reward Type = 'bonus_credit'.

  3. 3

    Product & Targeting tab

    Select Product Category = 'All'. Leave game types and providers empty so the bonus applies everywhere.

  4. 4

    Reward & Wagering tab

    Set match_pct = 100, max_bonus = 100. Set Wagering Multiplier = 5x, Minimum Odds = 1.50, Expiry Days = 30.

  5. 5

    Activate

    Toggle the 'Active' switch on, then click Save.

Column / FieldDescription
match_pct100 (matches 100% of the deposit)
max_bonus100 (caps the bonus at $100)
Wagering5x the bonus amount
Min Odds1.50
Expiry30 days

2. Weekly Cashback (10% on Losses)

Type: cashback  |  Product: all  |  Risk: low

Returns 10% of a player's net weekly losses as cash (not bonus credit). This is a powerful retention tool that keeps players coming back even after a bad week.

  1. 1

    Click 'New Template'

    Open the template creation wizard from the Bonuses page.

  2. 2

    Basic tab

    Set Name to 'Weekly 10% Cashback'. Select Type = 'cashback'. Set Trigger = 'recurring'. Add a description like 'Get 10% of your weekly losses back as cash every Monday'.

  3. 3

    Product & Targeting tab

    Select Product Category = 'All' to cover both sports and casino losses.

  4. 4

    Reward & Wagering tab

    Set percentage = 10, max_amount = 500, period = 'weekly', return_type = 'cash'. Because this is returned as cash, no wagering multiplier is needed.

  5. 5

    Schedule & Recurrence tab

    Enable Recurring = Yes. Set Frequency = 'Weekly'. The system will automatically calculate and credit cashback every Monday.

  6. 6

    Activate and Save

    Toggle Active on and click Save.

Column / FieldDescription
percentage10 (returns 10% of net losses)
max_amount500 (weekly cap)
periodweekly
return_typecash (credited directly, no wagering)

3. No-Sweat First Bet ($50)

Type: no_sweat  |  Product: sports  |  Risk: low

If a new player's first sports bet loses, they receive a free bet of up to $50 as a refund. This removes the fear of placing that first wager.

  1. 1

    Click 'New Template'

    Open the template creation wizard.

  2. 2

    Basic tab

    Set Name to 'No-Sweat First Bet $50'. Select Type = 'no_sweat'. Set Trigger = 'on_bet_settled'. Set Reward Type = 'free_bet'. Description: 'Place your first bet risk-free up to $50'.

  3. 3

    Product & Targeting tab

    Select Product Category = 'Sports'. Leave game types empty to cover all sports markets.

  4. 4

    Reward & Wagering tab

    Set max_refund = 50, min_odds = 1.50, min_stake = 5, refund_as = 'free_bet'.

  5. 5

    Activate and Save

    Toggle Active on and click Save.

Column / FieldDescription
max_refund50 (up to $50 refunded as a free bet)
min_odds1.50 (bet must be at these odds or higher)
min_stake5 (player must bet at least $5)
refund_asfree_bet

4. Acca Boost (5% - 100%)

Type: accumulator  |  Product: sports  |  Risk: low

Automatically boosts accumulator winnings based on the number of legs. The boost starts at 5% for 3 legs and scales up to 100% for 14+ legs, encouraging players to add more selections.

  1. 1

    Click 'New Template'

    Open the template creation wizard.

  2. 2

    Basic tab

    Set Name to 'Acca Boost 5-100%'. Select Type = 'accumulator'. Set Trigger = 'on_bet_settled'. Description: 'Boost your acca winnings up to 100%'.

  3. 3

    Product & Targeting tab

    Select Product Category = 'Sports'.

  4. 4

    Reward & Wagering tab

    Set min_odds_per_leg = 1.20, max_payout = 50000. Configure the boost tiers: 3 legs = 5%, 4 legs = 10%, 5 legs = 15%, up to 14+ legs = 100%.

  5. 5

    Activate and Save

    Toggle Active on and click Save.

Column / FieldDescription
min_odds_per_leg1.20 (each selection must be at least 1.20)
max_payout50000 (caps the boosted payout)
Boost Tiers3 legs = 5%, 4 = 10%, 5 = 15%, ... 14+ = 100%

5. Free Spins (50 Spins on Apogee Slots)

Type: free_spins  |  Product: casino  |  Risk: medium

Awards 50 free spins valued at $0.10 each on Apogee slot games. Winnings from free spins are subject to 20x wagering before withdrawal.

  1. 1

    Click 'New Template'

    Open the template creation wizard.

  2. 2

    Basic tab

    Set Name to '50 Free Spins - Apogee'. Select Type = 'free_spins'. Set Trigger = 'on_registration' (or 'on_deposit' for deposit-triggered spins). Description: '50 free spins on our top Apogee slots!'.

  3. 3

    Product & Targeting tab

    Select Product Category = 'Casino'. Under Provider, select 'Apogee'. Optionally restrict to specific slot game IDs.

  4. 4

    Free Spins Configuration

    Set Free Spins Count = 50, Spin Value = 0.10. This gives a total free-play value of $5.00.

  5. 5

    Reward & Wagering tab

    Set Wagering Multiplier = 20x (applied to free spin winnings only).

  6. 6

    Activate and Save

    Toggle Active on and click Save.

Column / FieldDescription
Free Spins Count50
Spin Value0.10 ($5.00 total free-play value)
Providerapogee
Wagering20x on winnings from the free spins

Medium Risk

Free spins can generate unexpected liability if the slot has high variance. Monitor payouts during the first week and consider capping max win from free spins.

6. Bet & Get ($10 Bet = $20 Free Bets)

Type: bet_and_get  |  Product: sports  |  Risk: low

When a player places a qualifying $10+ bet, they receive two $10 free bets ($20 total). Great for encouraging first bets or re-engaging lapsed players.

  1. 1

    Click 'New Template'

    Open the template creation wizard.

  2. 2

    Basic tab

    Set Name to 'Bet $10 Get $20 Free Bets'. Select Type = 'bet_and_get'. Set Trigger = 'on_bet_settled'. Set Reward Type = 'free_bet'. Description: 'Bet $10 and get $20 in free bets!'.

  3. 3

    Product & Targeting tab

    Select Product Category = 'Sports'.

  4. 4

    Reward & Wagering tab

    Set min_stake = 10, min_odds = 1.50, reward_amount = 20, reward_count = 2. This awards two separate $10 free bet tokens.

  5. 5

    Activate and Save

    Toggle Active on and click Save.

Column / FieldDescription
min_stake10 (qualifying bet must be $10+)
min_odds1.50
reward_amount20 (total free bet value)
reward_count2 (split into two $10 free bets)

7. Parlay Insurance (Refund if 1 Leg Loses)

Type: parlay_insurance  |  Product: sports  |  Risk: low

If a player's 4+ leg accumulator loses by exactly one selection, they receive their stake back as a free bet (up to $25). Encourages larger parlays with reduced risk perception.

  1. 1

    Click 'New Template'

    Open the template creation wizard.

  2. 2

    Basic tab

    Set Name to 'Parlay Insurance'. Select Type = 'parlay_insurance'. Set Trigger = 'on_bet_settled'. Set Reward Type = 'free_bet'. Description: 'Miss by one leg? Get your stake back as a free bet!'.

  3. 3

    Product & Targeting tab

    Select Product Category = 'Sports'.

  4. 4

    Reward & Wagering tab

    Set min_legs = 4, max_lost_legs = 1, min_odds_per_leg = 1.30, max_refund = 25.

  5. 5

    Activate and Save

    Toggle Active on and click Save.

Column / FieldDescription
min_legs4 (parlay must have at least 4 selections)
max_lost_legs1 (insurance triggers only if exactly 1 leg lost)
min_odds_per_leg1.30
max_refund25 (stake refund capped at $25)

8. Flash Boost (25% Odds Boost for 2 Hours)

Type: flash_boost  |  Product: sports  |  Risk: low

A time-limited 25% odds boost that runs for a specific 2-hour window. Perfect for driving engagement during big matches or quiet periods.

  1. 1

    Click 'New Template'

    Open the template creation wizard.

  2. 2

    Basic tab

    Set Name to 'Flash 25% Odds Boost'. Select Type = 'flash_boost'. Set Reward Type = 'odds_boost'. Description: '25% odds boost - available for 2 hours only!'.

  3. 3

    Product & Targeting tab

    Select Product Category = 'Sports'. Optionally restrict to specific leagues or events.

  4. 4

    Reward & Wagering tab

    Set boost_pct = 25, max_stake = 50, min_odds = 1.50.

  5. 5

    Schedule tab

    Set flash_start and flash_end to define the exact 2-hour window (e.g., 18:00 - 20:00 on match day). The boost automatically activates and deactivates at these times.

  6. 6

    Activate and Save

    Toggle Active on and click Save. The boost will only be available during the configured window.

Column / FieldDescription
boost_pct25 (increases odds by 25%)
max_stake50 (max stake eligible for the boost)
min_odds1.50
flash_startStart time of the flash window (e.g., 2024-03-15T18:00)
flash_endEnd time of the flash window (e.g., 2024-03-15T20:00)

9. Payment Method Bonus (15% Extra on Mobile Money)

Type: payment_method  |  Product: all  |  Risk: low

Awards a 15% bonus (up to $50) when a player deposits using a mobile money method (MTN MoMo, M-Pesa, or Airtel Money). Useful for driving adoption of preferred payment channels.

  1. 1

    Click 'New Template'

    Open the template creation wizard.

  2. 2

    Basic tab

    Set Name to 'Mobile Money 15% Bonus'. Select Type = 'payment_method'. Set Trigger = 'on_deposit'. Set Reward Type = 'bonus_credit'. Description: 'Get 15% extra when you deposit via Mobile Money!'.

  3. 3

    Product & Targeting tab

    Select Product Category = 'All'. Under Deposit Methods, select 'mtn_momo', 'mpesa', and 'airtel_money'.

  4. 4

    Reward & Wagering tab

    Set match_pct = 15, max_bonus = 50. Configure wagering requirements as desired (e.g., 3x at 1.50 min odds).

  5. 5

    Activate and Save

    Toggle Active on and click Save.

Column / FieldDescription
match_pct15 (15% of the deposit amount)
max_bonus50 (caps the bonus at $50)
Deposit Methodsmtn_momo, mpesa, airtel_money
Triggeron_deposit (fires each time a qualifying deposit is made)

10. Lootbox / Mystery Box

Type: lootbox  |  Product: all  |  Risk: low

Players open a mystery box to receive a random reward drawn from a weighted pool. The rarity tiers create excitement and can be used as loyalty rewards, daily login incentives, or promotional giveaways.

  1. 1

    Click 'New Template'

    Open the template creation wizard.

  2. 2

    Basic tab

    Set Name to 'Mystery Box'. Select Type = 'lootbox'. Set Reward Type = 'lootbox'. Description: 'Open a Mystery Box for a chance to win up to $50!'.

  3. 3

    Product & Targeting tab

    Select Product Category = 'All'.

  4. 4

    Lootbox Pools tab

    This is where you define the reward pool. Add each reward tier as a row:

  5. 5

    Add reward: $1 Free Bet (Common)

    Set reward type = 'free_bet', value = 1, weight = 50, rarity = 'common'. This will be drawn ~58% of the time.

  6. 6

    Add reward: $5 Free Bet (Uncommon)

    Set reward type = 'free_bet', value = 5, weight = 20, rarity = 'uncommon'. Drawn ~23% of the time.

  7. 7

    Add reward: $10 Bonus Credit (Rare)

    Set reward type = 'bonus_credit', value = 10, weight = 10, rarity = 'rare'. Drawn ~12% of the time.

  8. 8

    Add reward: 25% Profit Boost (Epic)

    Set reward type = 'profit_boost', value = 25, weight = 5, rarity = 'epic'. Drawn ~6% of the time.

  9. 9

    Add reward: $50 Free Bet (Legendary)

    Set reward type = 'free_bet', value = 50, weight = 1, rarity = 'legendary'. Drawn ~1% of the time.

  10. 10

    Activate and Save

    Review the pool weights to ensure the expected value per box fits your budget, then toggle Active on and click Save.

Column / FieldDescription
$1 Free BetWeight 50 (common) - ~58% chance
$5 Free BetWeight 20 (uncommon) - ~23% chance
$10 Bonus CreditWeight 10 (rare) - ~12% chance
25% Profit BoostWeight 5 (epic) - ~6% chance
$50 Free BetWeight 1 (legendary) - ~1% chance

Starter Pack Recommendation

If you are launching a new operator and want a proven combination, start with these three bonuses: Welcome Deposit Match (drives sign-ups), Weekly Cashback (retains players through losing streaks), and Acca Boost (encourages higher-margin accumulator bets). This trio covers acquisition, retention, and engagement with minimal risk exposure.