Mobile apps
Native and cross-platform apps for Android and iOS, scoped honestly, designed to platform conventions, and maintained through the OS releases and store deadlines that arrive every year.
SBPO Consulting · App growth
An app store listing is the narrowest funnel in mobile: a name, a subtitle, two visible screenshots and a few seconds of attention. The two stores index completely different fields and reward completely different things, so the same listing cannot be right on both. We treat them as two channels that happen to share an app.
Where we come in
App store optimization is three jobs that regularly get confused with one another, and confusing them is why most ASO engagements disappoint.
The first is visibility: whether the listing appears at all when someone searches a term, browses a category, or is served a recommendation. The second is conversion: of the people who do see it, how many tap the install button. The third is quality: whether the people who install stay, because both stores read that back into how often they show you to anyone else.
Almost every proposal covers the first. Fewer cover the second properly, which is odd, because that is usually where the larger and faster gain sits — a conversion improvement applies to the impressions you already have rather than to impressions you hope to earn. Almost nobody treats the third as ASO at all, which is how an app sitting above the Google Play crash threshold ends up paying an agency to research keywords.
We do all three, and we will tell you which of them is your actual constraint before you commission any of them.
The letters ASO have meant app store optimization for well over a decade. They are now also being attached to agentic search optimization — getting a brand surfaced and cited inside AI assistants and generative answers. That is a real discipline and an entirely separate one: different surfaces, different retrieval, and nothing resembling a 100-character keyword field.
This page is about apps, in the App Store and on Google Play. If what you need is to be present inside an AI answer, the page you want is generative engine optimization, and saying so now saves you the next two thousand words.
This is the most useful thing to understand about ASO and the most commonly ignored. It is why a single “store listing” written once and pasted into both consoles is always at least half wasted.
Apple states that App Store search results are based on a number of factors including text relevance — matches for the app name, subtitle, keywords and primary category. That is the whole indexed surface, and the fields are small: an app name of up to 30 characters, a subtitle of up to 30 characters, and a keyword field limited to 100 characters with terms separated by commas and no spaces.
Roughly 160 characters of indexed text, then. Everything else on the product page exists to persuade rather than to rank. Apple is explicit that promotional text does not affect search ranking, so the widespread habit of loading it with keywords achieves nothing at all — and it wastes the 170 characters sitting at the top of your description, which is the one field you can update without shipping a new version.
Search results are also shaped by downloads, ratings and reviews and other behavioural signals, and a result can display up to three screenshots or app previews alongside the app. The creative sits inside the search result, not just behind it.
Google Play behaves much more like a search engine, because it is one. Google’s guidance on getting discovered on Play tells developers to apply SEO principles to the description while staying inside content policy, to keep the title unique and avoid common terms, misspellings and excessive special characters, and to put key information above the fold. The long description is indexed. There is no separate keyword field to fill in.
Play ranking also incorporates ratings, reviews, download volume and behavioural feedback, and the advice attached to that is refreshingly blunt: build a quality experience, update regularly, encourage feedback, answer your users.
You write the listing twice. On the App Store you are allocating a very small number of characters with something close to precision, and the description is purely a conversion asset. On Google Play you are writing readable prose that carries your vocabulary naturally, and the description does both jobs at once. Anyone quoting you for “store listing copy” as a single line item has not thought about this.
Store keyword tools estimate volume and difficulty by observing rankings from the outside; none of them see Apple or Google internal data. They are genuinely useful and they are estimates, and we label them that way rather than presenting a modelled number as a measurement.
The bigger problem with volume-first research is that it produces a list for an app nobody described. The better starting point is the language your users already use — the phrases in your one- and two-star reviews, the words in support tickets, what someone types when searching for the problem rather than for the product category. Check that vocabulary against the tools afterwards, rather than the other way round.
The 100-character field rewards discipline more than cleverness. A few rules recover characters that most listings throw away: do not repeat a word already present in your app name or subtitle, because the store combines terms across fields; do not put spaces after the commas; leave out your own brand name if you already rank for it; drop a plural when the singular is already there; and skip the name of your primary category, which is indexed separately.
The field is not a list of phrases. It is a bag of words the store assembles into phrases, which is why three separate short terms will usually earn more coverage than one long one.
The name and subtitle are read in a list, at small size, next to competitors. They are ranking assets and positioning assets simultaneously, and there is a permanent temptation to make them ranking assets only.
Guideline 2.3.7 of the App Store Review Guidelines is the boundary: choose a unique app name, assign keywords that accurately describe the app, and do not pack metadata with trademarked terms, popular app names, pricing information or other irrelevant phrases. Apple reserves the right to modify inappropriate keywords itself. We write to that line rather than up against it, because a rejected submission costs more calendar time than any single term was ever worth.
The Google Play title does the same job with a different search model behind it, and the short description is the line most users genuinely read. In the long description, put the useful content first — most people never expand it, so a well-argued fourth paragraph is one nobody sees.
Assume the visitor does not scroll and does not read. Under that assumption your listing is an icon, a name, a star rating and two screenshot frames. Design for that, then add the rest for the minority who go further.
The icon carries more weight than most teams credit, because it appears in search results, in browse, in the update list, and on the home screen for as long as the app survives there. It has to be legible at very small sizes, distinguishable from the conventions of your category, and independent of text.
The screenshot set is a sequence, not a gallery. Frames one and two carry the value proposition and the single most compelling capability; frames three onwards handle objections and detail. Apple allows up to ten screenshots and up to three app previews of up to thirty seconds each, and very few apps need ten of anything. What almost every listing does need is for the first two frames to be readable on a phone without zooming, with captions stating a benefit rather than naming the screen being shown. If the frames need producing rather than specifying, that is graphic design work — though if the flows inside the screenshots are the real problem, no caption will rescue them.
Both stores run experiments natively, and native is what you want — the traffic split comes from the store, on real store traffic, rather than from a survey panel reacting to mock-ups they were paid to look at.
On the App Store, product page optimization tests up to three treatments against your original page, using alternate app icons, screenshots and app previews. You choose what share of total traffic enters the test, it is divided evenly between treatments, and a test can run for up to 90 days. Note what is absent from that list: it does not test text.
On Google Play, store listing experiments run up to two variants against your current listing, can include text as well as graphics, and stop automatically after six months. You choose the deciding metric from unique user install clicks, open clicks or pre-registration clicks.
Plan around the asymmetry. Your App Store copy will be settled by keyword evidence and argument; your Google Play copy can be settled by experiment. On both platforms, change one variable at a time — a test that moves the icon and the screenshots together tells you only that the pair won.
There is a harder constraint that tool vendors rarely mention: honest testing needs traffic. A listing with few impressions may never accumulate enough data to separate two variants, and running the test anyway produces a decision dressed as evidence. When that is your situation we will say so, fix the obvious problems on judgement, and recommend you spend the money on earning impressions instead.
Sending your English keyword list to a translator produces a listing that is grammatically correct and commercially useless, because search vocabulary does not translate. People in different markets describe the same problem with different words, the competitive set is different, and the terms that carry buying intent are different again.
Done properly, localisation means researching terms in the target language, writing new metadata rather than translated metadata, and reviewing the creative for anything that does not travel. Do it for the markets you can actually support. A beautifully localised listing that leads to an English-only interface converts once and then uninstalls, and both halves of that get read by the store.
Ratings sit next to your app in every search result, which makes them a conversion factor before they are ever a ranking factor. Both stores also say they inform ranking.
The legitimate lever is timing. Apple allows a rating prompt up to three times in a 365-day period, which means the moment you choose matters far more than the wording you choose: after a completed task, never on launch, never mid-flow. Apple also lets you reset the summary rating when shipping a new version — occasionally the right call after a genuinely fixed problem, though written reviews remain visible and starting again from very few ratings carries its own cost.
Review responses are underrated. You can reply to every review, and a specific reply naming the fix and the version it shipped in does more for the next reader than for the person who wrote it.
What we will not build is a flow that asks satisfied users for a public review and routes dissatisfied ones to a private form. Google Play policy prohibits incentivised ratings, deceptive pop-ups and forcing users to rate; Apple can remove a developer from its programme for manipulating reviews. The upside is a temporary decimal point on an average. The downside is your distribution.
Android vitals defines a set of core vitals that directly affect an app’s visibility on Google Play, and publishes the thresholds. A user-perceived crash rate of 1.09% and a user-perceived ANR rate of 0.47%, measured on a 28-day rolling basis, are the points at which Play may reduce the visibility of your title and may show users a warning on your store listing.
That is a ranking factor living in your codebase. No amount of keyword work outranks a warning printed on your own listing. So when we audit, crash rate, ANR rate, uninstall rate and rating trend are reviewed in the same pass as the metadata, and when the finding is that the build is unstable we say that rather than selling screenshots. Repairing it is Android engineering work; the equivalent conversation on the other platform is iOS engineering.
Paid placement in App Store search is the fastest honest way to learn which terms convert, because you can buy impressions against a term before committing any of your scarce indexed characters to it. Custom product pages extend that: you can create a large number of alternative versions of your product page, each varying screenshots, promotional text and app previews at its own URL, and use them for search results ad variations — so what someone sees after tapping matches the term they just typed.
Paid does not fix conversion. It buys the conversion rate you already have, at volume. If the listing converts badly, the correct order is listing first, budget second, and any agency reversing that order is selling you media rather than growth.
The chain is impressions, then product page views, then installs, then retained users — and only the two ends of it matter to your business. We report:
The baseline is recorded before anything changes, which is the only reason any later claim about the work can be checked — including by you, against us.
No figures here, because a number produced before scope is known is a guess that somebody eventually absorbs. The variables are not secret, and knowing them lets you brief better and compare quotes honestly.
One store or two. Close to double the metadata work, because almost nothing transfers between them.
How many markets. Each localisation is research plus writing plus a creative review, and the creative review is the part people forget to budget for.
Whether creative is produced or specified. A brief handed to your existing design team costs a fraction of a produced screenshot set and preview video.
Whether you have the traffic to test on. Listings with substantial impressions support a real experiment programme. Listings without one need a different and cheaper engagement, and being told that early is worth more than being sold the expensive version.
How much is broken underneath the listing. If the vitals are bad, part of the useful work is engineering, and we would rather scope that plainly than optimise around it.
ASO is the last few seconds of a mobile acquisition funnel and it is rarely worth doing on its own. It belongs next to the app build itself, because stability and retention are decided there and the store is only reporting them; and next to paid app campaigns, because paid and organic land on the same product page and share its conversion rate.
If you are not certain which of those is your constraint, send us your store numbers and we will tell you which one we would fix first — including when the answer is that none of them is where your problem actually is.
Scope
Every engagement is scoped in writing before it starts. These are the artefacts that leave our hands and become yours.
Search terms researched per store and per market, scored on relevance and competitiveness, then allocated to the specific fields each store indexes. The App Store list and the Google Play list will not be the same list, and the document explains why.
App name and subtitle at 30 characters each, a 100-character keyword field with nothing wasted on separators or repetition, promotional text, and a separate Google Play title, short description and long description written for a store that reads prose.
A brief and layouts for the icon, the ordered screenshot set with the single message each frame has to land, and a script for the app preview video — designed around the two or three frames a browsing user actually sees.
A ranked backlog of listing tests, each with one variable, a stated hypothesis, the metric that decides it, and the minimum run before anyone is allowed to declare a winner. Written against what each store genuinely permits rather than what a tool vendor claims.
For each market you commit to, the researched local search vocabulary and the cultural notes that matter for creative, so a translator is working from evidence rather than converting your English keyword list word by word.
Where in the app the rating prompt fires and why that moment was chosen, response templates for the recurring review categories, an escalation path for reviews describing real defects, and a policy check so none of it breaks store rules.
Impressions, product page views, conversion rate, installs and retention pulled from App Store Connect and Play Console into one view, with the pre-work numbers recorded so later changes can be argued about honestly.
Crash rate, ANR rate, uninstall rate and rating trend reviewed against the thresholds the stores publish, with the engineering issues that are suppressing your visibility written up for whoever owns the code.
How it runs
Impressions, product page views, conversion rate, installs, retention and uninstall rate recorded per store and per country before a single word changes. Without that record, every later claim about what the work achieved is unfalsifiable, including ours.
We start from how your users describe the problem — reviews, support tickets, sales calls — and only then check that vocabulary against store search volume and difficulty. Volume-first research reliably produces a keyword list for an app nobody asked for.
Apple indexes a name, a subtitle, a keyword field and a category. Google Play reads the whole listing including the long description. Pasting one set of text into both consoles wastes one of them, so we write the listing twice.
Most people decide from the icon and the first two screenshots without scrolling and without reading. We design that sequence first, then the rest, then the preview video — and we treat the icon as a search-result asset, because that is where it appears.
Experiments run in App Store product page optimization and Google Play store listing experiments, so the traffic split comes from the store itself on real store traffic rather than from a panel looking at mock-ups.
Crashes, ANRs and one-star trends are ASO problems as well as engineering problems, because both stores demote unstable apps. We report them with the same seriousness as a keyword gap and hand them to your development team.
Reporting runs against the recorded baseline: which terms moved, what conversion did, and what retention looks like — because an install that is deleted on day two is a cost rather than a result, and both stores are reading it that way too.
Tooling
We pick tools for the problem, not for the résumé. Where a platform is a poor fit we will say so before you have paid for it.
Non-negotiables
These are checkable. Ask us to demonstrate any of them on your own project before you sign anything.
The App Store Review Guidelines ask for a unique app name and keywords that accurately describe the app, and warn against packing metadata with trademarked terms, popular app names or irrelevant phrases. A rejected submission costs more calendar time than any single term is worth, so we stay inside the line and say so when a request would cross it.
Google Play policy prohibits offering an incentive for a rating, deceptive pop-ups and forcing users to rate. Apple can remove a developer from its programme for manipulating reviews. We will decline to build a flow that filters who gets asked, and we will put that refusal in writing.
A test that changes the icon and the screenshots together tells you the pair won, not which one did. We change one thing, let the store split the traffic, and accept a slower cadence in exchange for a result that is worth keeping.
Reporting is built from App Store Connect and Play Console data, never from a third-party estimate of your own installs. Third-party estimates are used only for competitors, where nothing better exists, and they are labelled as estimates every time.
Work happens inside your own developer accounts. Source files, keyword research and reporting views are yours throughout, and nothing about the arrangement requires you to keep us in order to keep working.
Questions
Both are organic acquisition, but they run inside different systems with different rules. Web SEO works against an index that reads full page content and follows links between sites; the App Store indexes only the app name, subtitle, keyword field and primary category, which is roughly 160 characters of text in total, and Google Play reads the whole listing including the long description. There are no backlinks inside an app store, ranking leans heavily on installs, ratings and behaviour from people who already saw the listing, and the conversion step is one tap rather than a journey across pages. The practical consequence is that ASO has a far smaller surface area and a much faster feedback loop, and that the creative is part of the search result rather than something that happens after it.
Conversion moves fastest, because a new screenshot set affects the very next person who opens the page, and a store experiment reads against traffic you already have. Keyword ranking moves more slowly, because indexed metadata changes are tied to a version submission and the store needs install and engagement data before a term settles. Retention and rating changes are slowest of all, and they are the ones that compound. We do not quote a number of weeks, because the honest answer depends on your existing impression volume: a listing with heavy traffic reaches a readable result quickly, and a listing with very little may never accumulate enough data to test at all — in which case the right advice is to spend on impressions rather than on experiments.
Apple provides a keyword field limited to 100 characters, with terms separated by commas and no spaces, alongside an app name of up to 30 characters and a subtitle of up to 30 characters. Search results are based partly on text relevance across the name, subtitle, keywords and primary category, and the store combines terms across those fields, so repeating a word you have already used in the name wastes characters you cannot get back. Think of the field as a bag of words the store assembles into phrases rather than a list of phrases you submit. Two habits commonly waste the allocation: putting your own brand name in it when you already rank for it, and treating the description as a ranking asset — on the App Store it is not one, and promotional text does not affect search ranking either.
Yes, but not identically, and the difference should shape your plan. App Store product page optimization runs up to three treatments against your original page using alternate app icons, screenshots and app previews; you choose the share of traffic that enters the test, it is divided evenly between treatments, and a test can run for up to 90 days. Google Play store listing experiments run up to two variants against your current listing, can include text as well as graphics, stop automatically after six months, and let you pick whether unique user install clicks, open clicks or pre-registration clicks decide the winner. The asymmetry worth remembering is that the Apple tool does not test text, so App Store copy has to be settled by keyword evidence and reasoning rather than by experiment.
Both stores say they matter. Apple states that ratings and reviews appear on the product page and in search results and can influence how an app ranks in App Store search; Google describes Play ranking as incorporating user ratings, reviews, download volume and behavioural feedback. They also affect conversion directly and immediately, because the star average sits beside your app in the results list before anyone has read a word of your copy. The legitimate lever is timing rather than persuasion: Apple allows a rating prompt up to three times in a 365-day period, so which moment you choose matters far more than the wording. Anything that filters who gets asked based on how they are likely to answer breaks the rules of both stores.
Usually yes, and the strongest argument is what it teaches you rather than the installs it buys. Paid placement in App Store search puts you in front of terms you do not yet rank for, and the resulting conversion data tells you which terms are worth committing scarce indexed characters to — cheaper than discovering it by shipping a version. It also pairs with custom product pages, which carry their own screenshots, promotional text and previews and can be used to create search results ad variations, so what someone sees after tapping can match the term they typed. What paid will not do is repair a listing that converts badly; it buys your existing conversion rate at volume. If organic conversion is weak, fix the page first, and let our paid media team run the campaigns once it is worth scaling.
The acronym is being used that way in some quarters, so it is worth being explicit about which one this page is. Here, ASO means app store optimization: ranking and converting inside the App Store and Google Play. Getting a brand surfaced and cited inside AI assistants and generative answer engines is a genuinely different discipline with different surfaces, different retrieval and nothing resembling a 100-character keyword field, and we cover it under generative engine optimization. If the thing you need discovered is an app, you are on the right page. If it is your website inside an AI answer, the other one will be more use to you.
Adjacent work
Native and cross-platform apps for Android and iOS, scoped honestly, designed to platform conventions, and maintained through the OS releases and store deadlines that arrive every year.
Google Ads, Microsoft Advertising, Shopping and paid social managed against your unit economics — with the conversion tracking rebuilt and verified before any budget is spent.
Brand identity and applied graphic design built as a usable system — mark, colour, type, guidelines and production artwork your team can run without a designer on call.
App growth
Send us the problem, the constraint and the deadline. You will get a considered reply from someone who would actually do the work — not a templated proposal.