app-store-optimization
dpearson2699/swift-ios-skills
Optimize App Store listings for search visibility and conversion with keyword strategy, metadata, and page variants.
What is app-store-optimization?
App Store Optimization (ASO) covers strategic metadata decisions—keywords, titles, descriptions, screenshots, and custom product pages—to improve search ranking and conversion. Use this skill when optimizing app discoverability, structuring product pages for conversion, managing ratings and reviews, and deciding between ASO and App Store review compliance boundaries.
- Keyword research and field strategy to maximize search indexing within 100-character limits
- Title and subtitle positioning to front-load high-value keywords and avoid duplication
- Description structure (hook, features, social proof, CTA) optimized for conversion, not keyword stuffing
- Screenshot and preview video ordering and caption writing to lead with primary value proposition
- Custom Product Pages with assigned search keywords for targeted discoverability
- In-App Events and Product Page Optimization tests to drive engagement and measure variants
How to install app-store-optimization
npx skills add https://github.com/dpearson2699/swift-ios-skills --skill app-store-optimizationHow to use app-store-optimization
- 1.Identify your app's primary value proposition and target keywords using the keyword research methodology
- 2.Structure your app name and subtitle using the Brand--Keyword or Keyword--Brand positioning framework, avoiding duplication
- 3.Populate the keyword field with comma-separated terms ranked by relevance, search volume, and competition; validate against the 100-character UTF-8 limit
- 4.Write a four-part description: hook (1-3 lines), feature highlights (4-6 bullets), social proof, and call-to-action
- 5.Order your first 3 screenshots to lead with primary value proposition, core differentiator, and next strongest feature; write benefit-oriented captions
- 6.Set up in-app review prompts using RequestReviewAction or AppStore.requestReview at optimal moments in the user journey
- 7.Create Custom Product Pages for specific user segments or campaigns with assigned keywords
- 8.Plan promotional text rotation for launches, seasonal moments, and in-app events without leaving it static
Use cases
- Launching a new app and selecting keywords, title, and subtitle to compete in a crowded category
- Revamping an existing app's product page to improve conversion rate and search ranking
- Planning a feature launch with promotional text, in-app events, and custom product pages for specific user segments
- Localizing metadata for international markets while maintaining keyword relevance and conversion messaging
- Running A/B tests on screenshots, descriptions, and page variants to measure impact on downloads and ratings
- iOS app developers and product managers optimizing for App Store visibility
- Growth and marketing teams managing app discoverability and conversion metrics
- Localization specialists preparing metadata for multiple markets
- App store optimization specialists conducting keyword research and competitive analysis
app-store-optimization FAQ
No. Apple indexes all three fields together, so repeating words wastes limited character space. Deduplicate across title, subtitle, keyword field, and primary category. Front-load the highest-value keyword in whichever field has more room.
The keyword field accepts up to 100 UTF-8 bytes (approximately 100 characters). Use comma-separated terms with no spaces after commas; each term must be longer than two characters.
Update promotional text for feature launches, seasonal moments, awards or press, promotions, and in-app events. Do not leave it static; rotate between your app's strongest selling points if there is nothing timely to promote.
Most users never scroll past the first 3 visible screenshots. Lead with your primary value proposition in slot 1, core differentiator in slot 2, and next strongest feature in slot 3. Never place onboarding, splash, or loading screens in the first 3 slots.
This skill covers strategic metadata, keywords, messaging, assets, and conversion optimization. The app-store-review skill handles submission compliance, privacy labels, ATT wording, and rejection risk. Use app-store-review when routing compliance questions or privacy/ATT boundaries.
Full instructions (SKILL.md)
Source of truth, from dpearson2699/swift-ios-skills.
name: app-store-optimization description: "Optimize App Store product pages for search visibility and conversion. Use for App Store Optimization (ASO), keyword research, app name/subtitle/keyword-field strategy, conversion-focused descriptions and promotional text, screenshot captions and ordering, Custom Product Pages with assigned search keywords, In-App Events, Product Page Optimization tests, localized metadata, ratings/review strategy, and in-app review prompt timing with RequestReviewAction or AppStore.requestReview. Also use when routing ASO vs App Store review, privacy/ATT, or StoreKit implementation boundaries."
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 app-store-review skill.
Contents
- Workflow and Boundaries
- Title and Subtitle Strategy
- Keyword Field Strategy
- Description Structure
- Promotional Text
- Screenshot and Preview Optimization
- In-App Review Prompts
- Custom Product Pages
- In-App Events
- Product Page Optimization
- Ratings and Review Management
- Localized Metadata Optimization
- Common Mistakes
- Review Checklist
- References
Workflow and Boundaries
- Split recommendations into Visibility (indexed metadata, localization, ratings, events) and Conversion (message, assets, variants, experiments).
- Name the evidence, owner, target metric, and validation checkpoint for each.
- Apply the Review Checklist.
| Work | Owner |
|---|---|
| Listing, keyword/message fit, assets, page variants, localization, events, ratings strategy | This skill |
| Submission compliance, privacy manifest/labels, ATT wording, rejection risk | app-store-review |
| Purchases, paywalls, entitlements, subscription mechanics | storekit |
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
Use Brand -- Keyword when the brand already has recognition, Keyword -- Brand when a new app must compete on category terms, and a blended name when the brand naturally contains a relevant keyword.
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
App Store Connect accepts up to 100 UTF-8 bytes in the keyword field (some Apple overview pages summarize this as 100 characters). Use comma-separated terms with no spaces after commas; each term must be longer than two characters.
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? |
Prioritize user intent and metadata fit. Account for the primary category alongside the app name, subtitle, and keyword field; do not repeat it.
Tactical rules
- Deduplicate against title and subtitle -- Apple already indexes those words.
- Do not include both singular and plural forms of the same term; Apple treats them as duplicates.
- 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.
- Reserve space for the most relevant, highest-intent terms; do not spend characters on terms that only weakly describe the app.
See: references/keyword-research-methodology.md for the full research process, scoring framework, and indexing details.
Validation checkpoint: Render the final name, subtitle, and keyword field together. Count its UTF-8 bytes, split it on commas, reject blank, space-prefixed, or two-character-or-shorter tokens, compare normalized words across the three indexed fields and primary category, and require a relevance or demand signal for every retained term. Revise the field and repeat the check until every token earns its space.
Description Structure
Apple's search guidance centers text relevance on the app name, subtitle, keywords, and primary category, plus behavior signals such as downloads, ratings, and reviews. Treat the description as conversion copy, not a place to stuff extra search terms: users who expand it 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 appears above the description, is limited to 170 characters, and can be updated at any time without submitting a new app version.
Rotation strategy
Update promotional text for feature launches, seasonal moments, awards or press, promotions, and in-app events. Do not leave it 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
Use slot 1 for the primary value proposition, slot 2 for the core differentiator, slot 3 for the next strongest feature, and later slots for 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 app-store-review skill.
Validation checkpoint: Preview each localized product page at first-fold size. Confirm that the first three visible assets communicate distinct benefits, that captions match the UI and public claims, and that the ordering answers the same intent targeted by the page's metadata. Replace or reorder any asset that fails, then review the first fold again as a set.
In-App Review Prompts
StoreKit provides RequestReviewAction for SwiftUI and AppStore.requestReview(in:) for UIKit. Use this section for timing strategy; for the full StoreKit API surface, see the storekit skill.
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 include completing a meaningful task, achieving a milestone or streak, a positive in-app moment, or several active sessions. Bad triggers include first launch, onboarding, errors, crashes, failed transactions, or direct button-tap pre-screens. 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.
Custom Product Pages
Custom Product Pages allow up to 70 variant product pages per app. Each variant can have different screenshots, app preview videos, promotional text, and assigned search keywords -- tailored to a specific audience or acquisition channel.
When recommending Custom Product Pages, explicitly mention both the 70-page capacity and assigned-keyword search visibility, then map each page to a distinct audience, message, keyword/ad intent, and measurement plan.
Use cases
Use separate pages for paid search ad groups, social campaigns, feature-specific landings, seasonal campaigns, and other acquisition paths where the first screenshot or promotional text should match a distinct user intent.
Setup
- Each Custom Product Page gets a unique App Store URL usable in ad campaigns, deep links, and web pages.
- Approved pages can also appear in App Store search for assigned keywords from the latest approved app version.
- 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
Choose the Apple event badge that matches the actual in-app experience: Challenge, Competition, Live Event, Major Update, New Season, Premiere, or Special Event. Do not manufacture events without real time-bound content.
Metadata limits
Event name is 30 characters, short description 50, long description 120, and the event card image is required at 16:9 (1920x1080 or similar).
Strategy
- Schedule events around feature releases, seasonal moments, or content drops.
- Write the name and short description for their event-card context across the product page, Search, and Today; measure whether a timely card improves taps.
- 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 testing for product page elements.
What can be tested
- App icon (alternate icons)
- Screenshots (order, content, captions)
- App preview video
Each test can include up to three treatments against the original product page, which serves as the default baseline.
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 hypothesis at a time as a methodology choice (e.g., screenshot order OR caption copy, not both simultaneously), even when App Store Connect allows multiple treatments.
- Select the localizations included in the test; all supported localizations are selected by default.
- A test runs for up to 90 days or until manually stopped. Results appear in App Analytics after at least five first-time downloads are associated with the test.
- PPO recommendations should name the hypothesis, up to three treatments, selected localizations, target metric, and decision rule.
Interpreting results
- Focus on conversion rate lift (impressions-to-downloads), not absolute download numbers.
- App Store Connect reports conversion rate, lift, and confidence. Treat 90%+ confidence as the threshold for "Performing Better" or "Performing Worse" decisions.
- After applying a winner, wait before starting the next test to establish a clean baseline.
Ratings and Review Management
Ratings and reviews appear on the product page and in search results, influence App Store search ranking, and affect conversion. The strategy is to earn more positive, recent feedback by prompting only after successful user moments and by responding constructively to issues.
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.
- Use review language as customer research: users often describe their goals, frustrations, and category vocabulary in words that can improve future metadata and screenshot messaging.
Rating reset
When submitting a new version, you can choose to reset the displayed rating. Use this strategically:
Reset only when the displayed rating is significantly below the app's current quality after major improvements. Do not reset a strong, representative rating; do not reset for ordinary bug fixes; and wait for stabilization after a risky redesign.
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.
- Localize each metadata surface. App Store guidance explicitly calls out localized descriptions, keywords, app previews, and screenshots; do not assume direct translations or unsupported cross-locale indexing behavior.
- 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 ios-localization skill.
Common Mistakes
- Writing feature-descriptive captions instead of benefit-oriented screenshot copy.
- Translating keywords instead of researching per-market search terms.
- Prompting for reviews after onboarding, errors, crashes, or failed transactions.
- Ignoring the first three screenshot slots or leading with onboarding/splash screens.
- Running PPO tests without enough duration, traffic, or a single clear hypothesis.
- Reusing identical assets across all Custom Product Pages.
Review Checklist
- Indexed metadata passes the title/subtitle and keyword validation checkpoints
- Description, promotional text, and first-fold assets pass their conversion checks
- Metadata and assets are researched, written, ordered, and previewed per locale
- Review prompts follow a successful user moment and StoreKit's system behavior
- Page variants, events, and PPO tests name their audience, evidence, metric, and decision rule
- Public claims and screenshots pass the
app-store-reviewcompliance 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
Related skills
More from dpearson2699/swift-ios-skills and the wider catalog.

app-store-review
Audit App Store submission readiness and rejection risk before upload.

apple-on-device-ai
Build private, on-device AI features on Apple platforms with Foundation Models, Core ML, MLX Swift, or llama.cpp.

appmigrationkit
Transfer app data between iOS and Android using system-orchestrated AppMigrationKit extensions.

audioaccessorykit
Automatic audio switching for paired Bluetooth audio accessories on iOS 26.4+.

authentication
Implement iOS authentication with Sign in with Apple, passkeys, OAuth, and biometric flows.

avkit
Create system-standard video players with AVKit for iOS—supports Picture-in-Picture, AirPlay, subtitles, and SwiftUI integration.