Examples

User Story Examples for Product Teams

Real user story examples across SaaS, e-commerce, fintech, developer tools, and mobile apps. Each example includes the standard format, acceptance criteria in Given-When-Then, and the specific persona. Copy and adapt for your product.

How to use these examples

Each example below follows the standard user story format: "As a [persona], I want to [action], so that [outcome]." The persona is specific (not just "user"), the action describes a single capability, and the outcome explains the value. Below each story, you will find one acceptance criterion in Given-When-Then format to show how the story translates into testable behavior.

These examples are organized by product category. Find the category closest to your product, then adapt the persona, action, and outcome to match your specific users and features. The structure stays the same regardless of your product domain.

User story examples by category

SaaS Platform

As a workspace admin, I want to set role-based permissions for each team member, so that I can control who can edit, view, or delete sensitive project data.

Acceptance Criterion

Given I am on the team settings page, when I change a member's role from Editor to Viewer, then they can no longer edit documents and see a read-only indicator.

As a new user, I want to complete an interactive onboarding flow, so that I understand how to create my first project without reading documentation.

Acceptance Criterion

Given I have just signed up, when I log in for the first time, then I see a step-by-step guide that walks me through creating a project, and I can skip it at any time.

As a team lead, I want to see a dashboard of all active projects with their statuses, so that I can quickly identify which projects are on track and which need attention.

Acceptance Criterion

Given I am on the dashboard, when I view the project list, then each project shows its status (on track, at risk, blocked), owner, and last updated date.

As a billing admin, I want to download invoices for the past 12 months, so that I can submit them to our finance department for expense reconciliation.

Acceptance Criterion

Given I am on the billing page, when I click "Download" on any invoice row, then a PDF downloads with our company name, amount, date, and line items.

E-commerce

As a returning customer, I want to reorder my previous purchase with one click, so that I can restock frequently purchased items without navigating the catalog.

Acceptance Criterion

Given I am on my order history page, when I click "Reorder" on a past order, then all items are added to my cart with the same quantities.

As a mobile shopper, I want to save my shipping address for future orders, so that I can complete checkout in fewer steps next time.

Acceptance Criterion

Given I am on the checkout page, when I enter my address and check "Save for future orders," then the address appears as a saved option on my next checkout.

As a first-time buyer, I want to see product reviews sorted by most helpful, so that I can make an informed purchase decision based on other customers' experiences.

Acceptance Criterion

Given I am on a product page with 50+ reviews, when I select "Most Helpful" sort, then reviews are ordered by helpfulness votes descending.

As a gift buyer, I want to add a gift message and select gift wrapping at checkout, so that the recipient receives a wrapped item with my personal message.

Acceptance Criterion

Given I am on the checkout page, when I check "This is a gift" and enter a message, then the order confirmation shows gift wrapping fee and message preview.

Fintech

As a small business owner, I want to categorize expenses automatically from bank transactions, so that I can see monthly spending by category without manual data entry.

Acceptance Criterion

Given I have connected my bank account, when new transactions appear, then each is auto-categorized (e.g., Travel, Software, Office) with 90%+ accuracy, and I can override any category.

As an account holder, I want to set up recurring transfers to my savings account, so that I can build savings automatically without remembering to transfer each month.

Acceptance Criterion

Given I am on the transfers page, when I set up a $500 monthly transfer to savings on the 1st, then the transfer executes automatically each month and I receive a confirmation notification.

As a freelancer, I want to generate a quarterly tax estimate based on my income, so that I can set aside the right amount for estimated tax payments.

Acceptance Criterion

Given I have 3 months of income data, when I click "Estimate Taxes," then I see a tax estimate based on my income bracket with a breakdown by federal and state.

As a joint account holder, I want to see which transactions were made by me and which by my partner, so that we can track individual spending within a shared account.

Acceptance Criterion

Given I am viewing the transaction list, when I filter by "My transactions," then only transactions from my linked card appear.

Developer Tools

As a backend developer, I want to see API request logs with response times and error rates, so that I can identify slow endpoints and debug failed requests.

Acceptance Criterion

Given I am on the API logs page, when I filter by "status: 500" and "last 24 hours," then I see all failed requests with their endpoint, response time, request body, and error message.

As a DevOps engineer, I want to set up alerts for when error rates exceed a threshold, so that I get notified before users are significantly impacted.

Acceptance Criterion

Given I am on the alerts configuration page, when I create an alert for "error rate > 5% for 5 minutes," then I receive a Slack notification when the threshold is breached.

As an API consumer, I want to generate an API key with scoped permissions, so that I can integrate with the API without exposing my full account access.

Acceptance Criterion

Given I am on the API settings page, when I create a key with "read-only" scope, then the key can only perform GET requests and returns 403 for POST/PUT/DELETE.

As a frontend developer, I want to preview API responses in the documentation before writing code, so that I can plan my implementation without making actual API calls.

Acceptance Criterion

Given I am on the API docs page, when I click "Try It" on an endpoint, then I see a sample response with the full schema and example values.

Mobile App

As a commuter, I want to use the app offline with my most recent data, so that I can access my information during subway rides without cellular service.

Acceptance Criterion

Given I have opened the app while online, when I lose connectivity, then I can still view my previously loaded data with a banner indicating offline mode.

As a user with accessibility needs, I want to navigate the entire app using VoiceOver, so that I can use all features without relying on visual interface elements.

Acceptance Criterion

Given VoiceOver is enabled, when I swipe through screens, then all interactive elements are labeled and all actions are accessible via gestures.

As a power user, I want to customize my home screen widgets, so that I can see the information I check most frequently without opening the app.

Acceptance Criterion

Given I long-press the home screen, when I add the app widget and select "Daily Summary," then the widget shows my key metrics updated every 30 minutes.

Related templates

Frequently asked questions

Generate user stories from your product data

Connect your tools and Vantage generates stories grounded in your analytics, conversations, and designs. Free to start.

Free to start. No credit card required.

Related reading