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:

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.

For a banner to reach the homepage carousel:

  1. An admin creates a banner.
  2. The banner is set to active.
  3. The home_carousel placement exists and is active.
  4. The placement has Include in Bootstrap enabled.
  5. The banner is attached to home_carousel.
  6. The placement assignment is active.
  7. The banner passes schedule and audience checks.
  8. 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:

AudienceMeaningCommon use
allVisible to every visitor and player.General announcement or brand campaign.
guestsVisible only to visitors who are not logged in.Registration offer or welcome campaign.
authenticatedVisible 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.

Banners can be configured with different click behavior:

Link typeBehavior
noneThe banner is not clickable.
internalOpens an internal page such as /promotions.
externalOpens an external URL.
bonusLinks the banner to a selected bonus.
gameOpens a game page by slug.
categoryOpens 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:

  1. Open Admin -> Banners.
  2. Confirm that the home_carousel placement exists.
  3. Make sure the placement is active.
  4. Make sure Include in Bootstrap is enabled.
  5. Confirm Max Items allows the new banner to appear.
  6. Create or edit the banner.
  7. Add the title, subtitle, call-to-action label, and image URL.
  8. Select the link type and target.
  9. Set the banner status to active.
  10. Select the correct audience.
  11. Add start and end dates if the campaign is scheduled.
  12. Attach the banner to home_carousel.
  13. Set the sort order.
  14. Make sure the placement assignment is active.
  15. 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:

ActionResult
Set banner status to inactiveHides the banner everywhere.
Disable the placement assignmentHides the banner only in that placement.
Set an end dateHides the banner automatically after the campaign ends.
Disable the placementHides 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.
  • Open the home_carousel placement.
  • 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 Bootstrap enabled for home_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 Bootstrap is enabled for homepage carousel banners.