App Store Optimization (ASO)
Search visibility and conversion optimization for App Store product pages. This skill covers strategic metadata decisions -- which keywords to target, how to structure descriptions for conversion, and how to use Custom Product Pages and in-app events for discoverability. For metadata compliance rules (character limits, screenshot device requirements, rejection triggers), see the
skill.
Contents
Overview
ASO has two pillars:
- Search visibility -- ranking for relevant queries so users find the app.
- Conversion rate -- convincing users who land on the product page to download.
Apply this skill when a developer asks about improving discoverability, keyword strategy, download conversion, or any product page element that affects either pillar.
For metadata format rules and compliance guardrails, see the
skill. This skill assumes the developer is working within those constraints and focuses on strategy.
Title and Subtitle Strategy
Apple indexes the app name and subtitle for search. Together they provide 60 characters (30 + 30) of indexed, high-visibility keyword real estate.
Positioning framework
| Pattern | When to use | Example |
|---|
| Brand -- Keyword | Established brand with recognition | |
| Keyword -- Brand | New app competing on category terms | Budget Tracker -- Pennywise
|
| Brand + Keyword blend | Brand name contains a keyword naturally | Headspace: Sleep & Meditation
|
Rules
- Do not repeat words between the name and subtitle -- Apple indexes both, so duplicates waste characters.
- Front-load the highest-value keyword in whichever field has more room.
- Avoid generic filler words ("the", "best", "app") -- they consume space without search value.
- The subtitle should communicate the primary value proposition, not a tagline.
Keyword Field Strategy
The keyword field is 100 characters, comma-separated, no spaces after commas. See the
skill for the full format rules. This section focuses on which keywords to choose and how to prioritize them.
Research process
- Competitor audit -- identify the top 5-10 competitors in the category and note which keywords appear in their titles, subtitles, and descriptions.
- Category analysis -- identify terms users associate with the app's category that competitors may be missing.
- Search Ads signals -- run Apple Search Ads discovery campaigns to surface high-intent queries with actual impression and tap data.
- Iterate each release -- update keywords based on Search Ads performance, App Analytics impressions, and conversion data.
Prioritization
Rank candidate keywords by three factors:
| Factor | Weight | Signal |
|---|
| Relevance | Highest | Does the keyword describe what the app actually does? |
| Search volume | Medium | Are users actually searching for this term? |
| Competition | Lower | How many apps target this keyword? |
Relevance always wins. A high-volume keyword that does not describe the app will get impressions but not conversions.
Tactical rules
- Deduplicate against title and subtitle -- Apple already indexes those words.
- Use singular forms only -- Apple matches both singular and plural from singular.
- Omit the category name -- Apple adds the app's primary category to search automatically.
- Omit spaces after commas -- they count against the 100-character limit.
- Consider abbreviations and common misspellings if they are genuine search terms.
- Place highest-value keywords first -- there is some evidence that position affects ranking weight.
See: references/keyword-research-methodology.md for the full research process, scoring framework, and indexing details.
Description Structure
The App Store description does not affect search ranking -- Apple does not index it for keyword matching. It does affect conversion: users who expand the description are evaluating whether to download.
Four-part structure
- Hook (first 1-3 lines) -- the only text visible before the "more" fold. Lead with the strongest benefit or differentiator. This is the most important copy on the page.
- Feature highlights -- 4-6 short feature descriptions. Use Unicode bullet characters (•) since the App Store does not render markdown. Focus on outcomes, not technical details.
- Social proof -- awards, press quotes, user count milestones, or notable ratings. One or two lines.
- Call to action -- a closing line encouraging the download. Keep it short and benefit-focused.
Formatting notes
- The App Store does not render markdown, HTML, or rich text. Use plain text with Unicode characters for structure.
- Short paragraphs with line breaks between them. Walls of text kill conversion.
- Write per locale -- translate the structure, not the words. See Localized Metadata Optimization.
Promotional Text
Promotional text is the only metadata field changeable without submitting a new binary. It appears above the description and is limited to 170 characters.
Rotation strategy
Update promotional text to match current context:
| Trigger | Example text |
|---|
| Feature launch | New: Collaborate in real time with shared workspaces
|
| Seasonal event | Plan your holiday travel -- route sharing now available
|
| Award or press | Winner of Apple Design Award 2025
|
| Sale or promotion | Premium features free through January
|
| In-app event | Join the Spring Challenge -- starts March 15
|
Do not leave promotional text static across releases. If there is nothing timely to promote, rotate between the app's strongest selling points.
Screenshot and Preview Optimization
Most users never scroll past the first 3 visible screenshots. These slots determine whether a user engages with the full product page or moves on.
First 3 screenshots
- Lead with the primary value proposition -- the screen that best demonstrates why someone should download.
- Never place onboarding, splash, or loading screens in the first 3 slots.
- Each screenshot should demonstrate a different benefit or feature.
Caption writing
- Write benefit-oriented captions, not feature labels. "Never miss a deadline" converts better than "Calendar View".
- Keep captions to 2-5 words above the screenshot and one short line below.
- Use action verbs: "Track", "Share", "Discover", "Build".
Ordering strategy
| Slot | Purpose |
|---|
| 1 | Primary value proposition -- the single best reason to download |
| 2 | Core differentiator -- what sets this app apart from competitors |
| 3 | Secondary feature -- the next strongest selling point |
| 4+ | Supporting features, social proof, or edge cases |
App preview video
If a preview video is present, it occupies the first slot. The first frame becomes the poster image when autoplay is disabled -- choose a frame that works as a standalone screenshot.
For screenshot device requirements and compliance rules, see the
skill.
In-App Review Prompts
StoreKit provides two APIs for requesting ratings:
SwiftUI -- use
via the environment:
swift
@Environment(\.requestReview) private var requestReview
func onTaskCompleted() {
requestReview()
}
UIKit -- use
AppStore.requestReview(in:)
:
swift
if let scene = view.window?.windowScene {
AppStore.requestReview(in: scene)
}
System behavior
- The system enforces a maximum of 3 prompts per 365-day period per device for users who have not yet rated the app.
- The API is a request, not a guarantee -- StoreKit decides whether to show the prompt.
- During development, the prompt always appears. In TestFlight, it never appears.
Prompt timing
| Good triggers | Bad triggers |
|---|
| After completing a meaningful task | On first launch |
| After achieving a milestone or streak | Immediately after an error or crash |
| After a positive in-app moment | During onboarding |
| After the user has been active for several sessions | In response to a button tap |
Do not gate the prompt behind a "Rate this app?" dialog -- Apple discourages intercepting the system prompt and may reject apps that pre-screen.
Persistent review link
For a settings screen or "Rate us" option, link directly to the App Store review page using the URL format:
https://apps.apple.com/app/id{APP_ID}?action=write-review
This opens the review writing screen directly and is not subject to the 3x/year system limit.
For the full StoreKit API surface, see the
skill.
Custom Product Pages
Custom Product Pages allow up to 35 variant product pages per app. Each variant can have different screenshots, app preview videos, and promotional text -- tailored to a specific audience or acquisition channel.
Use cases
| Audience | Customization |
|---|
| Paid search ads | Screenshots matching the search intent of the ad group keywords |
| Social media campaign | Screenshots and captions tailored to the campaign creative |
| Feature-specific landing | Lead screenshot showing the specific feature being promoted |
| Seasonal campaign | Seasonal screenshots and promotional text |
Setup
- Each Custom Product Page gets a unique App Store URL usable in ad campaigns, deep links, and web pages.
- Pages can be localized independently.
- Create pages in App Store Connect under the Custom Product Pages tab.
- Name pages descriptively for internal tracking (e.g., "Search-FitnessTracking", "Social-HolidayCampaign").
See: references/product-page-variants.md for setup details, URL structure, and campaign mapping strategy.
In-App Events
In-app events surface in App Store search results, on the Today tab, and in personalized recommendations. They increase visibility during the event window and can re-engage lapsed users.
Event types
| Badge | When to use |
|---|
| Challenge | Time-limited goals users can work toward |
| Competition | Head-to-head or leaderboard contests |
| Live Event | Real-time experiences (concerts, sports, streams) |
| Major Update | Significant new features or redesigns |
| New Season | Seasonal content refreshes |
| Premiere | First-time content availability |
| Special Event | Limited-time promotions or celebrations |
Metadata limits
| Field | Limit |
|---|
| Event name | 30 characters |
| Short description | 50 characters |
| Long description | 120 characters |
| Event card image | Required (1920x1080 or similar 16:9) |
Strategy
- Schedule events around feature releases, seasonal moments, or content drops.
- Use the event name and short description as additional keyword surfaces -- Apple indexes event metadata for search.
- Events appear on the product page and in search results, giving the app a visual badge that increases tap-through rate.
- Overlap events strategically: end the current event as the next one begins to maintain continuous search visibility.
See: references/product-page-variants.md for event scheduling templates.
Product Page Optimization
App Store Connect provides native A/B testing for product page elements.
What can be tested
- App icon (alternate icons)
- Screenshots (order, content, captions)
- App preview video
Only one treatment can be tested at a time. The default product page serves as the control.
Test design
- Run tests for a minimum of 7 days to account for day-of-week variation.
- Ensure sufficient traffic for statistical significance -- low-traffic apps may need longer test durations.
- Test one variable at a time (e.g., screenshot order OR caption copy, not both simultaneously).
- Changes to the default locale only affect that locale.
Interpreting results
- Focus on conversion rate lift (impressions-to-downloads), not absolute download numbers.
- App Store Connect shows confidence intervals -- do not apply a winning treatment until the test reaches statistical significance.
- After applying a winner, wait before starting the next test to establish a clean baseline.
Ratings and Review Management
Average rating affects both conversion and search ranking. The threshold effects are significant: apps below 4.0 stars see measurably lower conversion, and apps above 4.5 stars convert noticeably better.
Review response strategy
- Respond to negative reviews in App Store Connect -- a professional response improves perceived quality even without changing the rating number.
- Acknowledge the issue, state what is being done (or has been fixed), and keep the tone neutral.
- Turn negative reviews into keyword signals -- users describe problems using search-relevant language.
Rating reset
When submitting a new version, you can choose to reset the displayed rating. Use this strategically:
| Situation | Recommendation |
|---|
| Current rating is significantly below the app's quality after major improvements | Reset |
| Current rating is strong (4.5+) | Do not reset |
| Bug fix release with no quality improvement | Do not reset |
| Major redesign with mixed early feedback expected | Wait for stabilization, then reset on a subsequent update |
Localized Metadata Optimization
Localizing ASO is not the same as translating the app UI. Keyword strategy, descriptions, and screenshot captions must be researched and written per market, not machine-translated from the primary locale.
Key principles
- Research keywords per market. The most-searched term for "photo editor" in Japanese is not a direct translation of "photo editor."
- Rewrite descriptions per locale. Adapt the hook-features-proof-CTA structure to local conventions and selling points.
- Some markets index English keywords. Japan, South Korea, and several other markets index both the local language and English keyword fields. Use this to capture additional search terms.
- Localize screenshot captions. Captions in the user's language convert better than untranslated English.
For in-app string localization (String Catalogs, FormatStyle, right-to-left layout), see the
skill.
Common Mistakes
- Duplicating title words in the keyword field. Apple indexes the title and subtitle automatically -- repeating those words in the keyword field wastes characters.
- Writing feature-descriptive screenshot captions instead of benefit-oriented ones. "Calendar View" converts worse than "Never miss a deadline" -- lead with the user outcome.
- Translating keywords instead of researching per-market terms. Direct translation misses local search behavior and high-volume terms specific to each market.
- Prompting for reviews after a negative experience. Calling after an error, a failed transaction, or during onboarding generates low ratings.
- Ignoring the first three screenshot slots. Most users never scroll -- placing an onboarding or splash screen first wastes the highest-impact real estate.
- Never rotating promotional text. Promotional text is the only field changeable without a new build -- leaving it static misses conversion opportunities.
- Running A/B tests with insufficient duration. Product page optimization tests need at least 7 days and meaningful traffic to reach statistical significance.
- Adding spaces after commas in the keyword field. Spaces count against the 100-character limit -- use not .
- Using identical screenshots for every Custom Product Page. Custom Product Pages exist to tailor messaging per audience segment -- reusing identical assets defeats the purpose.
- Not responding to negative App Store reviews. Unanswered negative reviews signal abandonment to prospective users and miss an opportunity to demonstrate responsiveness.
Review Checklist
References
- Keyword research methodology: references/keyword-research-methodology.md
- Custom Product Pages, A/B testing, and in-app events: references/product-page-variants.md