Capability · App Store & Google Play

Two stores, two different products, two different jobs.

The App Store indexes a hidden keyword field and does not index your description. Google Play has no keyword field and indexes everything visible. One of them lets you build 70 alternate product pages; the other lets you target a listing by whether the user already owns the app. An ASO programme that treats them as one channel is leaving most of both on the table.

Metadata

The fields, the real limits, and what each one is actually for.

Per localisation on the App Store, per language on Google Play. These are the constraints copy is written inside — and the reason a single translated string set is not a localisation strategy.

App name / title

App Store 30 characters

Google Play 30 characters

Indexed on both stores. The most contested 30 characters you own.
Subtitle / short description

App Store 30 characters

Google Play 80 characters

Indexed on iOS. On Play it is the only text many users read before the fold.
Keyword field

App Store 100 characters

Google Play Does not exist

iOS has a dedicated, hidden field. Play indexes the visible text instead.
Promotional text

App Store 170 characters

Google Play —

Changeable without a release. Not indexed — use it for timing, not keywords.
Description

App Store 4,000 characters

Google Play 4,000 characters

Not indexed on iOS. Fully indexed on Play, which changes how it is written.
Release notes

App Store —

Google Play 500 characters

A real surface on Play, and a retention touchpoint most teams waste.

Page variants

You are allowed more than one store page. Almost nobody uses the allowance.

iOS — Custom Product Pages

Up to 70 additional versions of your product page per app. Each one can vary screenshots, app previews, promotional text and keywords, and from iOS 18 a deep link as well.

Where they surface

  • A unique URL — the one you point a paid campaign or an email at
  • App Store search results, via the keywords assigned to the page
  • Editorial collections on the Today, Games and Apps tabs
  • Apple Ads on the Search tab and as search-result variations
  • In-app advertising rendered by StoreKit, via customProductPageIdentifier on SKOverlay or SKStoreProductParameterCustomProductPageIdentifier

Appended to the default page URL as customProductPageId, and measured in App Analytics against the default page: impressions, downloads and redownloads, conversion rate, retention and average proceeds per paying user.

Android — custom store listings

Up to 50 custom store listings per app — up to 100 for Play partners — each targetable by country, by user or buyer state, or by search keyword.

What that enables

  • A different page for a market without forking the whole localisation
  • A separate page for people who have installed before and churned
  • Keyword-targeted pages that answer the query the user actually typed
  • Campaign-specific pages addressed by URL, the Play equivalent of a CPP

The limit covers every type together — country, keyword, campaign, URL and install-state listings all draw from the same 50, which makes the allocation a planning decision rather than an afterthought.

Experiments

Both stores will A/B test for you. Both of them cap how much.

Which means the binding constraint on store-side testing is almost never ideas. It is concurrency and traffic — and a test that cannot reach significance inside the platform's own limit is spend with no conclusion attached.

iOS — Product Page Optimization

Treatments per test
Up to 3
Concurrent tests
1 per app
Maximum duration
90 days, or stopped manually
Conclusive threshold
At least 90% confidence
Testable elements
Icon, screenshots, app previews
Eligible users
iOS and iPadOS 15 or later, selected at random

Traffic is split by the percentage you set: allocate 40% across two treatments and each gets 20%, with 60% left on the original. A user sees the same treatment for the whole test. If you are testing an alternate icon, every variant has to ship inside the app binary first — which makes icon tests a release-cycle decision, not a console one.

Android — store listing experiments

Default graphics experiments
1 at a time
Localised experiments
Up to 5 at a time
Variants per experiment
Up to 2 against the current listing
Per custom store listing
Its own experiment slots
Testable elements
Icon, feature graphic, screenshots, video, text

Play lets you build an install-state listing aimed at people who deleted the app or have not opened it in over 30 days — but you cannot currently run an experiment on one. Knowing which of these surfaces can be tested and which can only be shipped is most of what a store-side test calendar is.

Apple Ads

Four placements, three match types, and a structure you only get to choose once.

Today tab

The front page of the App Store. Reaches people in discovery mode, before they search — an awareness and seasonal placement, not a last-click one.

Search tab

Above the suggested-apps list, before a query is typed. Intent-adjacent inventory that behaves differently from search results and should be budgeted separately.

Search results

The top of the results page for a query. The core placement, and where brand, category, competitor and discovery campaigns need to be kept apart.

Product pages

Served while someone is researching other apps. Reaches an actively comparing user at the moment of comparison.

Exact match

Fewer impressions, tightly held to the term you chose. Where brand, category and competitor campaigns belong.

Broad match

Expands to related terms, synonyms and close variants. Useful for reach, dangerous without negatives.

Search Match

On by default. Matches against your own store metadata, category and related apps — which makes your ASO work the input to your discovery campaign.

Apple Search Ads was renamed Apple Ads in April 2025, once the placements grew past search. The practical consequence is that the ASO programme and the Apple Ads account stop being separate projects: Search Match reads your metadata, and Custom Product Pages are the creative your search-results ads can serve. We run them as one workstream.

Play assets

The specifications the Play Console enforces.

Boring, and the most common reason a launch slips a week.

App icon
512 × 512 px, 32-bit PNG with alpha, max 1,024 KB
Feature graphic
1024 × 500 px, JPEG or 24-bit PNG, no alpha
Screenshots
At least 2 required; min dimension 320 px, max 3,840 px; JPEG or 24-bit PNG
Screenshots for store prominence
At least 4 at 1080 px for apps, 3 for games
Preview video
One standard YouTube preview per listing
Android TV banner
1280 × 720 px, JPEG or 24-bit PNG — required to publish a TV-enabled app

Next step

Bring us the account you are not sure you can trust the numbers on.

Tell us the apps, the stores, the MMP and roughly what you spend. We will reply with what we would look at first, in writing, before anyone asks you to sit on a call.