Creating a Story
- Go to Menu → Stories in your dashboard
- Click Create Story
- Enter a title (displayed in the viewer)
- Add one or more pages (videos)
- Configure CTAs for each page
- Set the display order
- Click Publish
Story Structure
Each story consists of:| Element | Description |
|---|---|
| Title | Name shown in the story viewer |
| Pages | One or more video pages within the story |
| Thumbnail | First frame of the first video (auto-generated) |
| Order | Position in the carousel |
Pages
Each page within a story contains:| Element | Description |
|---|---|
| Video | Vertical video content (uploaded to Mux) |
| CTA Type | Action triggered when the button is tapped |
| CTA Label | Custom button text (optional) |
| CTA Data | Target product, category, or URL |
Video Requirements
| Specification | Requirement |
|---|---|
| Orientation | Vertical (9:16 aspect ratio) |
| Format | MP4, MOV, or WebM |
| Duration | 5-60 seconds recommended |
| Resolution | 1080x1920 or higher |
Call-to-Action Types
Add to Basket
Adds the linked product directly to the customer’s basket.- Best for simple items without required modifiers
- If the product has modifiers, the item modal opens instead
- Highest conversion CTA type
View Item
Opens the product detail modal.- Use when products have modifiers to configure
- Allows customers to see full details before adding
View Category
Scrolls the menu to the selected category.- Closes the story viewer
- Useful for promoting entire menu sections
External URL
Opens an external link in a new tab.- Track clicks before the user leaves
- Use for bookings, events, or external content
None
No CTA button displayed.- Use for brand content or announcements
- Video plays without prompting action
Viewer Behavior
When a customer opens a story:| Interaction | Behavior |
|---|---|
| Tap right | Next page or next story |
| Tap left | Previous page |
| Hold | Pause video |
| Swipe up | Trigger CTA (if configured) |
| X button | Close viewer |
| Escape key | Close viewer (desktop) |
| Back button | Close viewer (mobile) |
Progress Indicator
A progress bar at the top shows:- Current position within the story
- Number of pages in the current story
- Auto-advances when video completes
Metrics & Tracking
storekit tracks comprehensive story engagement:| Event | Data Captured |
|---|---|
| Viewer Opened | Story ID, source location |
| Story Viewed | Story ID, page index, has video, has CTA |
| Navigation | Direction (next/prev), method (tap/auto) |
| CTA Clicked | CTA type, target, video progress % |
| Story Completed | Time spent, pages viewed |
| Viewer Closed | Close method, total stories/pages viewed, session duration |
Key Metrics
| Metric | Description |
|---|---|
| Open rate | % of menu views that opened stories |
| Completion rate | % of stories watched to the end |
| CTA click rate | % of views that clicked the CTA |
| Avg. time spent | Average seconds in the story viewer |
Display Settings
Carousel Position
Stories appear in a horizontal carousel at the top of the menu page, above categories.Thumbnail Preview
Each story shows a looping video preview in the carousel. Customers tap to enter the full-screen viewer.Loading States
- Skeleton placeholders show while stories load
- Blur hash previews display before video is ready
- Spinner indicates video is buffering
Managing Stories
Reordering
Drag and drop stories to change their position in the carousel. First story appears on the left.Editing
Click a story to edit its pages, CTAs, or settings. Changes are saved immediately.Deleting
Delete stories to remove them permanently. This cannot be undone.Archiving
Toggle stories off to hide them without deleting. Useful for seasonal content you’ll reuse.Tips
- First frame matters - The thumbnail is auto-generated from the first frame
- Keep it short - 5-15 seconds per page performs best
- Sound optional - Design for muted viewing since videos start muted
- Rotate content - Fresh stories drive repeat engagement
- Match CTAs - Use “Add to Basket” for simple items, “View Item” for complex ones
- Track performance - Review metrics to optimize underperforming stories