App Store Keywords: The 30/30/100 Rule Indie Devs Keep Breaking
Berat Kurt
I ship my own apps to the App Store and Google Play, and for a long time I filled out the keyword field the way most people do: I dumped in every phrase I could think of that described the app, separated by commas, until the counter turned red.
Then I started auditing listings properly, including my own, and found the same pattern almost everywhere. The word "water" appearing four times. The app's own name taking up space. The word "app" sitting there doing nothing. On one of my listings, once I removed the repeats and the filler, I had lost nothing and gained 40 free characters for terms I had never indexed for.
This post is about that budget, why it is smaller than you think, and how to spend it.
What Apple actually indexes
Before the rules, the mechanics. On the App Store, Apple builds your keyword index from:
Your app name, up to 30 characters
Your subtitle, up to 30 characters
Your keyword field, up to 100 characters
Your in-app purchase names and promotional text for IAPs
Your developer name
Your category
Notice what is missing: the description. On the App Store, your description is a conversion asset, not a ranking asset. You can write 3,000 beautiful words there and it will not help you rank for a single term. This is the single biggest difference from Google Play, where the description is indexed and keyword density matters.
So your actual ranking surface is 30 plus 30 plus 100. That is 160 characters. That is your whole budget.
Why repetition costs you twice
Apple does not only index individual terms. It builds combinations across your fields. If your title contains "Water" and your keyword field contains "bottle", you have a shot at "water bottle" without spending characters on the phrase itself.
That changes how you should think about the fields. They are not three separate lists. They are one pool that gets recombined. Which leads to the rule I now apply to every listing I touch:
Never repeat a word across the title, subtitle and keyword field.
Every repeat is a character you paid for and got nothing back. Here is the same app before and after.
Before:
FieldValueCharsTitleAquaPal: Water Tracker22SubtitleWater Reminder & Drink Tracker30Keywordswater,water tracker,drink water,water reminder,hydration app,drinking water,best water app90
Count the unique words in that keyword field. There are eight. Ninety characters bought eight words, and "water" was already in the title. The subtitle repeats "water" and "tracker", both of which are already in the title. Roughly a third of the total budget is spent re-saying two words.
After:
FieldValueCharsTitleAquaPal: Water Tracker22SubtitleDaily Hydration Reminder24Keywordsdrink,intake,thirst,bottle,glass,sip,goal,habit,routine,alarm,ounce,liter,diet,counter,wellness95
Same app, same positioning, zero repeats. The keyword field now holds fifteen distinct terms instead of eight, and each one combines with "water", "tracker", "daily", "hydration" and "reminder" from the other two fields. Nothing was lost. The listing reads exactly the same to a human.
The rules that free up characters
Once you stop repeating, these are the next places where characters leak.
Use singular forms. Write "bottle", not "bottles". Apple handles basic plural matching, so the extra character is usually wasted. Fifteen keywords with an unnecessary "s" is fifteen characters, which is a whole extra term.
Drop the spaces after commas. The keyword field separates terms by comma. A space after each comma in a fifteen-term list costs you fourteen characters for nothing.
Cut filler and stop words. "the", "a", "and", "for", "best", "free", "top". Apple ignores common stop words, and words like "best" and "free" carry no search intent from a ranking perspective.
Never write the word "app". Your app is on the App Store. Nobody needs the word, and Apple already knows.
Leave out your app name, your developer name and your category name. All three are already indexed. Putting "AquaPal" in the keyword field is pure waste.
Do not use competitor brand names. Beyond the ranking question, this is a trademark problem and a known rejection trigger.
Write in each locale's own words, not translated ones. A direct translation of your English keywords often misses the phrase people in that country actually type.
How to choose what goes in the 100
Removing waste gives you space. Filling it well is the harder half, and this is where most guides stop at "brainstorm relevant terms". A better process:
Start from what you already rank for. Before adding anything, look at your current positions. Terms where you sit between position 10 and 30 are the cheapest wins, because you are already indexed and close.
Check volume and difficulty together. A term with high volume and high difficulty is a trap for a new app. A term with modest volume where you can realistically reach the top 10 sends you real downloads.
Look at what your competitors changed. When an app that outranks you edits its subtitle, that is a signal about what is working in your category right now.
Think in combinations, not phrases. Before you spend 14 characters on "water reminder app", check whether your fields already produce it.
Leave room to iterate. Keep two or three slots for terms you want to test after the next release.
This is the part I got tired of doing by hand across a portfolio of apps, which is why it became the core of what I build at Forvibe: the audit tells you which of your current keywords to keep and which to drop, and the rank tracking tells you whether the change worked.
The mistakes I see most often
Keeping the same subtitle for two years because nobody owns it
Filling the keyword field once at launch and never touching it again
Translating keywords literally into other locales
Repeating the brand name in the subtitle where it is already in the title
Changing title, subtitle and keywords all at once, so you cannot tell what moved the needle
That last one is worth repeating. Change one field per release. Otherwise you have no attribution, and ASO without attribution is just guessing with extra steps.
One thing to do today
Open App Store Connect, copy your title, subtitle and keyword field into a text editor, and highlight every word that appears more than once. Then count the characters you get back.
In my experience, most listings hand back somewhere between 20 and 40 characters in ten minutes of work. That is three to five new terms you were not competing for yesterday.
If you would rather have that audit done for you across both stores, along with rank tracking to see whether the change worked, that is what I am building at Forvibe.
Next in this series: why keyword repetition breaks Apple's combination engine, with a worked example from a real listing.