In-App Campaigns
Product Boundary
In-app campaigns are platform-operated product experiences. Campaign design and copy are authored in code; the Platform surface controls delivery. This is intentionally not a content or layout builder.
The first registered campaign is welcome_beta, an organization-surface onboarding story. The same delivery model can later support code-authored announcements without giving operators arbitrary presentation controls.
Operator Contract
Platform administrators can:
- preview the exact product experience
- launch or resume a campaign
- pause automatic delivery
- create a new delivery version so eligible users see it again
- review seen and completed counts for the current delivery
Creating a new delivery version is explicit because it interrupts users who may already have completed an earlier delivery.
Recipient Contract
- Live campaigns appear automatically for an eligible authenticated organization user.
- A user receives each delivery version at most once automatically.
- Closing records a dismissed receipt; finishing records a completed receipt.
- Manual replay remains available from the organization account menu and does not change delivery metrics.
- Campaign eligibility is persisted by user, campaign key, and delivery version rather than browser storage.
Current Presentation
welcome_beta uses the shared animated theme backdrop with a readable content panel, four localized slides, reduced-motion behavior inherited from the theme backdrop, keyboard-accessible dialog navigation, and links to What’s new, Terms, and Privacy.
Deliberate Non-Goals
- no drag-and-drop builder
- no arbitrary HTML or visual editing
- no organization-authored announcements
- no portal campaign delivery
- no element-anchored guided tours
- no legal acceptance implied by completing or dismissing a campaign