How App Store search matches metadata
This is the model the openaso server teaches your agent. It is also the part of ASO most tooling gets wrong — worth understanding even if an agent does the work.
One pool, three fields
For each localization, Apple indexes the title (30 characters), the subtitle (30), and the hidden keyword field (100) as one combined word pool. An app can rank for any query assembled from words across those fields: photo in the title plus resize in the keyword field can rank for "resize photo".
- Title words weigh most, then subtitle, then keyword field.
- Word order and case do not gate what can rank — a phrase kept intact in the title or subtitle is a mild extra relevance signal, nothing more.
- Repeating a word in a second field adds nothing. That budget is wasted.
- Storefronts may index extra localizations — the US storefront also indexes Spanish (Mexico) — expanding the usable pool beyond one localization's budgets.
Keyword-field mechanics
Commas count toward the 100 characters, and spaces around commas are pure waste: a,b not a, b. A space that is a word's only separator costs the same as the comma replacing it.
Optimize the pool, not phrases
A word's search value is the sum of every phrase it can combine into — photo serves photo editor, photo maker, and take photo at once. But a phrase's value accrues to each of its words, so compare words by marginal unlock and at-risk value, not by summing phrase totals. The coverage tool computes all of this locally for a draft: pool, duplicates, budgets, keyword-field waste, per-phrase coverage, and per-word value when you pass volume-weighted phrases.
{ "phrase": "resize photo", "covered": true, "via": { "resize": "keywords", "photo": "title" }, "note": "cross-field combinations tend to rank weaker than same-field phrases — verify with rank" }
Caveats the tools surface
rankcovers the top 200 search results — the public API's cap.volumereturns Apple's real Search Ads popularity whensource: "apple"; where Apple floors low-demand keywords or carries no signal,source: "proxy"is a transparent independent estimate with per-signal components.- The live keyword field and subtitle are not exposed by any public API — tools infer around that honestly rather than pretending to read them.
revenueis a modeled order-of-magnitude band from public grossing ranks. Agents are told to report it as an estimate, never as fact.- Google Play is not covered.