Overview
Keyword choice runs in two stages. Relevance decides what is eligible, then opportunity ranks what survives. A term that does not describe your app is dropped rather than discounted.
That selection is saved as one versioned plan. The Agent writes the human-readable name, subtitle and description inside its constraints; it does not make a second keyword shortlist while drafting.
After name and subtitle are drafted, the same plan produces the exact 100-character Keywords field. The Agent does not invent or pack that field itself. A proposal there is reviewed word by word: a swap, a net-new term marked New, or a term marked Removed to free up characters.
Relevance
Before anything is ranked, keywords are filtered by whether they describe what your app actually does. A high-volume term you cannot credibly rank for, or that brings people looking for a different app, is worse than nothing: it wastes characters in a field that has very few of them.
So relevance is a gate, applied first. Terms that do not describe the job your app does are dropped before the opportunity maths runs at all.
Opportunity
What survives the gate is ranked by opportunity: how much traffic a term could bring, weighed against how hard it would be to rank for it.
High volume with high competition is usually a worse bet than moderate volume you can realistically reach. The shortlist reflects that rather than sorting by popularity.
The metrics
Four numbers do most of the work. Each is computed for one storefront, from that storefront, and none of them is transferable to another market.
You can see them for any proposed keyword: click the proposed value on a card in the review inbox, and the panel that opens lists Keyword, Volume, Relevance and Chance for the term and the ones it was chosen over.
Volume
How much a term is searched in that storefront. It is an estimate, not a number the App Store publishes, so treat it as a way to compare two keywords rather than a forecast of installs.
Difficulty and chance
Difficulty describes how contested a term is: who already ranks for it and how strong they are. Chance turns that into your odds specifically, given where your app currently stands.
Together they are what stops the shortlist filling up with terms every app in the category is fighting over.
Match
Match is how well a keyword fits your app. It combines the words in your listing, the meaning behind them, what the search results for that term actually look like, and what someone typing it is trying to do.
Match is the gate from the first section, expressed as a number. It is not a multiplier on volume, because a term that does not fit should be excluded rather than discounted.
Packing the keywords field
On iOS the keywords field is 100 characters, and every character you do not use is one you gave away.
The exact field is finalized from the same plan: as many distinct terms as fit, rather than a few head words. The store combines words across the field, so repeating a word you already have buys nothing.
The reviewed proposal therefore carries that exact finalized field, not a browser-side reconstruction.
- No duplicated words, and no words already in your app name.
- No spaces after the separators, which would waste characters.
- Modifiers that combine with terms already present, rather than near-duplicates of them.
Common questions
Why drop a keyword that was ranking?
The field is 100 characters, so every term is competing for room. A removal usually means the word completes no searched phrase, not that it performed badly. The card says which.
Can I see why a specific keyword was chosen?
Yes. Click the proposed value on a card and the panel lists its volume, relevance and chance beside the terms it was chosen over.
Why is the same keyword good in one market and not another?
Because rankings are computed per storefront. Volume, difficulty and chance are all measured in one market, and none of them transfers.