How App Store ranking actually works (and what indie devs get wrong)
The myth: ranking is keywords + reviews. The reality: it's a feedback loop between metadata, install velocity, retention, and rating — in that order. Here's how to think about it.
Most ASO advice is written as if ranking were a static formula. Pick the right keywords, the algorithm rewards you, you climb. The reality is messier and a lot more interesting: ranking is a feedback loop, not a formula, and treating it like a formula is exactly why so many indie devs spin their wheels for months.
Here's a more honest mental model.
The two phases nobody separates
When someone searches "meditation" in the App Store, two things happen in sequence:
- Indexation. The store decides which apps in the catalogue are eligible to appear for that query. This is governed almost entirely by your declared metadata — title, subtitle, keywords field on iOS; title, short description, long description on Play.
- Ranking. Among the eligible apps, the store picks an order. This is governed by metadata relevance + a stack of behavioural signals: install velocity for that query, retention of users who installed from that query, app rating, your country and category authority, and a dozen things nobody outside Apple/Google has ever fully enumerated.
A lot of ASO confusion comes from collapsing these two phases. People assume they're "not ranking for X" when actually they're not even indexed for X — the keyword isn't anywhere in their metadata. Or they're indexed but the algorithm is using behavioural signals to put 200 other apps ahead of them.
The diagnostic you should run first: search for your target keyword. If your app doesn't appear in the top 200 results at all, you have an indexation problem. Fix the metadata. If your app appears but at #75, you have a ranking problem. Fix the signals.
How indexation actually works on iOS
iOS indexes the following surfaces:
- App name (30 chars)
- Subtitle (30 chars)
- Keywords field (100 chars, comma-separated)
- Promotional text (170 chars) — yes, contrary to popular belief, some studies suggest it's lightly weighted, though Apple won't confirm
- In-app purchase names and descriptions — under-used, sometimes useful
Indexation on iOS is combinatorial. If your title is "Posterly — Star Map" and your subtitle is "Custom posters for any room", the store will combine tokens from both: you can rank for "star map", "posterly star", "custom star map posters", etc. This combinatorial mechanic is the single most important thing to understand about iOS metadata.
It also means duplication is wasted budget. If "star" appears in both title and subtitle, you've burned a slot. The store doesn't reward you twice.
The keywords field has a related rule: words there should not repeat words in title or subtitle. If your title has "Posterly", you don't need "posterly" in keywords — the store already indexed it. Use the 100 chars for additional, non-overlapping tokens.
How indexation works on Google Play
Play is different. It indexes:
- Title (30 chars)
- Short description (80 chars)
- Long description (4000 chars)
Long description is the big one. Play uses semantic density — how many times your keywords appear and in what context — to score relevance. There's a sweet spot: under ~600 chars and you're not giving the algorithm enough to chew on. Over ~6% density on any single term and you're flagged as spam.
Play also doesn't separate keywords from copy the way iOS does. There's no equivalent of the iOS keywords field. Whatever you want to rank for has to be naturally written into the long description.
The implication: iOS rewards concise, surgical metadata. Play rewards long, well-structured metadata. Writing them the same way is leaving signal on the table.
The ranking stack (what gets you past indexation)
Once you're indexed for a query, the algorithm decides where you land. The signals it uses, in roughly descending order of weight:
›1. Metadata relevance to the query
Not just "is the keyword present" but "where is it present and how prominently". Title > subtitle > keywords field > promotional text. A keyword in the title beats the same keyword buried in the keywords field, every time.
›2. Install velocity for that query
This is the big one nobody talks about. When users search "meditation" and click your app and install it, the store learns that your app is a good answer to that query. Not just for you — for everyone who searches "meditation". Install velocity attributed to a specific query is the single strongest ranking signal once you're past indexation.
This is why a brand-new app can't outrank a 5-year-old established competitor on broad terms even with perfect metadata. The competitor has years of "users searched X and installed me" history. You don't.
It's also why long-tail strategy works for new apps: nobody has 5 years of install history on "constellation map gift for anniversary". You can win that.
›3. Retention of users who installed from that query
This one is brutal and indie devs underestimate it constantly. If users install your app from a "yoga" search and uninstall within 48 hours, the store learns your app isn't a good answer for "yoga". Your rank for that query drops. Sometimes within a week.
The implication: never optimize metadata for installs at the expense of fit. Misleading title text wins installs and loses rankings.
›4. App rating
Below 3.0 stars: you're effectively suppressed regardless of metadata. The algorithm assumes the app is broken.
Below 3.8: you're significantly handicapped. ASO can still help, but you're climbing a hill.
Above 4.0: rating becomes a small differentiator between you and similarly-ranked competitors.
Above 4.5: marginal further benefit. The big jumps are at the bottom.
›5. Recency / freshness
Apps that ship updates get a small ranking boost. Apple in particular favours recently-updated apps in some queries. This is partly about quality signal (active dev = working product) and partly about index freshness.
›6. Country and category authority
If your app dominates the "meditation" category in Australia, you'll start ranking better for adjacent queries in Australia faster than you would in a country where you have no presence. ASO compounds country by country.
The feedback loop, made explicit
Putting it together:
- You ship metadata that targets keyword X in country Y.
- The store indexes you for X.
- Users searching X see your app, click, install some of them.
- Some installers retain past day 7. Some uninstall.
- The store updates its model: your install rate, your retention rate, your effective relevance.
- Your rank for X moves accordingly.
- The new rank changes who sees you and clicks. Loop.
The loop has a typical period of 1–3 weeks. Metadata changes typically take 5–14 days to show measurable rank movement. Ranking signals from behaviour (installs, retention) take 14–30 days to compound.
This is why the answer to "I changed my title yesterday and I'm not seeing movement" is always "wait two weeks". And why the answer to "I optimized metadata three months ago and nothing happened" is usually "your retention is the problem, not your metadata".
What this means for how you should work
A few non-obvious implications:
- Treat ASO as quarterly, not weekly. The signal-to-noise ratio is too low to optimize on a faster cycle for most indie apps. Set a baseline, ship a change, wait three weeks, measure.
- Don't iterate on metadata that's working. Successful keywords accumulate authority. Removing them resets the clock. Add and refine, don't churn.
- Watch retention before metadata. If your day-7 retention is below 20%, ASO won't save you. The store will find out and rank you accordingly.
- Country by country, not all at once. Each country has its own loop. Trying to win 10 markets simultaneously means 10 weak signals. Three markets done well beats ten markets done by spreadsheet.
How tools fit in
The honest pitch: a tool can dramatically speed up steps 1 (keyword research) and 6 (rank tracking). It can't replace the wait between them.
What we built ASO Pilot to do well: surface real autocomplete-verified keywords per country, propose prescriptive metadata edits with estimated impact, and run a weekly Pulse digest that watches your ranks move in real time so you don't have to remember to check.
What no tool — ours included — can do: give you good retention. That's product work.
Want a deeper dive into the keywords field specifically? Read The iOS keywords field: the 100-char rule explained. Or jump straight into a real analysis: run one free here.
- ASO Fundamentals
App Store Optimization: The Complete Guide for Indie Devs (2026)
Everything an indie dev or small studio needs to know about ranking on the App Store and Google Play in 2026 — without paying for SensorTower.
- ASO Fundamentals
The iOS keywords field: the 100-char rule explained
Apple gives you 100 characters of pure keyword surface — and most apps waste 30 of them on words already in the title. Here's how to extract every char of value.