The App Store keyword field: how to spend 100 characters
Apple's keyword field is 100 characters, nobody ever sees it, and it is pure search signal. Six rules cover almost everything:
| Rule | Do | Don't |
|---|---|---|
| Separator | habit,tracker,daily |
habit, tracker, daily |
| Number | Singular only | Both singular and plural |
| Repetition | Words not in your name or subtitle | Anything already there |
| Phrases | Single words, let Apple recombine | Full phrases with repeated words |
| Competitors | Your own terms | Other apps' brand names |
| Category | Terms describing the job | Your App Store category name |
Every one of those rules exists to buy back characters. You have 100 and there is no way to get more, so the entire skill is not wasting them.
Why the separator matters this much
Comma, no space. A space after every comma in a ten-keyword field costs nine characters, which is another whole keyword you did not get to use.
Apple's field ignores your formatting intentions. It splits on commas and puts the resulting words into a pool. Spaces are just characters it has to store.
Here is the difference in a real field. This is a listing spending 54 characters:
habit tracker, habit trackers, daily habits, habit app
Four comma-separated phrases, and the useful content is four distinct words: habit, tracker, daily, app. Everything else is a space, a comma, or a repeat.
And this is 78 characters:
habit,tracker,daily,routine,streak,goal,ritual,checklist,reminder,productivity
Ten distinct words, still 22 characters of headroom. Same field, two and a half times the coverage.
Single words, because Apple recombines them
Apple pools your app name, subtitle and keyword field into one bag of words and matches queries against the bag. Order does not matter and adjacency does not matter.
So "habit" plus "tracker" plus "daily" already competes for "daily habit tracker", "habit tracker daily", "daily tracker" and every other permutation. Writing the phrase out costs you the repeated words for nothing.
The exception is a phrase where the words genuinely only make sense together and one of them is not a term you would otherwise want. Even then, write the two words separately and let them do double duty.
Plurals are a bad trade
Apple matches "tracker" against a search for "trackers" and vice versa. Not flawlessly, and behaviour varies by language, but reliably enough that paying eight characters for trackers when you already have tracker is not a purchase you want to make.
If you have spare characters at the end and no better use for them, plurals are a defensible way to spend the last few. They are never the first thing to buy.
Nothing that is already in your name or subtitle
This is the rule most often broken, and it is free money.
Your app name and subtitle are indexed and pooled with the keyword field. A word in your name is already in the bag. Adding it to the keyword field does not double its weight; it just spends characters.
So write the name, write the subtitle, then list the words those two fields contain. Every one of them is banned from the keyword field. What is left is your real 100 characters.
For an app called Bloom: Habit Tracker with the subtitle Daily routines and streaks, the words already covered are bloom, habit, tracker, daily, routines and streaks. Six words you do not pay for again, which is roughly 40 characters recovered.
No competitor names
Two reasons, and the second is the one that matters.
The soft reason is that it rarely works. Ranking for a competitor's brand name means outranking the competitor on their own name, which you will not do.
The hard reason is that Apple's review guidelines treat third-party trademarks as an intellectual property matter, and using another app's name in your metadata is grounds for rejection. It is a rejection that arrives after you have waited for App Review, which makes it an expensive way to learn the rule.
The same logic applies to celebrity names, other companies' product names, and platform names you do not own.
No category names
If your app is in Health & Fitness, spending characters on health and fitness is usually a waste. Apple already associates your app with the category you chose, and category terms are also the most contested and least specific words available to you.
This one has more nuance than the others. The reasoning is sound but Apple publishes nothing about category-derived indexing, so treat it as a strong default rather than a law. If your category name is genuinely the phrase your users type, and it is not in your app name, it may earn its characters.
Details that are easy to get wrong
Case is irrelevant. Habit and habit are the same word. Use lowercase, it is easier to scan.
One field per language. Every localisation you add gets its own 100 characters. Localising a listing therefore multiplies your keyword surface, and translating your keyword field literally wastes most of it, because the terms people actually type in German are not the German words for your English terms.
Numbers and deliberate misspellings. Both are legal. Neither is usually worth the characters.
It is version-bound. The keyword field is attached to an app version. You edit it while the version is in Prepare for Submission, and once that version is live the field is frozen until your next release. That is the practical reason not to leave keyword research until after launch: a wrong keyword field stays wrong for however long your next release takes.
A workable order of operations
- Write the app name first, 30 characters, brand plus your strongest term.
- Write the subtitle, 30 characters, a readable line carrying terms two and three.
- List every word those two fields contain. That is your exclusion list.
- Write the keyword field from your research, minus the exclusion list, minus plurals, minus category names, minus anyone else's brand. Single words, commas, no spaces.
- Count it. If you are under 100, add long-tail words, not plurals.
Then leave the description alone, because on the App Store it is not indexed and no amount of keywords in it will change that.
AppSubmit flags keyword-field words that already appear in your name or subtitle, which is the tedious part of step three. The rest of this is a text box and a character counter.