Banner management
Tsada includes an operator-controlled banner system for promotional and informational content on the public casino website. Banners are managed from the admin panel and stored in the database, so campaign content does not need to be hardcoded into the frontend.
A banner appears on the website only when the banner, placement, assignment, audience, schedule, and placement limits all allow it. This gives operators control over homepage campaigns without requiring code changes for every promotion.
What the system controls
The banner system is built around three records:
Banner
A banner is the promotional content itself. It can include a title, subtitle, call-to-action label, image URL, link behavior, audience, status, schedule, and optional metadata.
Typical banner use cases include:
- Registration offers for guests.
- Deposit reload campaigns for logged-in players.
- Game or category highlights.
- Seasonal promotions.
- Operational announcements.
The banner status controls whether the banner is eligible to appear anywhere. Draft and inactive banners remain available in the admin panel but are not shown to players.
Placement
A placement is a website location where banners can appear. The current homepage carousel uses:
home_carousel
Each placement can be enabled or disabled, included in the frontend bootstrap response, and limited to a maximum number of visible banners.
This makes it possible to disable a whole banner area without deleting individual campaigns.
Placement assignment
A placement assignment connects a banner to a placement. This is where ordering and placement-specific scheduling are controlled.
The same banner can be reused in multiple placements later, while each placement keeps its own order, active state, and timing rules.
Homepage carousel flow
For a banner to reach the homepage carousel:
- An admin creates a banner.
- The banner is set to
active. - The
home_carouselplacement exists and is active. - The placement has
Include in Bootstrapenabled. - The banner is attached to
home_carousel. - The placement assignment is active.
- The banner passes schedule and audience checks.
- The frontend reads the placement from
/api/public/bootstrap.
If no eligible banners are returned for home_carousel, the homepage carousel is not shown.
Display rules
A banner is visible only when all relevant rules pass:
- The placement is active.
- The banner status is
active. - The banner-placement assignment is active.
- The banner is inside its start and end schedule, if configured.
- The placement assignment is inside its own start and end schedule, if configured.
- The banner audience matches the current visitor.
- The banner is not excluded by the placement maximum item limit.
- The banner order is determined by the assignment sort order.
This layered model helps operators handle common campaign cases without deleting records or changing frontend code.
Audience targeting
Banner audience controls who can see a campaign:
| Audience | Meaning | Common use |
|---|---|---|
all | Visible to every visitor and player. | General announcement or brand campaign. |
guests | Visible only to visitors who are not logged in. | Registration offer or welcome campaign. |
authenticated | Visible only to logged-in players. | Deposit reload, cashback, or player-only promotion. |
Audience should be selected before publishing. A registration campaign usually targets guests, while a deposit campaign usually targets authenticated.
Link behavior
Banners can be configured with different click behavior:
| Link type | Behavior |
|---|---|
none | The banner is not clickable. |
internal | Opens an internal page such as /promotions. |
external | Opens an external URL. |
bonus | Links the banner to a selected bonus. |
game | Opens a game page by slug. |
category | Opens a category page by slug. |
Link types that need a destination require a valid target. Bonus links require a selected bonus instead of a plain URL.
Creating a homepage banner
To publish a banner in the homepage carousel:
- Open
Admin -> Banners. - Confirm that the
home_carouselplacement exists. - Make sure the placement is active.
- Make sure
Include in Bootstrapis enabled. - Confirm
Max Itemsallows the new banner to appear. - Create or edit the banner.
- Add the title, subtitle, call-to-action label, and image URL.
- Select the link type and target.
- Set the banner status to
active. - Select the correct audience.
- Add start and end dates if the campaign is scheduled.
- Attach the banner to
home_carousel. - Set the sort order.
- Make sure the placement assignment is active.
- Check the homepage after saving.
Ordering banners
Banner order is controlled by the placement assignment, not by the banner record itself.
1 = first
2 = second
3 = third
This allows one banner to appear first on the homepage while using a different order in another placement later.
Temporarily hiding banners
Operators can hide banners in several ways:
| Action | Result |
|---|---|
Set banner status to inactive | Hides the banner everywhere. |
| Disable the placement assignment | Hides the banner only in that placement. |
| Set an end date | Hides the banner automatically after the campaign ends. |
| Disable the placement | Hides the whole banner area. |
Use placement assignment disabling when a banner should be removed from one location without affecting other placements.
Common scenarios
Registration campaign for new visitors
- Set
Audience = guests. - Set
Status = active. - Attach the banner to
home_carousel. - Use an internal registration or promotion target.
Reload campaign for existing players
- Set
Audience = authenticated. - Set
Link Type = bonus. - Select the relevant bonus.
- Attach the banner to the required placement.
Weekend campaign
- Set the campaign start time in
Starts At. - Set the campaign end time in
Ends At. - Keep the banner active.
- Confirm the placement assignment is active.
Limit the carousel to three banners
- Open the
home_carouselplacement. - Set
Max Items = 3. - Give the desired banners the lowest sort order values.
Troubleshooting
If a banner does not appear, check:
- Is the banner status
active? - Is the placement active?
- Is the banner attached to the correct placement?
- Is the placement assignment active?
- Is
Include in Bootstrapenabled forhome_carousel? - Is the current time inside the banner schedule?
- Is the current time inside the placement assignment schedule?
- Does the audience match the current user state?
- Is the banner excluded by
Max Items? - Is the link type configured correctly?
- If the link type is
bonus, is a bonus selected?
Publishing checklist
Before publishing a homepage banner, confirm:
- The banner status is
active. - The image URL works.
- The link type is correct.
- The link target or bonus is configured.
- The audience is correct.
- The schedule is correct.
- The banner is attached to
home_carousel. - The placement assignment is active.
- The placement is active.
Include in Bootstrapis enabled for homepage carousel banners.