name: app-store-optimization
description: Optimize mobile app listings for iOS App Store and Google Play — keyword research, screenshot design, rating management, and conversion optimization. Use when launching a mobile app, improving app store rankings, or optimizing download conversion rates.
tags: [aso, mobile, app-store, growth]
App Store Optimization (ASO)
Comprehensive ASO framework for iOS App Store and Google Play — keyword research, listing optimization, visual asset strategy, rating management, and A/B testing store pages. The mobile equivalent of SEO.
Use this skill when
- Launching a new mobile app on iOS or Google Play
- Optimizing an existing app listing to improve rankings
- Conducting keyword research for app store visibility
- Designing or testing screenshots and app preview videos
- Managing app ratings and reviews strategically
- Comparing performance across Apple and Google platforms
- Preparing ASO audit reports
Do not use this skill when
- Optimizing a website for Google search (use
seo-audit)
- Running paid user acquisition campaigns (use
campaign-analytics)
- Designing the app's UX/UI itself (use UX/frontend skills)
- Building the app's technical architecture (use engineering skills)
Instructions
- Research keywords using the ASO Keyword Research Framework.
- Optimize listing elements — title, subtitle, description, category.
- Design visual assets — screenshots, preview video, icon.
- Set up rating management — review response templates and prompt strategy.
- Run store listing experiments — A/B test on Google Play, Product Page Optimization on iOS.
- Produce the ASO Audit Report with keyword priority matrix.
Platform Differences: Apple vs. Google
Understanding these differences is critical — ASO strategy must be platform-specific:
| Factor |
Apple App Store |
Google Play |
| Title |
30 characters |
30 characters |
| Subtitle |
30 characters |
N/A (use short description) |
| Short Description |
N/A |
80 characters |
| Long Description |
Not indexed for search |
Indexed for search — keywords matter here |
| Keyword Field |
100 characters (hidden, comma-separated) |
N/A — keywords from title + description |
| Category |
Primary + secondary |
Primary + secondary + tags |
| Screenshots |
Up to 10 per device |
Up to 8 per device |
| Preview Video |
Up to 3 (30 sec, auto-play muted) |
1 (auto-play on listing) |
| A/B Testing |
Product Page Optimization (3 treatments) |
Store Listing Experiments (5 variants) |
| Rating Reset |
Can reset on major version |
Cannot reset — cumulative |
| Review Response |
Developer can respond |
Developer can respond |
ASO Keyword Research Framework
Step 1: Keyword Discovery
| Source |
Method |
What You Get |
| Competitor analysis |
Analyze top 10 competitors' titles, subtitles, descriptions |
High-value keywords proven in your category |
| Auto-suggest mining |
Type partial keywords in store search |
Real user search patterns |
| Related searches |
Check "You might also like" and related apps |
Adjacent keyword opportunities |
| Review mining |
Analyze your and competitors' reviews for language |
Words real users use (not marketing speak) |
| Web keyword tools |
Google Keyword Planner, Sensor Tower, App Annie |
Volume estimates (directional, not exact) |
Step 2: Keyword Scoring
| Keyword |
Search Volume (1-10) |
Relevance (1-10) |
Difficulty (1-10) |
Score |
Priority |
|
|
|
|
Vol x Rel / Diff |
|
Priority Rules:
- Score >7: Primary keywords — must be in title or subtitle
- Score 4-7: Secondary keywords — keyword field (iOS) or description (Android)
- Score <4: Monitor — don't optimize for these yet
Step 3: Keyword Placement Strategy
| Placement |
Impact on Ranking |
Character Limit |
Strategy |
| App Title |
Highest |
30 chars |
Brand name + #1 primary keyword |
| Subtitle (iOS) |
High |
30 chars |
2-3 secondary keywords, natural phrasing |
| Keyword Field (iOS) |
High |
100 chars |
Comma-separated, no spaces after commas, no duplicates from title/subtitle |
| Short Description (Android) |
Medium |
80 chars |
Primary CTA + 1-2 keywords |
| Long Description (Android) |
Medium |
4000 chars |
Natural keyword density, mention keywords 3-5 times |
| In-App Purchase Names |
Low |
— |
Additional keyword surface area |
Keyword Field Optimization (iOS)
Rules for 100-character keyword field:
- No spaces after commas (saves characters)
- No duplicates of words already in title or subtitle
- Use singular form only (Apple handles plurals)
- No prepositions (the, a, an, of) — Apple ignores them
- Include common misspellings if characters allow
- Test with Sensor Tower or AppTweak for indexing confirmation
Store Listing Optimization
Title Formula
[Brand Name] — [Primary Keyword/Value Prop]
Examples:
✅ "Notion — Notes, Docs, Tasks"
✅ "Calm — Sleep & Meditation"
✅ "Duolingo — Language Lessons"
❌ "MyApp: The Best App For Everything You Need" (too generic)
❌ "MA" (too short, no keywords)
Description Structure (Google Play — indexed for search)
Paragraph 1: Hook + primary value proposition (include primary keywords)
Paragraph 2: Key features with benefits (include secondary keywords)
Paragraph 3: Social proof (awards, press, user count)
Paragraph 4: Call to action + differentiator
Category Selection
| Decision Factor |
Guidance |
| Primary category |
Choose the most specific category that fits |
| Secondary category |
Choose for additional visibility (cross-category browsing) |
| Competitive density |
If your primary category is overcrowded, secondary can help rank higher in a less competitive space |
| User expectation |
Category affects which users find you — align with user intent |
Visual Asset Optimization
Screenshot Strategy
| Position |
Purpose |
Content Strategy |
| Screenshot 1-2 |
First impression (shown in search results) |
Hero benefit — the #1 reason to download |
| Screenshot 3-4 |
Feature showcase |
Key features with clear benefit text |
| Screenshot 5-6 |
Social proof / differentiation |
Awards, ratings, press quotes, unique features |
| Screenshot 7-10 |
Deep features |
Advanced functionality for engaged browsers |
Screenshot Design Principles
| Principle |
Details |
| Text overlay |
Large, readable text (min 60pt equivalent) — users scan, not read |
| Benefit-first |
Lead with outcome ("Save 2 hours daily") not feature ("Task management") |
| Sequential story |
Screenshots should tell a story left-to-right |
| Device frame |
Optional — some categories perform better without frames |
| Localization |
Translate text overlays for each market (not just the app itself) |
| Dark backgrounds |
Often outperform light in A/B tests (higher contrast on store pages) |
App Preview Video
| Platform |
Duration |
Auto-Play |
Best Practice |
| iOS |
15-30 seconds |
Yes (muted) |
First 3 seconds = hook; show core workflow; add text overlays for muted viewing |
| Android |
30 seconds - 2 minutes |
Yes (with sound) |
Start with benefit, demonstrate 3 key features, end with CTA |
Icon Design
| Principle |
Rationale |
| Simple, recognizable at 29x29px |
Icon appears at many sizes — must be legible small |
| Limited color palette (2-3 colors) |
Visual clarity in store browse |
| No text in icon |
Unreadable at small sizes; redundant with app name |
| Test against competitors |
Your icon appears alongside competitors in search results |
Rating & Review Management
Review Response Templates
Positive Review (4-5 stars):
Thank you for the kind words, [Name]! We're glad [specific feature/benefit]
is working well for you. If you have any ideas for improvement, we'd love
to hear them at [feedback channel].
Negative Review — Bug Report (1-3 stars):
We're sorry about this issue, [Name]. Our team is looking into [specific
problem]. Could you reach out to [support email] with your device details
so we can resolve this quickly? We want to make this right.
Negative Review — Feature Request (1-3 stars):
Thanks for the feedback, [Name]. We hear you on [feature request] — it's
on our radar. In the meantime, you might find [workaround] helpful.
We'll update you when this ships!
Rating Prompt Strategy
| Factor |
Best Practice |
| Timing |
Prompt after a success moment (completed task, achieved goal, used for N days) |
| Frequency |
iOS: SKStoreReviewController (3 prompts per year max, Apple enforced) |
| Pre-screen |
Show in-app satisfaction question first; only route happy users to store rating |
| Never |
Prompt on first launch, after an error, during onboarding, or mid-workflow |
A/B Testing Store Listings
Google Play Store Listing Experiments
| Element |
Max Variants |
Duration |
Min Traffic |
| Icon |
3 |
7+ days |
1000+ visitors per variant |
| Screenshots |
3 |
7+ days |
1000+ visitors per variant |
| Short description |
3 |
7+ days |
1000+ visitors per variant |
| Long description |
3 |
7+ days |
1000+ visitors per variant |
Apple Product Page Optimization
| Element |
Max Treatments |
Duration |
Notes |
| Icon |
3 treatments |
90-day max |
Cannot test app name or subtitle |
| Screenshots |
3 treatments |
90-day max |
Can test order and content |
| App preview |
3 treatments |
90-day max |
Video thumbnail and content |
What to Test First (Priority Order)
- Screenshots — highest impact on conversion; test benefit messaging and visual style
- Icon — affects CTR in search results; test color and symbol variations
- Short description / subtitle — affects both search ranking and conversion
- Long description — lower impact but easy to test on Google Play
Output Template: ASO Audit Report
# ASO Audit Report — [App Name]
**Date:** [YYYY-MM-DD]
**Platforms:** [iOS / Android / Both]
**Current Rating:** [X.X] (iOS) / [X.X] (Android)
**Current Ranking:** #[X] in [Category]
## Keyword Analysis
| Keyword | Current Rank | Volume | Difficulty | Opportunity |
|---------|-------------|--------|------------|-------------|
| | | | | High/Med/Low |
## Listing Audit
| Element | Current | Score (1-5) | Recommendation |
|---------|---------|-------------|----------------|
| Title | | | |
| Subtitle / Short Desc | | | |
| Keywords (iOS) | | | |
| Description | | | |
| Screenshots | | | |
| Video | | | |
| Icon | | | |
## Rating Health
- **Current rating:** [X.X] ([N] reviews)
- **Recent trend:** [improving/declining/stable]
- **Top complaint themes:** [list]
- **Response rate:** [X]% of negative reviews responded
## Competitive Comparison
| Metric | Our App | Competitor A | Competitor B |
|--------|---------|-------------|-------------|
| Rating | | | |
| Reviews | | | |
| Category Rank | | | |
| Keywords Overlap | | | |
## Priority Actions
1. [Action] — Expected impact — Effort
2. [Action] — Expected impact — Effort
3. [Action] — Expected impact — Effort
Common Mistakes
- Keyword stuffing in titles — "Best Free Photo Editor Camera Filter Beauty App" hurts credibility and can violate store policies
- Ignoring localization — app store pages should be localized for each market, not just the app strings
- Not A/B testing screenshots — assumptions about "good" screenshots are often wrong; test everything
- Responding defensively to negative reviews — public arguments hurt your brand; be empathetic and solution-oriented
- Optimizing for downloads without considering retention — ASO that drives low-quality installs increases churn and hurts ranking algorithms
- Same strategy for both platforms — Apple and Google have fundamentally different ranking factors; optimize separately
- Ignoring seasonal opportunities — "back to school", "new year", "holiday" keywords spike at predictable times
Additional Resources
- Related skills:
seo-audit (web SEO counterpart), campaign-analytics (acquisition channel analysis)
- Sensor Tower, AppTweak, App Annie — ASO tools and market intelligence
- Apple App Store Connect — Product Page Optimization documentation
- Google Play Console — Store Listing Experiments documentation
1---2name: app-store-optimization3description: <!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT -->4---5<!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT -->6---7name: app-store-optimization8description: Optimize mobile app listings for iOS App Store and Google Play — keyword research, screenshot design, rating management, and conversion optimization. Use when launching a mobile app, improving app store rankings, or optimizing download conversion rates.9tags: [aso, mobile, app-store, growth]10---1112# App Store Optimization (ASO)1314Comprehensive ASO framework for iOS App Store and Google Play — keyword research, listing optimization, visual asset strategy, rating management, and A/B testing store pages. The mobile equivalent of SEO.1516## Use this skill when1718- Launching a new mobile app on iOS or Google Play19- Optimizing an existing app listing to improve rankings20- Conducting keyword research for app store visibility21- Designing or testing screenshots and app preview videos22- Managing app ratings and reviews strategically23- Comparing performance across Apple and Google platforms24- Preparing ASO audit reports2526## Do not use this skill when2728- Optimizing a website for Google search (use `seo-audit`)29- Running paid user acquisition campaigns (use `campaign-analytics`)30- Designing the app's UX/UI itself (use UX/frontend skills)31- Building the app's technical architecture (use engineering skills)3233## Instructions34351. **Research keywords** using the ASO Keyword Research Framework.362. **Optimize listing elements** — title, subtitle, description, category.373. **Design visual assets** — screenshots, preview video, icon.384. **Set up rating management** — review response templates and prompt strategy.395. **Run store listing experiments** — A/B test on Google Play, Product Page Optimization on iOS.406. **Produce the ASO Audit Report** with keyword priority matrix.4142---4344## Platform Differences: Apple vs. Google4546Understanding these differences is critical — ASO strategy must be platform-specific:4748| Factor | Apple App Store | Google Play |49|--------|----------------|-------------|50| **Title** | 30 characters | 30 characters |51| **Subtitle** | 30 characters | N/A (use short description) |52| **Short Description** | N/A | 80 characters |53| **Long Description** | Not indexed for search | **Indexed for search** — keywords matter here |54| **Keyword Field** | 100 characters (hidden, comma-separated) | N/A — keywords from title + description |55| **Category** | Primary + secondary | Primary + secondary + tags |56| **Screenshots** | Up to 10 per device | Up to 8 per device |57| **Preview Video** | Up to 3 (30 sec, auto-play muted) | 1 (auto-play on listing) |58| **A/B Testing** | Product Page Optimization (3 treatments) | Store Listing Experiments (5 variants) |59| **Rating Reset** | Can reset on major version | Cannot reset — cumulative |60| **Review Response** | Developer can respond | Developer can respond |6162---6364## ASO Keyword Research Framework6566### Step 1: Keyword Discovery6768| Source | Method | What You Get |69|--------|--------|-------------|70| **Competitor analysis** | Analyze top 10 competitors' titles, subtitles, descriptions | High-value keywords proven in your category |71| **Auto-suggest mining** | Type partial keywords in store search | Real user search patterns |72| **Related searches** | Check "You might also like" and related apps | Adjacent keyword opportunities |73| **Review mining** | Analyze your and competitors' reviews for language | Words real users use (not marketing speak) |74| **Web keyword tools** | Google Keyword Planner, Sensor Tower, App Annie | Volume estimates (directional, not exact) |7576### Step 2: Keyword Scoring7778| Keyword | Search Volume (1-10) | Relevance (1-10) | Difficulty (1-10) | Score | Priority |79|---------|---------------------|-------------------|-------------------|-------|----------|80| | | | | Vol x Rel / Diff | |8182**Priority Rules:**83- Score >7: Primary keywords — must be in title or subtitle84- Score 4-7: Secondary keywords — keyword field (iOS) or description (Android)85- Score <4: Monitor — don't optimize for these yet8687### Step 3: Keyword Placement Strategy8889| Placement | Impact on Ranking | Character Limit | Strategy |90|-----------|------------------|-----------------|----------|91| **App Title** | Highest | 30 chars | Brand name + #1 primary keyword |92| **Subtitle (iOS)** | High | 30 chars | 2-3 secondary keywords, natural phrasing |93| **Keyword Field (iOS)** | High | 100 chars | Comma-separated, no spaces after commas, no duplicates from title/subtitle |94| **Short Description (Android)** | Medium | 80 chars | Primary CTA + 1-2 keywords |95| **Long Description (Android)** | Medium | 4000 chars | Natural keyword density, mention keywords 3-5 times |96| **In-App Purchase Names** | Low | — | Additional keyword surface area |9798### Keyword Field Optimization (iOS)99100```101Rules for 100-character keyword field:102- No spaces after commas (saves characters)103- No duplicates of words already in title or subtitle104- Use singular form only (Apple handles plurals)105- No prepositions (the, a, an, of) — Apple ignores them106- Include common misspellings if characters allow107- Test with Sensor Tower or AppTweak for indexing confirmation108```109110---111112## Store Listing Optimization113114### Title Formula115116```117[Brand Name] — [Primary Keyword/Value Prop]118119Examples:120✅ "Notion — Notes, Docs, Tasks"121✅ "Calm — Sleep & Meditation"122✅ "Duolingo — Language Lessons"123124❌ "MyApp: The Best App For Everything You Need" (too generic)125❌ "MA" (too short, no keywords)126```127128### Description Structure (Google Play — indexed for search)129130```131Paragraph 1: Hook + primary value proposition (include primary keywords)132Paragraph 2: Key features with benefits (include secondary keywords)133Paragraph 3: Social proof (awards, press, user count)134Paragraph 4: Call to action + differentiator135```136137### Category Selection138139| Decision Factor | Guidance |140|----------------|----------|141| Primary category | Choose the most specific category that fits |142| Secondary category | Choose for additional visibility (cross-category browsing) |143| Competitive density | If your primary category is overcrowded, secondary can help rank higher in a less competitive space |144| User expectation | Category affects which users find you — align with user intent |145146---147148## Visual Asset Optimization149150### Screenshot Strategy151152| Position | Purpose | Content Strategy |153|----------|---------|-----------------|154| **Screenshot 1-2** | First impression (shown in search results) | Hero benefit — the #1 reason to download |155| **Screenshot 3-4** | Feature showcase | Key features with clear benefit text |156| **Screenshot 5-6** | Social proof / differentiation | Awards, ratings, press quotes, unique features |157| **Screenshot 7-10** | Deep features | Advanced functionality for engaged browsers |158159### Screenshot Design Principles160161| Principle | Details |162|-----------|---------|163| **Text overlay** | Large, readable text (min 60pt equivalent) — users scan, not read |164| **Benefit-first** | Lead with outcome ("Save 2 hours daily") not feature ("Task management") |165| **Sequential story** | Screenshots should tell a story left-to-right |166| **Device frame** | Optional — some categories perform better without frames |167| **Localization** | Translate text overlays for each market (not just the app itself) |168| **Dark backgrounds** | Often outperform light in A/B tests (higher contrast on store pages) |169170### App Preview Video171172| Platform | Duration | Auto-Play | Best Practice |173|----------|----------|-----------|---------------|174| iOS | 15-30 seconds | Yes (muted) | First 3 seconds = hook; show core workflow; add text overlays for muted viewing |175| Android | 30 seconds - 2 minutes | Yes (with sound) | Start with benefit, demonstrate 3 key features, end with CTA |176177### Icon Design178179| Principle | Rationale |180|-----------|-----------|181| Simple, recognizable at 29x29px | Icon appears at many sizes — must be legible small |182| Limited color palette (2-3 colors) | Visual clarity in store browse |183| No text in icon | Unreadable at small sizes; redundant with app name |184| Test against competitors | Your icon appears alongside competitors in search results |185186---187188## Rating & Review Management189190### Review Response Templates191192**Positive Review (4-5 stars):**193```194Thank you for the kind words, [Name]! We're glad [specific feature/benefit]195is working well for you. If you have any ideas for improvement, we'd love196to hear them at [feedback channel].197```198199**Negative Review — Bug Report (1-3 stars):**200```201We're sorry about this issue, [Name]. Our team is looking into [specific202problem]. Could you reach out to [support email] with your device details203so we can resolve this quickly? We want to make this right.204```205206**Negative Review — Feature Request (1-3 stars):**207```208Thanks for the feedback, [Name]. We hear you on [feature request] — it's209on our radar. In the meantime, you might find [workaround] helpful.210We'll update you when this ships!211```212213### Rating Prompt Strategy214215| Factor | Best Practice |216|--------|--------------|217| **Timing** | Prompt after a success moment (completed task, achieved goal, used for N days) |218| **Frequency** | iOS: SKStoreReviewController (3 prompts per year max, Apple enforced) |219| **Pre-screen** | Show in-app satisfaction question first; only route happy users to store rating |220| **Never** | Prompt on first launch, after an error, during onboarding, or mid-workflow |221222---223224## A/B Testing Store Listings225226### Google Play Store Listing Experiments227228| Element | Max Variants | Duration | Min Traffic |229|---------|-------------|----------|------------|230| Icon | 3 | 7+ days | 1000+ visitors per variant |231| Screenshots | 3 | 7+ days | 1000+ visitors per variant |232| Short description | 3 | 7+ days | 1000+ visitors per variant |233| Long description | 3 | 7+ days | 1000+ visitors per variant |234235### Apple Product Page Optimization236237| Element | Max Treatments | Duration | Notes |238|---------|---------------|----------|-------|239| Icon | 3 treatments | 90-day max | Cannot test app name or subtitle |240| Screenshots | 3 treatments | 90-day max | Can test order and content |241| App preview | 3 treatments | 90-day max | Video thumbnail and content |242243### What to Test First (Priority Order)2442451. **Screenshots** — highest impact on conversion; test benefit messaging and visual style2462. **Icon** — affects CTR in search results; test color and symbol variations2473. **Short description / subtitle** — affects both search ranking and conversion2484. **Long description** — lower impact but easy to test on Google Play249250---251252## Output Template: ASO Audit Report253254```markdown255# ASO Audit Report — [App Name]256257**Date:** [YYYY-MM-DD]258**Platforms:** [iOS / Android / Both]259**Current Rating:** [X.X] (iOS) / [X.X] (Android)260**Current Ranking:** #[X] in [Category]261262## Keyword Analysis263| Keyword | Current Rank | Volume | Difficulty | Opportunity |264|---------|-------------|--------|------------|-------------|265| | | | | High/Med/Low |266267## Listing Audit268| Element | Current | Score (1-5) | Recommendation |269|---------|---------|-------------|----------------|270| Title | | | |271| Subtitle / Short Desc | | | |272| Keywords (iOS) | | | |273| Description | | | |274| Screenshots | | | |275| Video | | | |276| Icon | | | |277278## Rating Health279- **Current rating:** [X.X] ([N] reviews)280- **Recent trend:** [improving/declining/stable]281- **Top complaint themes:** [list]282- **Response rate:** [X]% of negative reviews responded283284## Competitive Comparison285| Metric | Our App | Competitor A | Competitor B |286|--------|---------|-------------|-------------|287| Rating | | | |288| Reviews | | | |289| Category Rank | | | |290| Keywords Overlap | | | |291292## Priority Actions2931. [Action] — Expected impact — Effort2942. [Action] — Expected impact — Effort2953. [Action] — Expected impact — Effort296```297298---299300## Common Mistakes301302- **Keyword stuffing in titles** — "Best Free Photo Editor Camera Filter Beauty App" hurts credibility and can violate store policies303- **Ignoring localization** — app store pages should be localized for each market, not just the app strings304- **Not A/B testing screenshots** — assumptions about "good" screenshots are often wrong; test everything305- **Responding defensively to negative reviews** — public arguments hurt your brand; be empathetic and solution-oriented306- **Optimizing for downloads without considering retention** — ASO that drives low-quality installs increases churn and hurts ranking algorithms307- **Same strategy for both platforms** — Apple and Google have fundamentally different ranking factors; optimize separately308- **Ignoring seasonal opportunities** — "back to school", "new year", "holiday" keywords spike at predictable times309310---311312## Additional Resources313314- Related skills: `seo-audit` (web SEO counterpart), `campaign-analytics` (acquisition channel analysis)315- Sensor Tower, AppTweak, App Annie — ASO tools and market intelligence316- Apple App Store Connect — Product Page Optimization documentation317- Google Play Console — Store Listing Experiments documentation318319<!-- Source: .faos/custom/skills/business/app-store-optimization/SKILL.md -->