Skip to main content
The audit turns a listing into a score out of 100 with a letter grade, shows how much of that score was actually measured, and ranks the fixes by the points they would add.

Run an audit

Open the audit tab on an app. The audit runs on every visit and needs no button: every check is a rule over stored data, so the same listing and the same data always produce the same score. A change in the number means a change in the listing, its rankings or its reviews. The optional AI only reads images. It reports what is visibly on the icon and the screenshots, such as a caption, the language of that caption or whether the icon carries text, and the rules score what it read. It never gives a score of its own. See Enable the optional AI features. The check Keywords in captions answers from the text asobeast reads on your own machine when there is no AI analysis. See Read screenshot captions.

Read the score

Each factor carries a store specific weight. Google Play has no subtitle or keyword field, so those factors are not listed there, and the short description takes their place. The description weighs 15 on Google Play because Google Play indexes it. On the App Store, preview videos are not visible in public store data, so that factor is reported as not measurable rather than scored. Every factor is a group of checks scored 0 to 10. A check that cannot be answered yet, for example because it needs competitors or the creative analysis, is listed as unanswered with what would answer it. The share of a factor’s checks that are answered is its confidence, and the overall score weights each factor by its weight times its confidence. A factor measured by one light check therefore moves the overall far less than a factor measured completely, and missing data neither inflates nor lowers the score. The overall confidence is the share of the rubric that was measured. The page shows it next to the score. A grade is called provisional while less than 60% of the rubric is measured. The factors are also split into two groups, search visibility and conversion, each with its own score.

Checks and what they read

Each check reads one kind of data: the store listing, your tracked keywords, your competitors, your reviews, your rankings or the AI creative analysis. The exact thresholds live in the check sources on GitHub, so this page names the checks without repeating numbers that could drift from the code.

Search visibility

Conversion

Caption localization compares captions with the storefront’s language only when your app declares that language, so an English only app in a non English storefront is not penalised.

Follow the plan

Every check that warns or fails carries a title, the evidence behind it and a fix. The plan ranks them in three buckets.
  • Lift is how many points the overall score would gain if that one check reached 10.
  • Impact is high from 3 points of lift, medium from 1 and low below that.
  • Effort is minutes, hours or weeks.
  • Potential is the overall score with every advised check fixed.
Each recommendation links to where the fix happens: the metadata workbench, the keywords page, the rankings, the competitors or the reviews. Fixes made in App Store Connect or Play Console, such as new screenshots, carry no link.

Unlock more of the audit

An unanswered check says what would answer it. The page lists these unlocks ranked by how much of the rubric they would measure.

What the audit cannot see

Public store data leaves some things out. The audit lists them on every run instead of guessing.

App Store

Google Play

Follow the history

A score snapshot is written daily on CRON_AUDIT, which defaults to 0 6 * * *, meaning 06:00 UTC, after the daily pipeline. A finished creative analysis also records today’s point, so the chart moves as soon as the checks it answers are scored. Snapshots recorded before this rubric are kept, and the chart marks the day the rubric changed with a “Rubric v2” line so a jump on that day is not mistaken for a change in the listing. Audit score rows follow RETENTION_AUDIT_SCORES_DAYS, which defaults to 0 and therefore keeps them forever.

Troubleshooting

  • The score changed after upgrading. The rubric changed to v2: new checks, confidence weighting and store specific factors. Compare points after the “Rubric v2” marker with each other, not with the points before it.
  • A factor says not measured. None of its checks can be answered yet. Follow the unlock it shows, or read the limitation if public data cannot measure it.
  • The analysis is outdated. Your icon, screenshots, competitor icons or AI_MODEL changed since the last analysis. Its checks stay unanswered until you analyze again.
  • The analysis failed. The page shows the reason. See the error table in Enable the optional AI features.
  • The score differs between an iOS and an Android listing of the same product. Expected. The factors and weights differ by store.

Optimize listing metadata

Fix what the audit found.

Work the Action Center

Weak audit factors you can edit become action items automatically.
Last modified on October 24, 2026