Slots & Modes
Slots are display locations in your app. Each slot can operate in one of three modes that determine how messages are selected and shown to users.
Modes
Stack (default)
All active messages are returned, sorted by order (highest first). Users can dismiss a message to see the next one. This is the classic behavior for notification banners or announcement lists.
Best for: Sequential announcements, dismissible banners, queued notifications.
A/B Test
One message is selected per user, chosen deterministically based on their user ID (or session ID). Each user always sees the same message, which makes it ideal for testing different versions.
Best for: Testing different message versions, personalization experiments.
Random
One message is selected randomly on each page load. Different users (or the same user on different visits) may see different messages.
Best for: Rotating tips, varied promotional content.
Changing the Mode
You can change a slot's mode directly from the Slots page — click the mode selector next to the slot name. Both admins and members can change modes. The change takes effect immediately for all users.
Slot Configuration (Admin Only)
When creating or editing a slot, admins can configure:
| Setting | Description |
|---|---|
| Name | Identifier used in the SDK (useSlot("name")) |
| Mode | Stack, A/B Test, or Random |
| Allowed fields | Which optional fields are available: description, URL, button label, intent |
| Events | Named triggers for showing context-specific messages |
Events
Slots can have events — named triggers that let you show different messages based on what's happening in the app. When events are configured:
- Each message must be assigned to an event
- In A/B Test or Random mode, one message is selected per event (not per slot)
- In Stack mode, all messages for the triggered event are returned
Example
A "notifications" slot with events low-token, trial-ending, and new-feature:
- The developer calls
useSlot("notifications", { event: "low-token" })in the appropriate part of the app - You create different messages for each event in the dashboard
- Each event can have multiple messages, and the slot's mode determines which one is shown
Messages per Slot
Slots can optionally have a max messages limit. If set, you won't be able to add more messages once the limit is reached. This is useful to keep the number of messages in a slot manageable.