Skip to content
All Skills

Onboarding Optimization

When the user wants to improve their app's onboarding experience, increase activation rate, reduce Day 1 drop-off, or optimize the first-run flow. Use when the user mentions "onboarding", "first-run", "activation", "tutorial", "day 1 retention", "new user flow", "permission prompts", "sign-up conversion", "onboarding funnel", or "users dropping off early". For overall retention strategy, see retention-optimization. For paywall placement, see monetization-strategy.

Business, Marketing & Sales|v1|Updated 7/14/2026|GitHub source
MCP get_skill({ skillId: "onboarding-optimization-846e3f80" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# Onboarding Optimization

You optimize the first-run experience to maximize activation — the moment a new user completes the core action that predicts long-term retention.

## The Activation Principle

**Activation ≠ sign-up.** Activation is the first time the user gets real value from your app. Identify it before anything else.

| App Type | Activation Event |
|----------|-----------------|
| Fitness | First workout completed |
| Productivity | First task or project created |
| Social | First connection made or content posted |
| Finance | First account linked or budget set |
| Games | First level or match completed |
| Meditation | First session completed |
| Photo/Video | First photo edited or exported |

**Rule:** Everything in onboarding should funnel toward that one activation event as fast as possible.

## Initial Assessment

1. Check for `app-marketing-context.md`
2. Ask: **What is your activation event?**
3. Ask: **What % of new users reach it within 24 hours?** (baseline)
4. Ask: **Where do users drop off?** (which step, if known)
5. Ask: **How long does your current onboarding take?** (steps, screens)
6. Ask: **Do you have Firebase/Mixpanel funnels set up?**

## Onboarding Audit Framework

### Step 1 — Map the Current Flow

List every screen from app open to activation:

```
App open → [Screen 1] → [Screen 2] → ... → Activation event
```

Flag each screen: **Required** | **Value-adding** | **Friction only**

Remove or defer everything that is friction-only.

### Step 2 — Score Each Screen

| Factor | Question | Score |
|--------|---------|-------|
| **Necessity** | Can the user reach activation without this? | 0 = skip it |
| **Timing** | Is this the right moment for this ask? | |
| **Value exchange** | Does the user understand why this benefits them? | |
| **Cognitive load** | How many decisions does this require? | |

### Step 3 — Permission Prompt Timing

Permissions are the #1 drop-off point. Rules:

| Permission | When to ask | Never ask |
|-----------|------------|-----------|
| Push notifications | After activation, not before | On cold open |
| Location | When the feature needs it | During sign-up |
| Camera/microphone | Contextually, when used | Before any value |
| Contacts | When the social feature is used | In onboarding |
| Tracking (ATT) | After user is invested | On first open |

**The pre-permission screen:** Always show a native-looking explanation screen before the system prompt. Users who understand the "why" grant at 2–3× the rate.

### Step 4 — Sign-Up Friction

| Pattern | Impact | Recommendation |
|---------|--------|---------------|
| Required sign-up before value | High drop-off | Defer to post-activation |
| Only email+password | Medium drop-off | Add Sign in with Apple + Google |
| Long profile setup | High drop-off | Ask 1 question max, defer rest |
| Email verification required | Kills momentum | Defer or make optional |

**Guest mode / try before sign-up:** Allow users to experience the core value before requiring an account. Conversion from guest → registered is typically 40–60% vs. a hard gate at 15–30%.

## Onboarding Patterns by App Type

### Value-First (recommended for most apps)

```
Open → Core feature demo / interactive preview
     → Activation moment
     → "Save your progress" → Sign-up
     → Permission asks
     → Personalization
```

### Personalization-First (works for health, fitness, AI apps)

```
Open → 3–5 personalization questions (show progress bar)
     → "Your plan is ready" reveal moment
     → Sign-up gate (invested now)
     → Activation
```

### Social-First (social apps)

```
Open → Sign in with Apple/Google (single tap)
     → Find friends / follow suggestions
     → First feed with content
     → Activation (post, comment, react)
```

## Funnel Benchmarks

| Step | Benchmark | Poor |
|------|-----------|------|
| App open → first interaction | > 85% | < 70% |
| Sign-up conversion | > 60% | < 40% |
| Push permission grant | > 50% | < 30% |
| Activation (D0) | > 40% | < 20% |
| Day 1 retention | > 30% | < 15% |

## Personalization Questions

If you include personalization, follow these rules:
- Maximum **3–5 questions** in onboarding
- Each question must visibly affect the experience
- Show a progress indicator (step 1 of 3)
- Use visual selections, not text inputs
- Never ask for data you won't use immediately

## Paywall Placement in Onboarding

**Rule:** Show value before the paywall.

| Placement | Works When |
|-----------|-----------|
| Before activation | Almost never — user has no reference for value |
| At activation | Strong — user just felt the value |
| Post-activation, D1 | Strongest for subscription apps |
| Contextual (feature gate) | Good for feature-based paywall |

See `monetization-strategy` for paywall design details.

## Output Format

### Onboarding Audit

```
Current flow:
  [Screen 1] — Required / friction
  [Screen 2] — Value-adding
  [Screen 3] — Required / friction
  ...
  [Activation event] — Step N

Drop-off analysis:
  Biggest drop: [screen] ([X]% exit rate if known)
  Estimated cause: [hypothesis]

Recommended changes:
1. [Remove / defer X] — Expected impact: [lift in activation]
2. [Reorder Y before Z] — Expected impact: [rationale]
3. [Add pre-permission screen for Z] — Expected impact: [grant rate improvement]

Revised flow:
  Open → [Screen] → [Screen] → Activation → Sign-up → Permissions
  Estimated steps removed: [N]
  Estimated time to activation: [Xs → Xs]
```

### Permission Screen Copy Template

```
[Icon representing the permission]

[Benefit headline — what the user gets]
e.g., "Get notified when your goal is complete"

[One-line explanation]
e.g., "We'll only send you reminders you set — no spam."

[Allow button]     [Not now]
```

## Related Skills

- `retention-optimization` — Day 7/30 retention strategy
- `monetization-strategy` — Paywall placement and trial design
- `ab-test-store-listing` — Test onboarding variants
- `app-analytics` — Set up activation funnel tracking
- `rating-prompt-strategy` — When to ask for a rating post-activation
#work-life#productivity#app-store-optimization#marketing#ab#testing

Related Skills

More skills in Business, Marketing & Sales

Ab Testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program," or "experiment playbook." Use this whenever someone is comparing two approaches and wants to measure which performs better, or when they want to build a systematic experimentation practice. For tracking implementation, see analytics. For page-level conversion optimization, see cro.

#work-life#productivityMIT

Ab Test Setup

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "conversion experiment," "statistical significance," or "test this." For tracking implementation, see analytics-tracking.

#work-life#productivityMIT

Ab Test Setup

Ab Test Setup linked from Corey Haines marketing skills, with the upstream skill instructions available on GitHub.

#work-life#productivityMIT

Ab Test Store Listing

When the user wants to A/B test App Store product page elements to improve conversion rate. Also use when the user mentions "A/B test", "product page optimization", "test my screenshots", "test my icon", "conversion rate optimization", "CPP", or "custom product pages". For screenshot design, see screenshot-optimization. For metadata optimization, see metadata-optimization.

#work-life#productivityMIT

Account Research

Research a company or person and get actionable sales intel. Works standalone with web search, supercharged when you connect enrichment tools or your CRM. Trigger with "research [company]", "look up [person]", "intel on [prospect]", "who is [name] at [company]", or "tell me about [company]".

#work-life#productivityApache-2.0

Account Research

Research a company using Common Room data. Triggers on 'research [company]', 'tell me about [domain]', 'pull up signals for [account]', 'what's going on with [company]', or any account-level question.

#work-life#productivityApache-2.0

Explore Other Categories

Skills from other categories with shared topics

App Rejection Recovery

When the user's app or update was rejected by Apple App Review or Google Play Review and they need to diagnose why, fix it, and resubmit fast. Use when the user mentions "app rejected", "App Review rejection", "guideline violation", "Apple rejected my app", "Google Play rejected", "Play policy violation", "Resolution Center", "metadata rejection", "binary rejection", "guideline 2.1", "guideline 4.3", "guideline 5.1.1", "Sign in with Apple required", "Apple ID rejection", "Play Store suspension", "appeal", "I need to respond to App Review", or "expedited review". For pre-submission listing health, see aso-audit. For metadata-only fixes, see metadata-optimization.

Mobile App Development#work-life#productivity

Crash Analytics

When the user wants to monitor, triage, or reduce their app's crash rate — including setting up Crashlytics, prioritizing which crashes to fix first, interpreting crash data, and understanding how crashes affect App Store ranking. Use when the user mentions "crash", "crashlytics", "crash rate", "ANR", "app not responding", "crash-free sessions", "crash-free users", "symbolication", "stability", "firebase crashes", "app crashing", or "crash report". For overall analytics setup, see app-analytics.

Mobile App Development#work-life#productivity

Agent Protocol

Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, and response formats. Use when C-suite agents need to query each other, coordinate cross-functional analysis, or run board meetings with multiple agent roles.

Agent Orchestration#work-life#productivity