Yury Pukhov, YuSMP Group
Yury Pukhov CEO & Mobile Engineering Lead, YuSMP Group · Shipping iOS and Android apps for US and EU products since 2014

ASO landscape in 2026

App Store Optimization in 2026 is not the keyword-stuffing game it was in 2019, or even the screenshot-A/B-testing game it was in 2022. Three structural shifts have rewired what works:

  1. iOS 18+ semantic search. Apple's App Store search moved from token matching to a learned relevance model. Exact-match repetition in title, subtitle and keyword field now plateaus quickly and can be penalised when it makes the listing look spammy. Co-occurrence and contextual relevance — does the description discuss the same problem space as the query? — matters more than density.
  2. Play Store generative search. Google rolled out generative answer summaries inside Play Store search in late 2025. When users search for "best app to track diabetes blood sugar," Play composes a short narrative that pulls structured benefit phrases from long descriptions and review snippets of the top results. Write your long description so an LLM can lift bullet-point benefits cleanly.
  3. iOS App Store Connect Custom Product Pages. Mature since iOS 15 but underused. You can now serve up to 35 distinct product pages per app, each with its own hero, screenshots, promotional text and app preview video, mapped one-to-one to paid acquisition campaigns and audiences. Teams that use CPPs at scale outperform single-page rivals on install conversion rate by 15–35%.
  4. EU DMA alternative app stores. Since iOS 17.4, EU users can install apps from AltStore PAL, Setapp Mobile, Epic Games Store, and from publisher websites via Web Distribution. EU app discovery is now a multi-store problem — for many genres, the App Store still owns 90%+ of installs, but games, utilities and creator tools have meaningful alternative-store traffic. We cover EU-specific routing in iOS vs Android — which platform to launch first.
iOS App Store product page on iPhone
The App Store product page is the single highest-leverage surface in a mobile launch. Each pixel, character and review interacts with iOS 18+ semantic ranking.

Keyword research that survives semantic search

Semantic relevance does not mean keyword research is dead. It means raw search volume alone is a worse signal than it used to be. The 2026 workflow:

  1. Seed list. Pull 200–500 seed terms from your own product positioning, competitor titles and subtitles, in-app search logs (if you have any), and Apple Search Ads search match reports. ASA is the single most honest source of "terms that actually convert" because you have CPA per term.
  2. Volume and difficulty. Use a paid ASO tool — Sensor Tower, AppTweak, ASO Mobile, App Radar, Mobile Action. Each computes its own Search Score (volume proxy, 5–100 scale) and Difficulty (competition proxy). Cross-check across at least two tools — they disagree by 20–40% on long-tail.
  3. Cluster by intent. Group seeds into 8–15 intent clusters (e.g. "vpn for streaming", "vpn for privacy", "free vpn", "fast vpn", "country-specific vpn"). Each cluster maps to either a localisation, a Custom Product Page, or a screenshot set.
  4. Score per locale. Run the same exercise for each target locale. A term with Search Score 70 in en-US can be Search Score 25 in de-DE, with completely different competitors. The German market for "habit tracker" looks nothing like the US one.
  5. Reserve room for semantic siblings. Because iOS 18+ rewards co-occurrence, leave room in your subtitle and long description for terms semantically adjacent to your primary keywords — even if their raw volume is low. A "blood sugar diabetes A1C glucose tracker" subtitle now outperforms a "diabetes tracker diabetes log diabetes app" subtitle, even though the latter looks denser.

Practical tooling stack we ship with:

  • Sensor Tower for cross-market volume, competitive intelligence and downloads estimates.
  • AppTweak for keyword difficulty, ranking history and category benchmarks.
  • App Radar for translation and localisation workflows.
  • Apple Search Ads search match reports for ground-truth conversion data.
  • Google Search Console + Play Console acquisition reports for organic web-to-install attribution.

On-metadata factors — what each character actually does

On-metadata factors are everything you control directly in App Store Connect and Play Console. Limits, indexing weights and ranking contributions in 2026:

FieldiOS limitAndroid limitIndexing weight (2026)
App name / title30 chars30 charsHighest on both
Subtitle (iOS) / Short description (Android)30 chars80 charsHigh
Keyword field100 chars (comma-separated)n/aHigh on iOS
Long description4,000 chars (not indexed for search on iOS)4,000 chars (indexed)Medium on Android, conversion-only on iOS
Promotional text (iOS only)170 charsn/aNot indexed; updatable without review
In-app purchase names30 chars each, up to 20 promotedVisible in store listingIndexed on iOS, low–medium
Category (primary + secondary)21Affects browse + category top-charts

iOS keyword field rules — easy to fumble:

  • Comma-separated, no spaces. vpn,fast,privacy,streaming, not vpn, fast, privacy.
  • No plurals, no stop-words, no your own app name (already indexed via title), no competitor names (rejected and risky), no obvious mis-spellings of well-known brands.
  • Apple stems automatically — "track" covers "tracker", "tracking", "tracked". Do not waste characters on stem variants.
  • Use the category name only if it converts; "fitness" in a fitness app's keyword field is usually wasted because Apple already indexes the category.
  • Per-locale keyword fields are additive — a German keyword field's terms can rank in the German store while the US field's terms rank in the US store.

Off-metadata factors — ratings, velocity, retention

Off-metadata is what the store observes about you, not what you write. In 2026, both stores weight these heavily:

  • Star rating. Below 4.3 stars, install rate degrades sharply on both stores. Apple uses a 3-month rolling rating for ranking weight and a per-locale rating for the visible average. Google uses lifetime with recency decay.
  • Review volume and velocity. 100 new reviews this month outranks 1,000 old reviews. Velocity above 1 review per 1,000 installs is healthy; below 1 per 5,000 looks dormant.
  • Download velocity. A spike of fresh installs (paid burst, PR placement, Featured slot) pushes ranking up across the keyword set the listing targets. The Play algorithm decays faster than App Store on this signal.
  • Retention signals. Day-1 / Day-7 / Day-30 retention is a ranking input. iOS reads this through SKAdNetwork postbacks plus aggregate App Analytics; Play uses on-device signals and the Play Install Referrer. Below the median retention for your category, ranking decays even when other signals look healthy.
  • Crash-free rate. Below 99% on iOS or 99.5% on Android, both stores down-rank you and the Play Console exposes "Bad behaviour threshold" warnings.
  • Uninstall rate. Play specifically uses 7-day uninstall rate as a quality signal. iOS infers it indirectly via retention and active-device counts.

The takeaway: ASO is not just a marketing surface. Your app's product quality (retention, crash-free, uninstalls) is part of ASO. Shipping a polished MVP — see our 2026 mobile app cost breakdown for what "polished" actually costs — is a ranking lever, not just a UX one.

Creatives and A/B testing

Creatives drive conversion, not impressions. The split between "discoverability" (whether you appear) and "conversion" (whether the user taps Install) is roughly:

  • Discoverability: metadata, keywords, off-metadata signals.
  • Conversion: icon, first screenshot or app preview video, ratings, subtitle.

The hero — first screenshot on iOS, or app preview video if you set one — drives 60–70% of conversion impact. Optimise it first, with text-on-image that communicates the primary value proposition in under two seconds of viewing time. Subsequent screenshots build the story; most users only see the first 2–3.

A/B testing 2026:

  • iOS — App Store Connect Product Page Optimization (PPO). Up to 3 treatments vs. control. Traffic split per locale (default even). 90-day max test duration. Statistical significance reported in App Analytics. Test one element at a time per test cycle: icon → first screenshot → app preview video → subtitle.
  • Android — Play Console Store Listing Experiments. Global or per-locale, up to 3 variants, automatic winner promotion if you set it. Faster traffic accumulation than iOS because Play does not segment traffic as finely.
  • Run sequentially. Concurrent tests on different elements contaminate each other.
  • Measure to significance, not to "we have a feeling." P<0.05 with a minimum 5% relative lift is the bar we use before promoting a variant.

Localised creatives. Translate the embedded text in screenshots — not just the metadata. App Store screenshots with English text shown in a German listing convert ~40% worse than fully localised ones. Use Figma component variants + a localisation pipeline that exports per locale.

Global mobile audience using smartphones across regions
Localised creatives — text inside screenshots — convert dramatically better than English-only assets in non-English markets. Treat localisation as a design problem, not a translation problem.

Custom Product Pages and Play custom listings

This is where most teams underperform. Both stores let you serve a different page to different audiences — and almost nobody uses it well.

Apple Custom Product Pages (CPP). Up to 35 per app. Each CPP has its own:

  • Promotional text (170 chars)
  • Up to 10 screenshots per device size
  • One app preview video per device size (up to 3 per locale total)
  • Unique URL with a ppid parameter, usable in Apple Search Ads, Google Ads, Meta Ads, TikTok, email campaigns and web landing pages

Title, subtitle, icon and keyword field stay shared across all CPPs — those are the discoverability surface. CPPs are the conversion surface.

Play Store custom store listings. Up to 50 per app, scoped by:

  • Install state (new vs. returning users)
  • Country / region
  • Pre-registration audience
  • Google Ads / Search campaigns (via deep link parameter)

Each can override icon, feature graphic, screenshots, short description, long description and app preview video.

How we set them up: at minimum, one CPP per major Apple Search Ads ad group (so the post-tap experience matches the ad creative), one per cold-traffic Meta/TikTok campaign, and one per email or web landing-page channel. Then one Play custom listing per Google App Campaigns asset group, and one per geo when geos diverge enough on positioning.

In-App Events and LiveOps cards

Both stores now have first-party surfaces for time-bound promotional content on the product page:

  • iOS In-App Events. Up to 10 active events per app, each shown as a card on the product page and discoverable in Today/Games tabs. Event name 30 chars, short description 50 chars, long description 120 chars, plus event card image and optional event video. Events have a start/end date and live up to 31 days. Use for: feature launches, content drops, time-limited offers, live competitions.
  • Android LiveOps cards. Surfaced in Play Store search, browse and on the product page. Title 50 chars, description 200 chars, plus image. Same use cases.

Engineering implication: instrument your CMS or LiveOps backend so marketing can author events without an app release. App Store Connect API and Play Developer API both expose event endpoints — wire them into your internal admin from day one.

Re-engagement angle: In-App Events specifically show to users who already have the app installed. They are one of the few first-party tools Apple gives you for re-engagement that does not rely on push notifications. Treat them as a retention surface, not just a UA one.

Review management and prompts

Prompting and responding to reviews is the highest-ROI manual work in ASO.

Prompting in-app.

  • iOS — SKStoreReviewController. Capped at 3 prompts per user per 365 days. Apple enforces; over-calling silently no-ops. Trigger only after a positive moment: completed core action, hit a milestone, NPS > 8 in an in-app survey.
  • Android — Play In-App Review API. Lower quota, no public count, but Google rate-limits aggressively. Same trigger logic.
  • Custom pre-prompt. Before invoking the system prompt, show your own "How are we doing?" dialog with thumbs up / thumbs down. Thumbs up → fire system prompt. Thumbs down → in-app feedback form. This is allowed by both store policies and dramatically improves average rating because unhappy users vent in your form instead of as a 1-star review.

Responding to reviews.

  • Both stores allow developer responses. Both make responses publicly visible and notify the reviewer (Apple sometimes via email).
  • Target: respond to every 1-star and 2-star review within 24 hours, every 3-star within 72 hours.
  • For repeated complaint patterns, fix the product. Reviews are the fastest free user-research feed you will ever get.
  • When a reviewer updates a review after a bug fix, Apple does not auto-update star contribution for ranking — but the visible rating updates immediately. Close the loop publicly.

Attribution: SKAN 5, AdAttributionKit, Play Install Referrer

The post-IDFA world is finally usable in 2026. The three standards that matter:

  • SKAdNetwork 5 (iOS). Deterministic install postbacks with conversion values bucketed into coarse and fine windows (postback window 1: 0–2 days; window 2: 3–7 days; window 3: 8–35 days). Source app ID, campaign ID, ad group ID, ad ID and conversion value all flow back to the ad network. Configured via ASCII config + your MMP.
  • AdAttributionKit (iOS 17.4+). Apple's framework that extends SKAN to alternative app marketplaces and Web Distribution, plus formalises re-engagement attribution. If you ship on alternative EU stores, you must implement AdAttributionKit; SKAN alone will not see those installs.
  • Play Install Referrer v2 (Android). Returns referrer URL, click timestamp, install timestamp and Google-attested click info. Combined with Privacy Sandbox Attribution Reporting API for cross-app measurement that does not rely on advertising ID.

MMPs in 2026. AppsFlyer, Adjust, Branch, Singular all wrap SKAN, AdAttributionKit and Play Install Referrer behind a unified API. You still own the conversion schema design — what counts as conversion value 1, 2, 3 — and that schema is the single most consequential ASO/UA configuration decision. Map it to the user actions that predict LTV, not to vanity events.

For React Native and Flutter cross-platform apps, both have first-party plugin support for major MMPs as of 2026 — see our React Native vs Flutter comparison for stack implications.

Mobile developer working on cross-platform code
Cross-platform stacks (React Native, Flutter) need explicit MMP wiring for SKAdNetwork 5, AdAttributionKit and Play Install Referrer. The plugin support exists; the configuration is on you.

Organic ASO and paid acquisition are one system, not two. The compounding pattern we use on every product launch:

  1. Apple Search Ads (ASA) — discovery campaign. Bid on broad match for your keyword universe with a tight CPA cap. The Search Match report tells you which terms actually convert. Feed those terms back into your ASO keyword field, subtitle and CPP promotional text.
  2. ASA — branded defense. Bid on your own brand name. Competitors will bid on it. The CPM is low, the ROAS is excellent, and you keep impression share you would otherwise lose.
  3. ASA — exact-match brand competitors. Only where ToS-compliant and ROAS-positive. Most categories show declining returns here; test before scaling.
  4. Google App Campaigns (UAC). Largely automated targeting; you control budget, geo, language and creatives. UAC pulls assets from your Play listing automatically, so polished store listings directly improve UAC CTR. Feed it 5+ images, 5+ videos, 5+ headlines, 5+ descriptions for the algorithm to assemble.
  5. Geo split. Run both at the geo level. Apple Search Ads is highest-ROI in en-US, en-GB, en-AU, de-DE, fr-FR, ja-JP, ko-KR. Google App Campaigns ROAS holds up better in tier-2 and tier-3 markets where Apple device share is lower.
  6. Feed-loop. Quarterly, take the converting terms from ASA and the high-ROAS asset combinations from UAC and feed them into the next ASO update — title, subtitle, screenshots, CPP, custom listings.

FAQ

What changed in App Store and Play Store ASO in 2026?

Three big shifts. Apple rewired iOS 18+ App Store search around semantic relevance — exact-match keyword stuffing now hurts more than it helps. Google rolled out generative search summaries in Play Store, so the long description is read by an LLM that surfaces structured benefits in answers. And under EU DMA, alternative marketplaces (AltStore PAL, Setapp Mobile, Epic Games Store) plus Web Distribution are live in the EU since iOS 17.4, so EU app discovery is now a multi-store problem.

How many characters do I get for iOS and Android metadata in 2026?

iOS: title 30 chars, subtitle 30 chars, keyword field 100 chars (comma-separated, no spaces, no plurals — Apple stems them). Promotional text 170 chars (no indexing, but A/B test friendly). Android Play: title 30 chars, short description 80 chars, long description 4,000 chars. Both stores index titles heavily; iOS also indexes subtitle and keyword field; Play indexes short description more than long.

Are Custom Product Pages worth setting up?

For any app spending more than $5,000/month on paid acquisition — yes, mandatory. Apple Custom Product Pages (CPP) and Play Store custom store listings let you serve a different hero video, screenshot set and promotional text per ad creative or audience. We routinely see 15–35% lift in install conversion rate from matched-message landing pages. Set up at least one CPP per major Apple Search Ads ad group and one Play custom listing per Google App Campaigns asset group.

What replaced IDFA for measurement in 2026?

On iOS, SKAdNetwork 5 plus AdAttributionKit (introduced in iOS 17.4 and matured in iOS 18) are the privacy-safe attribution standards. Postback windows are deterministic, conversion values are bucketed, and re-engagement attribution finally works. On Android, Play Install Referrer v2 plus Privacy Sandbox Attribution Reporting API are the equivalents. MMPs (AppsFlyer, Adjust, Branch) wrap both — but you must configure conversion schemas yourself.

How do reviews actually affect ranking?

Star rating is a strong ranking and conversion lever in both stores. Below 4.3 stars, install rate degrades sharply. Apple uses 3-month rolling reviews for ranking weight; Google uses lifetime with recency decay. Velocity matters: 100 reviews this month outranks 1,000 reviews five years ago. Use SKStoreReviewController on iOS and Play In-App Review API on Android, prompt only after a positive user moment (NPS > 8 or after a completed core action), capped at the system limits (3/year on iOS).

Should I localise listings or use English everywhere?

Localise. iOS supports 39 localizations; Play supports 80. For each localisation you get a separate keyword field and indexable title, which dramatically expands keyword surface. Practical default: ship en-US, en-GB, de-DE, fr-FR, es-ES, es-MX, pt-BR, ja-JP, ko-KR, zh-Hans on day one. Translate creatives with embedded text — not just metadata. AppTweak and Sensor Tower can identify the highest-volume keywords per locale.

How do I A/B test creatives in each store?

iOS: App Store Connect Product Page Optimization (PPO) — up to 3 treatments vs control, 90-day max, traffic split per locale, statistical significance reported in App Analytics. Android: Play Console Store Listing Experiments — global or localised, up to 3 variants, automatic winner promotion. Run one test at a time per surface to keep signal clean. Test the hero (first screenshot or app preview) first — it drives 60–70% of conversion impact.

Does Apple Search Ads still matter alongside ASO?

Yes — organic ASO and Apple Search Ads compound. ASA gives you direct keyword bid signals (which terms actually convert), which feed back into your keyword field choices. Combine with Custom Product Pages so each ASA ad group routes to a tailored page. Same logic on Android: Google App Campaigns + Play custom listings + organic ASO are one system, not three.

Last updated 27 May 2026. Limits and indexing weights reflect App Store Connect and Play Console as of May 2026.