# The App Store keyword field: what counts and what is wasted

Sam · Published November 4, 2026 · Canonical: https://rankaso.app/blog/app-store-keyword-field/


The App Store keyword field is 100 characters per locale, read together with your app name and subtitle, and Apple matches any combination of the words across the three. So the rules are short: separate words with commas and no spaces, never repeat a word that is already in the name or subtitle, never add a plural of a word you have, and never spend characters on words Apple ignores such as "app" or "free". Every character saved is a word that can earn a rank. Below are the rules, and our own app's field on the day we rewrote it, with what each change bought.

![The field report in RankASO, each word of the keyword field with what it earns](https://rankaso.app/assets/device-06.png)

## The rules Apple applies

1. **Words, not phrases.** Apple indexes individual words from the name, subtitle and field and matches searches against combinations of them. "adult,content,blocker" covers "adult content blocker", "content blocker" and "adult blocker". Writing "adult content blocker" with spaces costs two characters for nothing.
2. **Commas, no spaces.** A space after a comma is a wasted character. Apple's own guidance says to separate with commas.
3. **The name and subtitle are already indexed.** A word in the field that is also in the name is a duplicate; it carries nothing and costs its length plus a comma.
4. **Singulars cover plurals.** Apple matches "blocker" to "blockers". Add one form only.
5. **Some words are ignored.** "app", "apps", "free", "the", "a", "an", "and", "or", "for", "of", "with", "to", "in", "on", "best", "top", "new". Apple matches "app blocker" to a field that has only "blocker".
6. **Fields are read across storefronts.** The US store reads en-US plus es-MX and some others; Canada reads en-CA and fr-CA together; the UK, Australia and India read en-GB. A second locale's field is another 100 characters in the same storefront.
7. **Only the top matters.** A word that earns a rank at 150 earns nothing a user will see. The field report's question for each word is whether any tracked term containing it ranks in the top 10 anywhere.

## One real field, before and after

This is [Escape](https://escapethegrip.com/)'s en-US field as entered in App Store Connect on November 3, 2026 for version 5.12, run through RankASO's rule checker and coverage simulator before the version shipped.

**Before (99 characters):**

```
filter,addiction,chrome,lust,recovery,urge,no nut,overcome,temptation,website,web,nnn,reboot,safari
```

**After (100 characters):**

```
filter,addiction,chrome,recovery,urge,no nut,overcome,temptation,website,web,nnn,gooning,relapse,pmo
```

What changed and why, from the live ranks on the day:

| Word | Decision | Evidence |
|---|---|---|
| safari | dropped | "safari blocker" ranked outside the top 200; the top 10 is Apple's own and a wall |
| lust | dropped | ranked past 200 in the US on its own and the term is owned by a larger app; 83 in Canada |
| reboot | dropped | ranked 60 on a one-word term; a position nobody scrolls to |
| gooning | added | "quit gooning": Apple popularity 6, the top app on it has 23 ratings; open |
| relapse | added | a recovery-intent word with no competitor in the top 10 using it in a name |
| app | first draft, then removed | the rule checker flagged it: Apple ignores "app", so the four characters bought nothing; swapped for "pmo", a term the app already ranked 92 for in the US and 64 in GB |

The first draft of the field had "app" at the end. The rule checker's line was "app is ignored by Apple. Costs 4 characters for nothing." That one flag paid for a word that was already ranking.

The coverage simulator then listed what the new field covers that the old one did not ("app blocker", "gooning", "quit gooning", "relapse") and what it stops covering ("lust", "reboot", "safari blocker"), so the trade was explicit before anything shipped. Baseline ranks were recorded the same day; Apple re-indexes a few days after the version goes live, and the before-and-after is the only honest way to judge a field change.

## The locale trick

Escape also carries an es-MX field, read in the US store: `bloqueador,sitios,filtro,vicio,impulso,recaida,abstinencia,tentacion,habito,adiccion,adulto,bloquear`. The app ranks 4 for "filtro adulto" and 6 for "recaída" in the US store through that field. A second locale is a second 100 characters in the same storefront, and most indie apps leave it empty.

Canada reads en-CA and fr-CA together, so the French field can carry English words the English field has no room for; Escape's fr-CA field holds "sobriety" and "screen time" for that reason.

## A method, in four steps

1. **List every word in the name, subtitle and field,** per locale. Strike duplicates, plurals and the ignored words. That is usually 10 to 20 characters back.
2. **For each remaining word, find the tracked term that uses it.** A word with no tracked term behind it cannot be judged. Track one.
3. **Keep the words that earn a top-10 somewhere, in any storefront.** Replace the rest with words from terms you rank 11 to 50 for, where one more word might move you.
4. **Record ranks the day you submit, and again two weeks after release.**

RankASO's Studio does steps 1 and 3 for you (the rule checker and the field report), simulates coverage before you submit, and the Release impact view does step 4.

RankASO on the App Store: https://apps.apple.com/app/id6830350753?ct=blog-en-13&mt=8 (Free to start. No account. Data Not Collected.)

## Questions

### Should I put the keyword field words in the name or subtitle instead?

The name and subtitle carry more weight than the field, so your two or three most important words belong there. The field is for the next fourteen.

### Do I need spaces after the commas?

No. Spaces are characters, and Apple reads commas as the separator. "filter,addiction" is right; "filter, addiction" wastes one character per word.

### How long until a keyword field change shows in the ranks?

Apple re-indexes after the version is live, usually within a few days. Compare ranks taken the day you submitted with ranks two weeks after release, and ignore the days in between.
