Triggers & Targeting
Triggers
Section titled “Triggers”A trigger determines when the SDK checks whether to show the message. Available trigger types:
| Trigger | When the message is evaluated |
|---|---|
| Manual | Shown programmatically by your app via the SDK |
| Milestone | When a referral milestone is reached (e.g. signup, purchase) |
| Event | When your app sends a specific custom event to the SDK |
With the event trigger, you can show messages at precise moments: after a purchase, after completing onboarding, after viewing a specific screen, or any other event your app tracks. The milestone trigger ties messages to your referral funnel, letting you congratulate users or prompt next steps when they hit specific milestones.
Audience targeting
Section titled “Audience targeting”You can target a message to a specific audience segment. When a segment is set, only users who match the segment’s rules see the message. Everyone else is silently skipped.
Examples:
- Show an upgrade prompt only to free-tier users
- Show a feature announcement only to users in the US
- Show a re-engagement message only to users who have not opened the app in 7 days
If no audience is set, the message is shown to all users who match the trigger.
Scheduling
Section titled “Scheduling”Set a start date and end date (UTC) to control when the message is active:
- Before the start date: the message is not shown.
- After the end date: the message is not shown.
- Both dates are optional. Without them, the message runs indefinitely (until you deactivate it).
Frequency and dismissal
Section titled “Frequency and dismissal”When a user dismisses a message, the SDK records the dismissal locally. The message will not reappear for that user unless you configure a re-show interval (e.g. show again after 7 days).
To prevent message fatigue:
- Set reasonable re-show intervals (or do not re-show at all for one-time announcements).
- Use audience targeting to avoid showing messages to users who have already taken the desired action.
- Prioritize messages by importance. If multiple messages are active, the SDK shows the one with the highest priority.