Lint your metadata
Each field is checked against the limit for its store, and the lint reports characters used, characters left and anything wasteful such as a duplicated word across indexed fields.
Fields a store does not have are hidden rather than shown empty. See App Store and Google Play.
On Google Play, a short description word that is also in the title is a warning, not an error. Google’s metadata policy asks for succinct text without repeated keywords, but it does not forbid reusing a title word, so the lint points out the wasted room without calling it a rule break. On the App Store a subtitle or keyword field word that Apple already indexes from the title stays an error, and only errors open an Action Center item.
A keyword field word is flagged as a competitor brand only when it reads as one competitor’s brand. A word in your own title or subtitle, a keyword you track, a generic word such as
free, and a word two or more competitor titles share are category vocabulary, so a geo guessing game keeps guess and location while an untracked geoguessr is still flagged.
See which localizations your app ships
On an App Store app, the App Store localizations section lists the localizations your app ships, your home storefront’s default first. Each one is an item that holds its own keyword field and shows the markets that read it as chips, Default or Additional. When the app has two markets or two shipped localizations, a matrix above the items crosses them, so you see at a glance which market reads which localization. Each shipped localization is another title, subtitle and keyword field for search in every storefront that reads it, and the section counts that room for you. The rules, their source and their limits are in Which localizations does a storefront read? and Which localizations does an app ship? The Listing market control above the fields shows what each of those storefronts actually serves. These controls manage the list.- Add localization adds a language you ship in App Store Connect. The dialog lists the languages your markets read first, then every other language, and searches both names and codes.
- Find localizations asks the store which of those languages your listing really serves and adds the ones it proves, marked Detected. It spends one refresh from your on demand allowance and the answers arrive as the queue drains, so the list fills in over a few minutes. It cannot see a localization whose text equals the default listing or your home listing; add that one by hand. See Which localizations does an app ship?
- Not listed yet, under the items, names every localization one of your markets reads that is not on the list, with the markets that read it and an Add button that adds it and opens its keyword field. A localization the store serves as a market’s own language arrives on its own after the next capture of that market, so this list is for a language you ship with the same text as your home listing, or for an additional language such as Spanish (Mexico) in the United States.
- Remove localization, at the foot of an item, deletes the localization’s field and stops tracking its phrases as keyword field phrases. Phrases you track for another reason stay tracked. The home localization has no remove button.
Check keyword coverage
Coverage answers one question per tracked keyword: does any indexed field of this listing contain it? A field contains a keyword when it has the keyword as whole words. Chinese, Japanese, Thai, Lao, Khmer and Burmese do not put spaces between words, so a keyword in one of those scripts counts wherever it appears in the field, and a character of those scripts ends a word written next to it as a space would. The subtitleAIが3行要約 therefore contains ai and iPhone用カメラ contains iphone, while SmartNewsアプリ does not contain news. Korean does put spaces between words but attaches particles to their end, so a Korean keyword counts as a whole word or as a word followed by a particle: 운동 is found in 운동을, but not in 운동화, and 계부 is not found in 가계부. A keyword that mixes scripts, such as line 漫画, counts when each of its words is found by its own rule.
A keyword with high opportunity and no coverage is the single most actionable state in the product, which is why the Action Center has a rule for exactly that. See Work the Action Center.
On the App Store, a Screenshot text column appears once the screenshots of the listing you look at, or of a listing that judges one of the keywords, were read. It marks the keywords a caption contains, reading the captions of the same listing that judged each keyword, and is labelled as a weak signal, because Apple has not confirmed that it reads screenshot text. It never changes whether a keyword counts as covered. See Read screenshot captions.
Search the coverage table by keyword, sort it by keyword or bucket, and switch on Uncovered only to keep the keywords no indexed field contains.
Switch markets
When you track keywords in more than one market, a Listing market control sits above the fields. It lists your home storefront and every market whose listing asobeast has captured. Choose one to see the title, subtitle, description and screenshot captions that storefront serves, with the coverage of the keywords tracked there. The URL keeps the choice as?market=, so a link opens on the same market.
When the market has a native localization, a Localization control next to it shows that localization’s fields and captions, and the URL keeps it as ?localization=. A keyword covered only by a native localization says which one, for example in Title (Polish). See Countries and markets.
Each keyword is judged against the listing of its own market, and against the home listing until its market has one. The keyword field card shows the field you saved for the localization on screen, linted against that localization’s title and subtitle, and the suggestion below the coverage table names the localization it is for. The AI drafts stay on the home market. The API takes the same choice as the country parameter of GET /apps/{id}/metadata/audit. See What is a market listing?
Edit the iOS keyword field
The 100 character field is private and cannot be collected, so you enter it here, once per localization. This is the only place that edits a keyword field; the keywords page reports what each market reads. See See what each market reads.1
Open the localization
Click its item in the App Store localizations section. The URL keeps the open item as
?fieldLocale=, so an Edit link from the keywords page or the Edit this keyword field link on a suggestion opens the right one. An app with a single localization opens it for you.2
Type or paste the field
Separate the keywords with commas. The counter shows the characters used of 100 and turns to a warning when you pass the limit, and Save keyword field stays disabled while the field is over the limit, or empty and untouched. Saving an unchanged field is how you track its phrases in a market that does not track them yet.
3
Save and choose where to track
asobeast previews the save. If it adds and drops nothing, it saves at once and tracks in every market that reads the localization. Otherwise a dialog lists the new phrases, the phrases that leave the field and a checkbox for each of your markets that reads the localization, all ticked. It sums, for the ticked markets, the keyword markets the save adds and the store requests they cost each day, and on a plan with a keyword market limit it shows how many you will use after saving.
KEYWORD_FIELD, in each ticked market. Save with nothing ticked stores the field and tracks nothing new, and every market that reads the localization still counts the field for coverage. Phrases that left the field stop being tracked as keyword field phrases in every market that reads the localization, whatever you tick, unless another field there holds them. A save that would pass your plan’s keyword market limit is refused with nothing written, the field included, and the dialog links to the plans instead. See How does asobeast keep a keyword field per localization?
Come back to the page and the field shows what asobeast tracks rather than the string you pasted. See How do you read and write the keyword field?.
When App Store Connect imports the field
The import is opt in per app. Connect App Store Connect as in Store funnel reports, open the app’s metadata page and press Import from App Store Connect. Only the workspace owner can start and stop the import. The dialog names the keyword fields that will be replaced, and warns that App Store Connect does not serve every localization, that the localizations it does not serve lose their fields here, and that stopping does not bring them back. From then on asobeast reads the private field of the live version through your key, once per localization, and tracks its phrases in every market whose storefront reads the localization as its default localization. The App Store changes keywords only with a new version, so asobeast imports again whenever it captures a new version of the listing, and Sync now in Integrations imports sooner. Other apps the key can see keep their fields untouched until you turn the import on for them too. An imported field is read only. The editor shows what Apple serves and names the time of the last read, or says the import is waiting for its first read until one happens, Add localization leaves the section while the import follows, and a manual save through the API answers 409. Press Stop importing and the fields are yours to edit again exactly as App Store Connect last served them, without touching the funnel connection. A key that stops working pauses the import: the page says so, the fields are editable again, and they follow the store once the key works. Five limits are worth knowing. The first import replaces hand typed fields, and the dialog names which. From that first import on the field follows App Store Connect, an emptied field included. A phrase asobeast cannot track, such as one with more than five words, is left out of the import. An import that would pass your plan’s keyword market limit stops at the field it was writing, names that localization in the notice, and finishes on the next sync. And a localization App Store Connect stops serving loses its field here, the home localization excepted, together with the tracking of its phrases as keyword field phrases. An answer from App Store Connect that asobeast cannot read, such as an empty reply or a web page from a proxy in between, never counts as a localization it stopped serving: the fields stay as they were, the section says the last import stopped and why, and the next sync tries again. Recommendations the import makes obsolete, such as adding an uncovered keyword, close on the re-run that follows every import.Group keywords into buckets
Buckets classify scored keywords so a long list stays readable and so you can see whether your targeting is balanced.
A listing whose indexed fields cover only aspirational keywords will rank for none of them. A listing that covers only longtail will rank for many things nobody searches. The buckets make that visible in one glance.
Generate a metadata draft
WithOPENAI_API_KEY set, a drafts card proposes title, subtitle and keyword field values on the App Store, or title, short description and description values on Google Play, grounded in your tracked keywords, your coverage gaps and competitor titles.
Every draft is linted again on the server and clamped to the field limit, so a draft can never exceed a store limit. asobeast has no write path to the stores: a draft ends at a copy button.
With no key the card is hidden entirely. See Enable the optional AI features.
On an App Store app the drafts card has a Localization menu. Primary listing drafts the listing asobeast reads, as before. An additional language of one of your storefronts drafts that localization instead: its title, subtitle and keyword field, written in that language from the meaning of your tracked keywords rather than copied from them, preferring words your current listing does not use. A draft for a localization is told the keyword field you saved for it. The keyword field is held to its 100 character limit, and a Chinese, Japanese or Korean character counts once. See How do you read and write the keyword field?
Each localization item has a Draft with AI button that picks it in the menu and moves the focus there. To fill a localization’s keyword field with keywords in another language, a common tactic for Spanish (Mexico) in the United States, say so in the instructions. Which storefronts read which localization is explained in Which localizations does a storefront read?
Troubleshooting
- A keyword you added to the title still shows as uncovered. Coverage reads the latest snapshot. Refresh the listing after the store publishes the change.
- The subtitle card is missing. You are looking at a Google Play app. It has no subtitle.
- Character counts differ from App Store Connect. asobeast counts Unicode code points of the stored value, so a Chinese, Japanese or Korean character counts once even when it lies outside the Basic Multilingual Plane, and an emoji made of several parts, such as a flag or a family, counts once for each part. Apple does not document how App Store Connect counts those, so a field with emoji sequences can read differently there.
- The Localization menu is missing. The app is on Google Play, none of your storefronts lists an additional language (the United Kingdom lists none), or asobeast could not read your keyword markets when the page loaded.
- Find localizations found nothing. The store proves only a localization whose text differs from the default listing of the market it is asked in and from your home listing, and only for languages your home listing says the app supports. Add a localization with the default text by hand.
- I track a market and see its listing but no keyword field for its language. The localization is added after the next capture of that market. Press Refresh with that market chosen, or add it from Not listed yet.
- A localization came back after I removed it. Find localizations adds every localization the store serves again. Remove it once more after the run, or leave it: a localization the store serves is one your app ships.
Related
Run an ASO audit
Score the listing across ten weighted factors.
Track competitors
Find phrases competitors index and you do not.