{"id":"onboarding-cro","name":"onboarding-cro","summary":"アクティベーション指標、タイムトゥバリュー削減、オンボーディングフロー設計、空状態最適化、マルチチャネル調整、停滞したユーザー回復を含むサインアップ後のユーザーオンボーディング最適化。","body":"# Onboarding CRO\n\nProduction-grade user onboarding optimization framework covering activation definition, time-to-value engineering, flow architecture, empty state design, multi-channel coordination, stalled user recovery, and experiment design. Focused on the critical window between signup and habitual product usage.\n\n---\n\n## Table of Contents\n\n- [Initial Assessment](#initial-assessment)\n- [Activation Definition Framework](#activation-definition-framework)\n- [Onboarding Flow Architecture](#onboarding-flow-architecture)\n- [Time-to-Value Engineering](#time-to-value-engineering)\n- [Empty State Design](#empty-state-design)\n- [Onboarding Patterns by Product Type](#onboarding-patterns-by-product-type)\n- [Multi-Channel Coordination](#multi-channel-coordination)\n- [Stalled User Recovery](#stalled-user-recovery)\n- [Onboarding Checklist Design](#onboarding-checklist-design)\n- [Tooltip and Tour Design](#tooltip-and-tour-design)\n- [Metrics and Measurement](#metrics-and-measurement)\n- [Experiment Framework](#experiment-framework)\n- [Output Artifacts](#output-artifacts)\n- [Related Skills](#related-skills)\n\n---\n\n## Clarify First\n\nBefore designing the onboarding, confirm these inputs. If any is unknown or vague, ASK — do not assume:\n\n- [ ] **Product type** — B2B SaaS, B2C app, marketplace, or content platform (selects the onboarding pattern)\n- [ ] **Activation event (aha moment)** — the action correlated with 30-day retention (defines what the whole flow drives toward)\n- [ ] **Current activation rate + where users drop off** — baseline and the biggest funnel bottleneck to fix\n- [ ] **Day-1/7/30 retention** — sets urgency and whether the problem is onboarding vs product-market fit\n\nStop rule: ask only the 2-3 that most change the output. If the user says \"just draft it,\" proceed and list your assumptions at the top of the deliverable.\n\n## Initial Assessment\n\n### Required Context\n\n| Question | Why It Matters |\n|----------|---------------|\n| What is the product type? (B2B SaaS, B2C app, marketplace, content platform) | Determines the onboarding pattern |\n| What is the core value proposition? | Defines what the aha moment should demonstrate |\n| What happens immediately after signup? | Identifies the current first-run experience |\n| What action correlates most with 30-day retention? | Defines the activation event |\n| Where do users drop off? (funnel data if available) | Pinpoints the biggest bottleneck |\n| What is the current activation rate? | Baseline for improvement |\n| What is Day-1 / Day-7 / Day-30 retention? | Context for urgency |\n\n---\n\n## Activation Definition Framework\n\n### Finding the Aha Moment\n\nThe aha moment is the specific action that, once completed, makes a user significantly more likely to retain. It is NOT a feature -- it is the moment the user experiences the core value.\n\n**Method to identify it:**\n\n1. **Cohort comparison:** Compare 90-day retained users vs churned users. What actions did retained users do in the first 7 days that churned users did not?\n2. **Correlation analysis:** For each candidate action, calculate the correlation between completing that action in week 1 and being retained at day 30.\n3. **Timing analysis:** When do retained users complete this action? (Day 1? Day 3? Day 7?)\n\n### Activation Event Examples\n\n| Product Type | Activation Event | Why This Works |\n|-------------|-----------------|----------------|\n| Project management | Create project + invite 1 team member | Collaboration creates switching costs |\n| Analytics tool | Install tracking + view first report | Seeing their own data is the value |\n| Design tool | Create first design + export or share | Output = value realized |\n| CRM | Import contacts + log first activity | Data investment creates lock-in |\n| Marketplace | Complete first transaction | Transaction = value delivered |\n| Content platform | Follow 3+ sources + consume 5+ items | Personalization drives habit |\n| Communication tool | Send first message + get a reply | Two-sided value activation |\n\n### Activation Metric Structure\n\n```\nActivation Rate = Users who reach activation event / Total signups\n                  (within first N days)\n\nTarget: 40-60% activation within 7 days for B2C\n        25-40% activation within 14 days for B2B\n```\n\n---\n\n## Onboarding Flow Architecture\n\n### Flow Type Selection\n\n| Approach | Best For | Risk | Mitigation |\n|----------|----------|------|------------|\n| Product-first (drop into product) | Simple products, B2C, mobile apps | Blank slate overwhelm | Pre-populated sample data |\n| Guided setup (wizard) | Products needing configuration | Adds friction before value | Keep to 3-5 steps max |\n| Value-first (show results immediately) | Products with demo data | May not feel personalized | Use their data if possible |\n| Template-first | Creative/productivity tools | Choice paralysis | Curate 3-5 starter templates |\n| Video walkthrough | Complex B2B products | Users skip videos | Keep under 90 seconds |\n\n### The First 30-Second Rule\n\nWhatever flow type you choose, within 30 seconds of landing in the product, the user must:\n\n1. See a clear single next action (not 5 options)\n2. Understand what the product will do for them\n3. Have a visible path forward (no dead ends)\n\n### Flow Design Principles\n\n| Principle | Implementation |\n|-----------|---------------|\n| One goal per session | First session focuses ONLY on reaching the aha moment |\n| Do, don't show | User performs the action, not watches a tutorial about it |\n| Progress creates motivation | Show advancement (checklist, progress bar, celebration) |\n| Defer complexity | Advanced settings and features surface AFTER activation |\n| Always escapable | Users can skip or dismiss any onboarding element |\n| Remember state | If user leaves and returns, resume where they left off |\n\n---\n\n## Time-to-Value Engineering\n\n### Time-to-Value (TTV) Reduction Framework\n\nTTV is the elapsed time between signup and the user experiencing core value. Shorter = better.\n\n| Bottleneck | Detection | Fix | Expected TTV Reduction |\n|-----------|-----------|-----|----------------------|\n| Setup required before use | Users drop off during setup | Reduce required setup steps, use defaults | 30-50% |\n| Waiting for data | No value until data arrives | Provide sample/demo data immediately | 40-60% |\n| Waiting for team members | Value requires collaboration | Enable solo value first, then team | 20-40% |\n| Integration required | Cannot function without connecting tools | Offer manual input as alternative | 30-50% |\n| Learning curve | Product too complex for quick win | Guided first action with templates | 20-30% |\n| Approval/verification required | Email verification, admin approval | Defer verification to after first value | 40-60% |\n\n### Quick Win Architecture\n\nDesign the onboarding to deliver a \"quick win\" within the first 3 minutes:\n\n1. Identify the simplest valuable output the product can deliver\n2. Pre-populate inputs where possible\n3. Minimize decisions (use smart defaults)\n4. Celebrate the output (\"You just created your first [X]!\")\n5. Immediately show the next step\n\n---\n\n## Empty State Design\n\nEmpty states are onboarding moments, not dead ends. Every blank screen is an opportunity to guide the user toward activation.\n\n### Empty State Anatomy\n\n```\n┌─────────────────────────────────────┐\n│                                     │\n│      [Illustration or Preview]      │  Show what this will look like with data\n│                                     │\n│   What this section does            │  1 sentence, benefit-focused\n│                                     │\n│   [Primary CTA: Create First X]    │  Single clear action\n│                                     │\n│   Or try with sample data →        │  Low-friction alternative\n│                                     │\n└─────────────────────────────────────┘\n```\n\n### Empty State Rules\n\n| Rule | Good | Bad |\n|------|------|-----|\n| Show the end state | Preview with sample data | Completely blank screen |\n| Single CTA | \"Create your first project\" | \"Learn more\" + \"Watch video\" + \"Read docs\" |\n| Explain the value | \"Track your team's progress in one view\" | \"No projects found\" |\n| Offer sample data | \"Try with example data\" link | Force creation from scratch |\n\n---\n\n## Onboarding Patterns by Product Type\n\n### B2B SaaS\n\n```\nSignup → Setup Wizard (3-5 steps) → First Value Action → Team Invite → Deep Setup\n         ├── Company info              ├── Template selection     ├── Email invites\n         ├── Role/goal selection       ├── Quick configuration    └── Permissions\n         └── Integration connect       └── First output created\n```\n\n**Key metric:** Time from signup to first team collaboration\n\n### Marketplace / Two-Sided\n\n```\nSignup → Complete Profile → Browse/Discover → First Transaction → Repeat Loop\n         ├── Photo/avatar         ├── Curated feed          ├── Guided first action\n         ├── Preferences          ├── Search + filters      └── Transaction completion\n         └── Verification         └── Saved/bookmarked\n```\n\n**Key metric:** Time from signup to first completed transaction\n\n### Mobile App (B2C)\n\n```\nInstall → Permission Requests → Quick Win → Push Notification Setup → Habit Loop\n          ├── Location (if needed)   ├── Core action            ├── Value-based ask\n          ├── Notifications          ├── Immediate result       └── Frequency choice\n          └── Camera/contacts        └── Celebration\n```\n\n**Key metric:** Day-1 retention rate\n\n### Content / Media Platform\n\n```\nSignup → Interest Selection → Personalized Feed → First Engagement → Social Connection\n         ├── Topic picks          ├── Curated content      ├── Read/watch/listen\n         ├── Creator follows      ├── Algorithmic mix      └── Like/save/share\n         └── Format preferences   └── Notification prefs\n```\n\n**Key metric:** Sessions per week in first 14 days\n\n---\n\n## Multi-Channel Coordination\n\n### Email + In-App Matrix\n\n| Trigger | In-App Action | Email Action | Timing |\n|---------|--------------|--------------|--------|\n| Signup complete | Welcome screen with first step | Welcome email with single CTA | Immediate |\n| Step 1 complete | Show step 2 | -- (don't email for every step) | Immediate |\n| 24 hours, incomplete onboarding | Persistent banner/checklist | \"Complete your setup\" email | 24h after signup |\n| 72 hours, not activated | Welcome back modal | \"Here's what you can do\" email | 72h after signup |\n| Activation achieved | Celebration modal + next feature | Celebration email + next step | Immediate |\n| Day 7, feature discovery | Contextual tooltip | \"Did you know?\" feature email | Day 7 |\n| Day 14, engagement dip | -- | Re-engagement with use case examples | Day 14 |\n\n### Email Design Rules\n\n- Each email has ONE CTA that drives back into the product\n- Personalize based on actions already taken (do not ask them to do what they already did)\n- Keep emails short (< 150 words body)\n- Subject line references the specific next step, not generic \"Welcome to [Product]\"\n\n---\n\n## Stalled User Recovery\n\n### Stalled User Definition\n\n| Stalled State | Criteria | Recovery Priority |\n|--------------|----------|------------------|\n| Never started | Signed up, never logged in again | Medium (may be wrong ICP) |\n| Partially onboarded | Completed 1-2 setup steps, stopped | High (invested effort, hit a wall) |\n| Active but not activated | Logged in 3+ times, never reached aha moment | Highest (engaged but stuck) |\n| Activated but churning | Reached aha moment, usage declining | High (retention problem, not onboarding) |\n\n### Recovery Tactics\n\n| Stalled State | Tactic 1 | Tactic 2 | Tactic 3 |\n|--------------|----------|----------|----------|\n| Never started | \"We set up [X] for you\" email | Pre-populated account | -- |\n| Partially onboarded | \"Pick up where you left off\" email | Simplify remaining steps | Offer live help |\n| Active but not activated | In-app guided walkthrough | \"Users like you do [X]\" suggestion | Human outreach for high-value |\n| Activated but churning | Feature discovery emails | Usage tips based on their workflow | CSM outreach for enterprise |\n\n### Human Touch Triggers\n\nFor high-value accounts (enterprise, high ACV), trigger human outreach when:\n- User is > 48 hours stalled in onboarding\n- User visits help docs more than 3 times in a session\n- User starts and abandons the same action 2+ times\n- User's engagement score drops below threshold after initial activation\n\n---\n\n## Onboarding Checklist Design\n\n### When to Use a Checklist\n\n- Multiple setup steps required before full value\n- Product has several features to discover\n- Self-serve B2B products where users self-onboard\n- Products with a clear \"fully set up\" state\n\n### Checklist Best Practices\n\n| Rule | Implementation |\n|------|---------------|\n| 3-7 items | Fewer than 3 = not worth a checklist. More than 7 = overwhelming. |\n| Order by value | Most impactful action first |\n| Start with quick wins | First item should be completable in < 60 seconds |\n| Show progress | Progress bar or \"3 of 5 complete\" counter |\n| Pre-check completed items | If they already did something, mark it done |\n| Celebrate completion | Animation, confetti, \"You're all set!\" message |\n| Dismissable | \"I'll do this later\" option. Never trap users. |\n| Persistent but not blocking | Sidebar widget or dashboard card, not a blocking modal |\n\n### Checklist Item Design\n\nEach item should include:\n- Clear action label (\"Import your contacts\")\n- Why it matters (\"So you can track interactions\")\n- Estimated time (\"Takes about 2 minutes\")\n- CTA button (\"Import Now\")\n\n---\n\n## Tooltip and Tour Design\n\n### When to Use Tooltips/Tours\n\n- Complex UI where features are not self-evident\n- Power features users might miss\n- UI changes after a major update\n- Features that require specific discovery order\n\n### Tour Best Practices\n\n| Rule | Implementation |\n|------|---------------|\n| Max 3-5 steps per tour | More than 5 and users will dismiss |\n| Dismissable at any time | \"Skip tour\" on every step |\n| Don't repeat for returning users | Track tour completion, never show again |\n| Highlight the actual UI element | Spotlight effect on the element being explained |\n| Action-oriented | \"Click here to create a project\" not \"This is where projects live\" |\n| Progressive | Show basic tour on day 1, advanced features tour on day 7 |\n\n---\n\n## Metrics and Measurement\n\n### Key Metrics\n\n| Metric | Formula | Target |\n|--------|---------|--------|\n| Activation rate | Users reaching activation / Total signups | B2C: 40-60%, B2B: 25-40% |\n| Time to activation | Median time from signup to activation event | B2C: < 1 day, B2B: < 7 days |\n| Onboarding completion rate | Users completing all steps / Total signups | > 60% |\n| Day-1 retention | Users returning day after signup / Total signups | > 40% |\n| Day-7 retention | Users active 7 days after signup / Total signups | > 25% |\n| Day-30 retention | Users active 30 days after signup / Total signups | > 15% |\n| Checklist completion rate | Users finishing all items / Users who saw checklist | > 50% |\n\n### Funnel Analysis Template\n\n```\nSignup                  100%\n├── First login          85%  (-15% never return)\n├── Setup step 1         70%  (-15% drop during setup)\n├── Setup step 2         55%  (-15% setup friction)\n├── First value action   40%  (-15% blank slate / confusion)\n├── Activation event     30%  (-10% incomplete value delivery)\n└── Day-7 return         20%  (-10% no habit formed)\n```\n\nFocus optimization on the step with the largest absolute drop.\n\n---\n\n## Experiment Framework\n\n### High-Impact Experiments\n\n| Experiment | Hypothesis | Metric |\n|-----------|-----------|--------|\n| Reduce setup steps | Fewer steps = higher completion | Activation rate |\n| Pre-populate with sample data | Reduces blank slate anxiety | Time to first value action |\n| Add onboarding checklist | Progress visibility increases completion | Onboarding completion rate |\n| Defer email verification | Removes friction before value | Time to activation |\n| Personalize by role/goal | Relevant path increases activation | Activation rate by segment |\n\n### Medium-Impact Experiments\n\n| Experiment | Hypothesis | Metric |\n|-----------|-----------|--------|\n| Welcome video vs text | Video may improve or hurt depending on product | Activation rate + time on first screen |\n| Checklist order change | Value-first ordering improves completion | Checklist completion rate |\n| Guided tour vs self-discover | Tours help complex products | Feature adoption rate |\n| In-app chat during onboarding | Real-time help reduces stalls | Stall rate, activation rate |\n\n---\n\n## Output Artifacts\n\n| Artifact | Format | Description |\n|----------|--------|-------------|\n| Activation Definition Doc | Structured definition | Aha moment, activation event, success metric, measurement plan |\n| Onboarding Flow Diagram | Step-by-step flow | Post-signup flow with drop-off points and decision branches |\n| Checklist Specification | Item-by-item design | 3-7 items with action, rationale, time estimate, and CTA |\n| Email Trigger Map | Trigger/timing/goal table | Conditions and content for each onboarding email |\n| Empty State Copy | Per-screen design | Illustration description, headline, body, CTA for each empty state |\n| Experiment Backlog | Prioritized table | Test ideas ranked by expected impact and effort |\n| Stalled User Playbook | Decision tree | Detection criteria, recovery tactics, escalation rules |\n\n---\n\n## Related Skills\n\n- **signup-flow-cro** -- Use for optimizing the registration flow before users enter the product. Onboarding-cro starts after signup is complete.\n- **paywall-upgrade-cro** -- Use when onboarding leads into upgrade moments. Do not show paywalls before the aha moment is reached.\n- **churn-prevention** -- Use when users activate but then churn. If they never activate, the problem is onboarding, not churn.\n- **page-cro** -- Use when the marketing page before signup is the bottleneck, not the post-signup experience.\n\n---\n\n## Tool Reference\n\n### 1. activation_funnel_analyzer.py\n\n**Purpose:** Analyze an onboarding activation funnel to identify the biggest drop-off points and estimate the impact of fixing each step.\n\n```bash\npython scripts/activation_funnel_analyzer.py funnel_data.json\npython scripts/activation_funnel_analyzer.py funnel_data.json --json\n```\n\n| Flag | Required | Description |\n|------|----------|-------------|\n| `funnel_data.json` | Yes | JSON file with funnel step names and user counts |\n| `--json` | No | Output results as JSON |\n\n### 2. onboarding_checklist_scorer.py\n\n**Purpose:** Score an onboarding checklist design against best practices (item count, ordering, quick wins, progress indication).\n\n```bash\npython scripts/onboarding_checklist_scorer.py checklist.json\npython scripts/onboarding_checklist_scorer.py checklist.json --json\n```\n\n| Flag | Required | Description |\n|------|----------|-------------|\n| `checklist.json` | Yes | JSON file with checklist items and their properties |\n| `--json` | No | Output results as JSON |\n\n### 3. ttv_estimator.py\n\n**Purpose:** Estimate time-to-value (TTV) based on onboarding steps and identify bottlenecks that can be reduced or eliminated.\n\n```bash\npython scripts/ttv_estimator.py onboarding_steps.json\npython scripts/ttv_estimator.py onboarding_steps.json --json\n```\n\n| Flag | Required | Description |\n|------|----------|-------------|\n| `onboarding_steps.json` | Yes | JSON file with onboarding steps, estimated minutes, and requirements |\n| `--json` | No | Output results as JSON |\n\n---\n\n## Troubleshooting\n\n| Problem | Likely Cause | Solution |\n|---------|-------------|----------|\n| Activation rate below 25% (B2B) or 40% (B2C) | Aha moment not reached fast enough | Run ttv_estimator.py to identify TTV bottlenecks; target first value within 5 minutes |\n| Users complete onboarding but do not return Day 7 | Onboarding leads to setup, not to value | Restructure flow so the first session delivers a meaningful output, not just configuration |\n| Onboarding checklist completion below 50% | Too many items or first item is too complex | Reduce to 3-7 items; start with a quick win completable in under 60 seconds; use onboarding_checklist_scorer.py to audit |\n| Stalled users at 40%+ of signups | Blank slate problem or unclear next step | Add pre-populated sample data and empty state CTAs; implement stalled user recovery emails at 24h and 72h |\n| Day-1 retention below 30% | First-run experience has dead ends or confusion | Apply the 30-second rule: within 30 seconds, user sees a single next action, understands the value, and has a path forward |\n| Email onboarding sequences have low open rates | Generic subject lines or wrong timing | Personalize subject lines to reference the specific next step; send at trigger-based timing, not fixed schedules |\n| Team invite rate is low | Invite step placed before value is demonstrated | Defer team invite until after the user has experienced core value individually |\n\n---\n\n## Success Criteria\n\n- Activation rate of 30-40% within 14 days for B2B (40-60% for B2C)\n- Time-to-first-value under 5 minutes (verified by ttv_estimator.py)\n- Onboarding completion rate above 60%\n- Day-1 retention above 40%\n- Day-7 retention above 25%\n- Stalled user recovery emails achieve 10%+ reactivation rate\n- Onboarding checklist scores 70+ on onboarding_checklist_scorer.py assessment\n\n---\n\n## Scope & Limitations\n\n- **In scope:** Activation definition, onboarding flow design, time-to-value engineering, empty state design, checklist design, tooltip/tour design, email coordination, stalled user recovery, experiment design\n- **Out of scope:** Signup/registration flow (use signup-flow-cro), marketing page optimization (use page-cro), long-term retention strategy, feature development\n- **Data dependency:** Best results require funnel analytics (per-step drop-off data); without this, optimization is based on heuristics\n- **Product type matters:** B2B SaaS, marketplace, mobile app, and content platforms have fundamentally different onboarding patterns; use the correct pattern for your product type\n- **No silver bullet:** If the product does not deliver value, no amount of onboarding optimization will fix retention; validate product-market fit first\n\n---\n\n## Integration Points\n\n- **signup-flow-cro** -- Optimizes the registration flow before onboarding begins; hand-off point is the moment after successful account creation\n- **churn-prevention** -- When users activate but then churn, the problem shifts from onboarding to retention; use churn-prevention for post-activation churn\n- **paywall-upgrade-cro** -- Upgrade prompts should only appear after the aha moment is reached; never show paywalls during initial onboarding\n- **page-cro** -- When the bottleneck is the marketing page (users are not signing up), optimize the page before optimizing onboarding\n- **customer-success-manager** -- For enterprise accounts, human-assisted onboarding complements product-led flows; CS team should monitor activation metrics","author":"@borghei","ownerProfile":null,"authorContacts":null,"sourceUrl":"https://github.com/borghei/Claude-Skills/tree/main/business-growth/onboarding-cro","license":"MIT","category":"design","lang":"en","tokens":5107,"stars":0,"calls30d":1,"claimed":false,"visibility":"public","origin":"crawler","version":"0.1.0","createdAt":"2026-08-22","updatedAt":"2026-08-22","files":[{"path":"scripts/activation_funnel_analyzer.py","size":7900,"sha256":"a4b82acc3065e403076947e74c1d22c8a17243582d6389856e3bc432dc6eb344"},{"path":"scripts/onboarding_checklist_scorer.py","size":8942,"sha256":"b973e0d6fb12c67eedaa7dffb8ce7094bd05925da2ca96eb1739be630737cd4d"},{"path":"scripts/ttv_estimator.py","size":10129,"sha256":"1e331aa8e8ae0d9c281163690587ba48c8b4cc97c369dc06b3d4db9bc54a302b"}],"requires":{"mcp":[],"tools":[]},"safety":{"flags":[],"scannedAt":"2026-08-22","hasScripts":true,"networkEndpoints":[]}}