


This productivity app was already ranked around position 10 for most of its target keywords — visible, but invisible where it counted. Here is the exact keyword optimization process that moved those terms to Top 1–2 and held them for more than two months.
Most ASO case studies start from zero — an unindexed app with no coverage and no traffic. This one doesn't. This client was already doing a lot right: they had real keyword coverage, most of their target terms sat around position 10, and they were pulling steady impressions from App Store search. Their problem was subtler and, frankly, more common: they had hit the page-one ceiling.
Ranking 8th, 10th or 12th for a keyword feels like progress. It looks fine in a dashboard. But in App Store search, the gap between position 10 and position 1 is not incremental — it's the difference between being technically findable and actually being chosen. This is the story of how we closed that gap on nine keywords, and kept it closed.
Our client is an established productivity app in the US App Store — a task and workflow management tool used mainly by working professionals and small teams. Unlike an early-stage app, they arrived with a genuinely healthy foundation: a mature metadata setup, an existing base of ratings, and keyword coverage across several dozen relevant search terms. Roughly a dozen of those terms were already ranking around position 10, generating a consistent flow of search impressions.
In other words, they had already won the hard part that most apps never finish: they were indexed, covered, and visible. What they hadn't won was the top of the results page.
The client came to us with a frustration many mature apps will recognise. Their ASO work had plateaued at the exact point where it should have started paying off.
1. Page one wasn't converting like page one. Sitting around position 10 meant appearing at the very bottom of the visible results — or requiring a scroll. Impressions looked acceptable, but the tap-through rate on those impressions was a fraction of what the top slots were pulling. In App Store search, the first two results absorb the overwhelming majority of taps for any given term; everything below competes for the remainder.
2. Metadata optimization had run out of room. They had already refined their title, subtitle and keyword field, and had followed the sort of field-mapping discipline we outline in our guide on how to pick the right app keywords. Those changes had earned them coverage and mid-page rankings — and then stopped producing gains. This is expected: metadata determines whether you can rank for a term. It does not determine where you land within the eligible pool.
3. They were stuck behind entrenched competitors. The top slots for their core terms were held by well-known productivity apps with years of accumulated ranking authority. Waiting for organic momentum to overtake them was not a realistic plan on any useful timeline.
4. Previous gains hadn't held. An earlier attempt at a short promotional burst had produced a brief ranking spike that decayed within days. They needed positions that would stay, not a spike to screenshot.
Everything below is what we actually did, in order. Because the entire growth story here rests on keyword rankings, we've documented the complete keyword workflow — selection, auditing, allocation, pacing, delivery and defence — rather than listing generic best practices.
We started with the client's current ranking data rather than a blank keyword list. This is a different starting point than a new app requires, and it changes the whole plan.
Using ASOWorld's keyword ranking tools, we pulled every term the app currently had coverage for and tagged each one:
That audit immediately reframed the campaign. The client had been thinking about "improving ASO" broadly. The data said something much narrower: there were roughly a dozen terms sitting at the edge of the top, and those were the entire opportunity.
From that shortlist we scored each candidate on the three dimensions we use for every keyword decision, as covered in our keyword selection guide:
The client's instinct was to put everything behind the two highest-volume head terms in their category. We advised against it, and the reasoning matters: those two terms were dominated by category leaders who had held the top slots for years, and concentrating budget on them would have produced a smaller, less durable result than spreading across a wider set of achievable terms.
Instead we finalised 9 keywords for the first campaign — a mix of core terms describing what the app fundamentally is, and longer-tail phrases capturing specific workflow and feature intent. All nine shared one trait: an existing rank close enough to the top that a realistic volume of install signal could close the distance.
This is where most self-managed campaigns go wrong. Volume was calculated per keyword, based on the distance each term needed to travel and how contested its top slots were — not by dividing a total budget by nine.
The resulting allocation was deliberately modest and tightly bounded:
Two rules governed these numbers. First, keyword installs were kept well within 30% of the app's total daily installs — the ceiling we hold to in order to keep the delivery pattern proportionate to the app's genuine organic baseline. Second, volumes were kept flat and even day over day, producing a steady signal rather than a spike. An app already receiving organic traffic doesn't need a surge to move; it needs consistency the algorithm can read as sustained demand.
With the plan settled, execution followed the standard campaign setup flow:
Once live, we monitored delivery and rank movement side by side on the same timeline — install volume delivered per keyword per day, against that keyword's rank change. That pairing is what makes a campaign diagnosable: it shows whether a keyword is failing because it needs more signal, or because the target was wrong to begin with.
Delivery ran clean. Every task completed at 100% — 75/75 on the highest-volume term and 60/60 across the rest, split evenly at 25/25/25 and 20/20/20 per day. No under-delivery, no catch-up spikes, no gaps in the pipeline.

ASOWorld dashboard showing 9 keyword install tasks, each fully delivered, with app rankings at Rank 1 or Rank 2 and position gains from +1 to +9
Read that ranking column carefully, because it's the clearest illustration of why this app was such a good fit for keyword installs. A +1 gain means a keyword that was already sitting at Rank 2 and simply needed a nudge to take the top slot. A +9 gain means a term around position 10 — precisely the client's plateau — carried all the way to the top on 60 installs delivered over three days. Neither of those outcomes is available to an app without existing coverage. The starting position is the leverage.
Reaching Rank 1 is the easier half of the job. Staying there is what determines whether a campaign was worth running, and it's where the client's previous attempt had failed.
After delivery concluded, we kept tracking the promoted terms without further spend. The rankings did not decay.

Ranking trend chart showing a keyword moving from around position 60 to position 1 in mid-May and holding that position flat through the end of July
That flat line is the most important image in this case study. It shows the ranking becoming self-sustaining. Once the app occupied the top slot, it captured the tap share that comes with the top slot — and those genuine organic installs supplied the ongoing signal the position needed. The campaign didn't rent the ranking; it moved the app into a position its own organic performance could defend.
If your app is already ranking but stalled outside the top few results, this case maps closely onto your situation. Four things made the difference:
The uncomfortable truth for a lot of well-run apps is that the work required to reach position 10 is not the work required to reach position 1. Metadata gets you eligible. Install signal decides where you land. If you've already done the first part properly, the second part is a much smaller job than it looks — as nine keywords and 555 installs demonstrated here.
Categories