1. What is this page for?
The Promotions page (/promotion) is used to create, manage, edit, toggle, and analyze all promotional campaigns available on your site, such as deposit bonuses, welcome offers, turnover milestones, and birthday bonuses. It also provides performance reports tracking claim volumes, bonus amounts paid out, and player turnover completion rates. This page is designed for marketing staff, promotion managers, and supervisors.
2. Before you start
- Required permissions:
- You must have the 'Promotions' permission granted by an administrator to view, create, edit, toggle, or delete promotions.
- If you only have view permissions, you can browse promotion records and report statistics, but all creation, editing, status switching, and deletion actions will be disabled.
- Things to prepare:
- Promotion categories: Ensure relevant categories exist under Promotion Categories so you can assign the new promotion to a lobby tab.
- Promotion rules: Decide clear rules such as minimum/maximum deposit amounts, eligible player groups, claiming schedule, reward types (credit, points, wheel tickets, or free spins), and turnover requirements.
- Banner images: Prepare banner image files in Thai (and English if applicable) under 5MB in JPEG, PNG, or WebP format.
- Terms and conditions text: Prepare clear promotional rules and descriptions for players to read in the lobby.
3. Screen overview
This page features 2 primary tabs: the Promotion list tab and the Report tab:
- Header: Displays the page title Promotions, description, shortcut button to Promotion categories, and the Add promotion button.
- Main tabs: Switches between the Promotion list tab (managing campaigns) and the Report tab (viewing metrics and trends).
- Status summary cards / Filter tabs: Displays quick filter counts: All promotions, Shown in the lobby, Hidden, and the Deleted tab.
- Search and filters: Text search for promotion names, category selector, promotion type selector, and the Advanced filter drawer toggle.
- Table toolbar: A Refresh button and a counter indicating total promotions matching filters.
- Data table: Displays the list of promotions with lobby order, thumbnail, category, type, schedule, status switch, and action buttons.
- Pagination: Located at the bottom to switch pages and change rows per page (10, 25, 50, 100 entries).
- Period picker and export: Quick period buttons (e.g. 7d, 30d, custom date range) and the Export CSV button.
- Overview statistics cards: High-level metrics for Claims (count), Bonus given (THB), Players (count), and Qualifying deposits (THB).
- Trend charts and distribution cards: A daily claim line chart, a donut chart showing claim status breakdown (active, awaiting withdrawal, completed, cancelled), and a leaderboard card of the top 10 players by bonus received.
- Breakdown table by promotion: Detailed performance table showing claims, players, total bonus, qualifying deposit, and turnover completion rates.
4. Search and filters
| Field / Filter | Type | How to use | Result |
|---|
| Search a promotion's title... | Text input | Type a promotion title in Thai or English | Filters table to matching promotion titles |
| Status tabs | Tab buttons | Click: All promotions, Shown in the lobby, Hidden, or Deleted | Filters table immediately by lobby visibility |
| Category | Dropdown | Select a category tab, e.g. Deposit Bonus, New Members, or All | Displays promotions belonging to that category (enables row ordering arrows) |
| Type | Dropdown | Select: Deposit, Welcome, Turnover, Birthday, or All types | Filters promotions by core bonus mechanics |
| Created | Date range picker | Select From date and To date | Displays promotions created within the selected date range |
| Updated | Date range picker | Select From date and To date | Displays promotions last updated within the selected date range |
| Created by | Admin typeahead | Type an admin name and select from the list | Displays promotions created by the selected admin |
| Updated by | Admin typeahead | Type an admin name and select from the list | Displays promotions last updated by the selected admin |
| Clear | Button | Click the clear button | Resets all search and filter fields back to default |
5. Data table
| Column | What you see | Meaning | Badges / Icons |
|---|
| Order | Order number with up/down arrows | Display position of the card within its category in the lobby | - Up / Down arrows - Dropdown option Move to... |
| Promotion | Small banner thumbnail, title (Thai/English), and tags | Promotion card summary displayed to players | Blue tag chips, e.g. Popular, New Members |
| Category | Assigned category name | Category tab under which this promotion appears | Category name text |
| Type | Promotion type name | Underlying rule type, e.g. Deposit, Welcome | Type label |
| Period | Start date & time to End date & time | Timeframe when players are allowed to claim this promotion | Timestamps (shows past date if expired) |
| Last edited | Date, time, and admin name | Timestamp and username of the last person who updated this record | Date and user badge |
| Status | Toggle switch or text | Visibility status of this promotion in the player lobby | - Switch on (green) = Shown in the lobby - Switch off (gray) = Hidden |
| Actions | Action buttons in each row | Commands to view, edit, reorder, or delete this promotion | See action buttons table below |
| Button | Icon / Color | What happens when clicked | Notes / Conditions |
|---|
| Edit | Pencil icon / Blue | Opens the 4-step edit page (/promotion/edit/[id]) | Shown when you have update permissions |
| View | Eye icon / Gray | Opens the promotion details in read-only mode | Shown when you only have view permissions or if deleted |
| More options (...) | Three dots icon | Opens a menu with additional row actions | Contains Move and Delete options |
| Move to... | Grid icon in dropdown | Opens the dialog to move this promotion directly to a specific place | Reorders card within its assigned category |
| Delete | Trash icon / Red in dropdown | Opens the confirmation dialog to delete the promotion | Enabled only when the promotion is switched Hidden |
6. Step-by-step guides
- Go to Promotions > Promotions in the left sidebar.
- Click the Add promotion button in the top-right corner to open the 4-step wizard:
- Step 1 (Setup): Choose category, promotion type, start and end dates, card tags, and select participating game scopes (categories, providers, or games). Click Continue.
- Step 2 (Conditions): Set minimum and maximum deposit amounts, new member restrictions, user and global claim limits, time restrictions, and allowed ranks. Click Continue.
- Step 3 (Rewards & Turnover): Enable at least one bonus reward (credit, points, wheel tickets, or free spins), set turnover rules (multiplier or target balance), maximum withdrawal limit, and max bet per round. Click Continue.
- Step 4 (Content): Enter the Thai title, upload the Thai banner, and write the Thai promotional terms. Optionally configure English content.
- Review the overview in the Promotion Summary card on the right.
- Click Save in the bottom action bar.
- A green toast "Promotion added" will appear and you will return to the list.
- Find the promotion you wish to edit in the table.
- Click the Edit button (pencil icon) in its row.
- Click steps 1, 2, 3, or 4 at the top to jump directly to the section you wish to change.
- Modify the required settings (to change its category order, use the dropdown in the summary panel on the right).
- Click Save in the bottom action bar.
- A green toast "Promotion saved" will appear.
- In the promotions list, select a specific Category from the filter dropdown.
- Choose one of two reordering methods:
- Step-by-step: Click the Move up or Move down arrow button in the Order column.
- Jump to position: Click the
... menu, select Move to..., enter the target number, and confirm.
- Locate the switch in the Status column of the promotion row.
- Click the switch:
- On (Green): The promotion appears in the lobby immediately for players to claim.
- Off (Gray): The promotion is hidden from the lobby. New claims cannot be made, but players with ongoing turnover can complete their bonus.
- A confirmation toast will notify you that the promotion status has changed.
- Toggle the switch in the Status column to Off (Hidden) first.
- Click the
... menu on that row and select Delete.
- In the confirmation dialog "Delete this promotion?", review the title and click the red Delete button.
- The promotion will be moved to the Deleted tab, with a toast confirming "Promotion deleted".
- Click the Report tab at the top of the page.
- Select the desired period, e.g. 30d or pick custom dates.
- Review the summary metrics, daily charts, and individual promotion statistics.
- Click Export CSV at the top right to download the breakdown report.
7. Create or edit page
The promotion creation and editing wizard (/promotion/create and /promotion/edit/[id]) is organized into 4 configuration steps:
| Field | Required? | What to enter | Example | Constraints |
|---|
| Category | Required | Category tab this promotion belongs to | Deposit Bonus | Must be an existing category |
| Promotion type | Required | Core bonus type: Deposit, Welcome, Turnover, or Birthday | Deposit | Choose one type |
| Start date | Required | Start date and time when claims open | 2026-10-01 00:00 | Bangkok time (ICT) |
| End date | Required | End date and time when claims close | 2026-10-31 23:59 | Must be after start date |
| Card tags | Required | Badge tags displayed on the promotion card in the lobby | Popular, New Member | Select at least 1 tag |
| Participating games | Required | Allowed game scopes: categories, providers, or games | Mode: All, Selected only, or Except | Enable and configure at least 1 level; cannot exclude all games |
Step 2: Claim conditions (Step 2 Conditions)
| Field | Required? | What to enter | Example | Constraints |
|---|
| Minimum deposit | Required | Minimum qualifying deposit amount per transaction | 100 | Integer >= 0 |
| Maximum deposit | Required | Toggle Unlimited or enter a cap amount | 1000 | Must be greater than minimum deposit if specified |
| New users only | Optional | Restrict promotion to newly registered accounts | Switch On | If enabled, select condition: First promo or First deposit |
| Account age limit | Optional | Maximum account age allowed to claim | 7 | Integer (days) |
| Claim limit per user | Required | Choose: Lifetime, Daily, or Unlimited | Daily (1 time/day) | If lifetime or daily, specify a count >= 1 |
| Global claim limit | Required | Toggle Unlimited or specify total site-wide limit | 100 | If specified, must be an integer >= 1 |
| Time restrictions | Optional | Toggle days of week and daily hours allowed | Mon–Fri, 12:00–14:00 | End time must be after start time |
| Allowed ranks | Optional | Member ranks eligible to claim this promotion | Select all or specific ranks | If left blank, all ranks are eligible |
Step 3: Rewards and turnover (Step 3 Rewards & Turnover)
| Field | Required? | What to enter | Example | Constraints |
|---|
| Reward: Free credit | Optional | Choose Fixed amount or Percentage | Fixed 50 THB or 50% max 500 THB | Percentage between 1–100% |
| Reward: Points | Optional | Amount of loyalty points granted | 100 | Integer > 0 |
| Reward: Wheel score | Optional | Lucky wheel score points granted | 50 | Integer > 0 |
| Reward: Wheel tickets | Optional | Number of lucky wheel spin tickets | 1 | Integer > 0 |
| Reward: Free spins | Optional | Provider, slot game, bet amount (1–10 THB), rounds (1–10), and expiry days | Bet 2 THB, 10 rounds, expires in 7 days | Provider and slot must support free spin features |
| Turnover type | Required | Choose Turnover multiplier or Target balance | Turnover multiplier | Must select 1 method |
| Turnover multiplier | Required | Number of times turnover requirement must be wagered | 3 (3x turnover) | Decimal > 0 |
| Include deposit in turnover | Required | Toggle whether deposit amount is added to turnover calculation | Switch Off (bonus only) | Toggle On/Off |
| Wager calculation base | Required | Choose Total bet (total_bet) or Win/Loss (win_loss) | Total bet | Must select 1 method |
| Maximum withdrawal | Required | Toggle Unlimited or enter maximum cashout cap | 1000 | If specified, must be > 0 |
| Max bet per round | Required | Toggle Unlimited or specify maximum wager per round | 50 | Prevents high-risk betting while wagering |
| Feature buy allowed | Required | Toggle whether in-game feature purchases are allowed | Switch Off | Toggle On/Off |
Step 4: Content and images (Step 4 Content)
| Field | Required? | What to enter | Example | Constraints |
|---|
| Promotion title (Thai) | Required | Thai campaign title visible to players | โปรต้อนรับสมาชิกใหม่ ฝาก 100 รับ 150 | 1–150 characters |
| Banner image (Thai) | Required | Upload Thai promotional banner | Rectangular image file | Max 5MB, JPG, PNG, or WebP |
| Promotion terms (Thai) | Required | Full promotional terms, conditions, and rules in Thai | Rich formatted text, lists, and headers | Rich text editor |
| English content | Optional | Toggle English title, banner, and terms | Title: Welcome Bonus Deposit 100 Get 150 | If blank, players will see Thai content |
| Order in category | Required (edit only) | Position order in the lobby category tab | Place 1 | Located in right summary card, 1 to N |
8. Popups and dialogs
- Triggered when: Clicking Delete from the row menu of a hidden promotion.
- What you see: Title "Delete this promotion?", warning text, Cancel button, and red Delete button.
- What to do: Verify the promotion title, then click Delete to confirm.
- Result: The promotion is moved to the Deleted tab and a toast confirms "Promotion deleted".
- Triggered when: Selecting Move to... from the row action menu.
- What you see: Promotion title, current order number, and destination selector.
- What to do: Choose the new position number and confirm.
- Result: The promotion moves to the new position and a toast confirms "Moved".
- Triggered when: Saving a promotion that was updated and saved by another admin in the meantime.
- What you see: Warning message indicating data was saved by someone else first, with a reload button.
- What to do: Click reload to fetch the latest version and verify edits before saving again.
- Result: Prevents conflicting changes from overwriting each other.
9. Statuses and badges
| Badge / Status | Badge Color | Meaning | Next Action Required |
|---|
| Shown in the lobby | Green | Promotion is live and visible for players to claim | No action needed. Operates normally |
| Hidden | Gray | Promotion is hidden from lobby. New claims blocked, ongoing wagering continues | Toggle switch to green to reopen claims |
| Deleted | Gray | Promotion was deleted and moved to the Deleted tab | Archived record. Cannot be reopened |
| In progress (in Report) | Blue | Player claimed the bonus and is currently wagering | Monitor player activity normally |
| Ready to withdraw (in Report) | Orange | Player met turnover requirements and is awaiting withdrawal | Verify activity and proceed when withdrawal requested |
| Completed (in Report) | Green | Player met turnover and successfully withdrew or finished promo | Campaign cycle finished. No action needed |
| Cancelled (in Report) | Red | Promotion was forfeited or expired | Check cancellation notes if required |
10. Frequently asked questions / Troubleshooting
- If the delete button cannot be clicked:
- The promotion must be toggled to Hidden (Gray) first before it can be deleted.
- If saving fails and a red exclamation mark appears on a step:
- Required fields in that step are missing or invalid. Click the step marked with the red icon and check for red error borders or text messages.
- If you hide a promotion, does it affect players who already claimed it?
- No. Existing active bonuses remain in player wallets and can be wagered until completion. Only new claims are prevented.
- If players report they cannot claim a deposit bonus:
- Check whether the deposit met the Minimum deposit threshold.
- Check whether the player exceeded their personal Claim limit (daily or lifetime).
- Verify that the claim was made during the Allowed hours and days.
- Check whether the player's member rank is included in Allowed ranks.