Back to Marketingskills

ASO Scoring Criteria

skills/aso-audit/references/scoring-criteria.md

1.9.013.3 KB
Original Source

ASO Scoring Criteria

Score each dimension 0-10 using the rubrics below. Apply brand maturity tier adjustments from Phase 1.5 of the main skill.


Brand Maturity Adjustments (apply to all dimensions)

Before scoring, determine the app's tier: Dominant, Established, or Challenger.

Dominant apps (Instagram, Uber, Spotify, WhatsApp, Netflix):

  • Brand-only titles score 8+ (the brand IS the keyword)
  • Lifestyle/brand screenshots score same as captioned UI screenshots
  • Generic What's New at weekly+ cadence scores 8+
  • Missing in-app events for utility apps is not a penalty
  • Description scored on conversion quality only, not keyword presence
  • Localization scored relative to actual market footprint
  • Missing preview video is acceptable if brand awareness is near-universal

Established apps (Duolingo, Strava, Notion, Calm, Cash App):

  • Brand-first titles with 1-2 keywords score normally
  • Strategic description/visual choices get benefit of the doubt
  • All other dimensions scored normally

Challenger apps (most apps):

  • Scored strictly against textbook ASO — every character and feature matters

Key principle: Before docking points, ask: "Is this a mistake or a data-informed choice by a team with more information than I have?"


1. Title & Subtitle (Weight: 20%)

Challenger rubric:

ScoreCriteria
9-10Brand + high-value keyword in title, complementary keywords in subtitle, no word repetition across fields, near max character usage, instantly communicates app purpose
7-8Good keyword presence, minor character waste (5+ unused chars), clear purpose
5-6Has keywords but poor placement, some repetition between fields, purpose somewhat clear
3-4Title is brand-only or generic, subtitle missing or weak, poor character usage
1-2No keyword strategy, title doesn't communicate purpose, major character waste
0Cannot assess (data unavailable)

Dominant/Established adjustment: Brand-only titles (e.g., "Instagram") are valid if the brand has high search volume. Score 8+ for Dominant apps where brand recognition eliminates the need for generic keywords. Evaluate whether unused characters represent waste or intentional simplicity.

Check for:

  • Characters used vs limit (title: 30, subtitle/short desc: 30/80). "Near max" = within 3 chars of the limit (27+/30, 77+/80)
  • Primary keyword in title
  • Keyword duplication between title and subtitle
  • Whether app purpose is immediately clear
  • Unnecessary words (articles, prepositions) consuming space
  • Special characters or claims ("#1", "best") that risk rejection (Apple)

2. Description (Weight: 15%)

Apple App Store

ScoreCriteria
9-10First 3 lines hook with clear value prop, structured with features/benefits/social proof/CTA, promotional text actively used, compelling and scannable
7-8Good opening, decent structure, could improve scannability or CTA
5-6Generic opening ("Welcome to..."), some structure, missing CTA or social proof
3-4Wall of text, no clear value prop above fold, no promotional text
1-2Minimal or boilerplate description, no effort
0Cannot assess

Google Play

ScoreCriteria
9-10Keywords in first 3 sentences, 2-3% natural density throughout, HTML formatting used, structured sections, strong CTA, keywords feel natural
7-8Good keyword presence, some structure, density slightly off (1-2% or 3-4%)
5-6Keywords present but sparse (<1%) or stuffed (>5%), weak structure
3-4No keyword strategy visible, poor formatting, wall of text
1-2Minimal description, no keywords, no structure
0Cannot assess

Check for:

  • First 3 lines quality (visible before "Read More")
  • Feature-benefit framing (not just feature lists)
  • Social proof (downloads, awards, press mentions)
  • Call to action
  • Keyword density (Google Play only - count target keywords / total words)
  • HTML formatting usage (Google Play)
  • Promotional text presence and quality (Apple)

3. Visual Assets (Weight: 25%)

ScoreCriteria
9-108-10 screenshots with clear messaging/captions, preview video present, screenshots tell a story in sequence, each communicates one benefit, icon is distinctive and memorable
7-86-7 screenshots with captions, good icon, no video OR good video but some screenshot messaging unclear
5-65+ screenshots but weak/no captions, basic icon, no video, screenshots are UI dumps
3-43-4 screenshots, no captions, generic icon, no storytelling
1-2Fewer than 3 screenshots, or screenshots are raw unedited UI, poor icon
0Cannot assess

Check for:

  • Screenshot count (minimum 5, ideal 8-10)
  • Caption/overlay text on screenshots (one message per screen, 5-7 words max)
  • First 3 screenshots (highest conversion impact on Apple)
  • Preview video presence and quality
  • Icon distinctiveness (no text in icon, bold shapes, stands out)
  • Feature graphic presence (Google Play - mandatory for featured placements)
  • Screenshot storytelling flow (do they tell a coherent story?)
  • Localized visual assets (for non-English markets)
  • Caption keywords (Apple - indexed since June 2025)

4. Ratings & Reviews (Weight: 20%)

ScoreCriteria
9-104.5+ stars, 10K+ ratings, recent reviews positive, developer responds to negatives, steady review flow
7-84.0-4.4 stars, 1K+ ratings, mostly positive recent reviews, some developer responses
5-63.5-3.9 stars, 500+ ratings, mixed recent reviews, no developer responses
3-43.0-3.4 stars, <500 ratings, negative themes in recent reviews
1-2Below 3.0 stars, few ratings, no developer engagement, visible complaints
0No ratings yet or cannot assess

Check for:

  • Average rating (target: 4.0+ minimum, 4.5+ ideal)
  • Total rating count
  • Recent review sentiment (last 5-10 visible reviews)
  • Common complaint themes (bugs, crashes, pricing, UX)
  • Developer response presence and quality
  • Rating trend (improving or declining, if visible)
  • Review recency (fresh reviews signal active user base)

5. Metadata & Freshness (Weight: 10%)

ScoreCriteria
9-10Updated within last month, 10+ localizations, optimal category choice, in-app events/LiveOps active, data safety complete
7-8Updated within 2 months, 5+ localizations, good category, data safety present
5-6Updated within 3 months, 2-4 localizations, acceptable category
3-4Updated 3-6 months ago, 1-2 localizations, possibly wrong category
1-2Not updated in 6+ months, single language, poor category choice
0Cannot assess

Check for:

  • Last update date and recency
  • Number of supported languages/localizations
  • Category selection (is it the best fit? less competitive alternative?)
  • In-app events (Apple) or promotional content (Google) presence
  • Data safety / privacy nutrition label completeness
  • Age rating appropriateness
  • Version history quality (do release notes communicate value?)
  • What's New text quality

6. Conversion Signals (Weight: 10%)

ScoreCriteria
9-10Clear value before download, transparent pricing/IAP, social proof visible (press, awards), download range suggests strong traction, developer credibility strong
7-8Good value communication, pricing clear, some social proof
5-6Value prop exists but weak, pricing unclear or IAP heavy, limited social proof
3-4Unclear what user gets, confusing pricing, no social proof, low downloads visible
1-2No value communication, suspicious pricing, app looks abandoned
0Cannot assess

Check for:

  • Price transparency (free, freemium, paid - is it clear?)
  • In-app purchase list quality (do IAP names communicate value?)
  • Download range (Google Play - 10K+, 100K+, 1M+ signals trust)
  • Developer name/brand recognition
  • "Editors' Choice" or featured badges
  • Press mentions or awards in description
  • Related apps from same developer (portfolio trust signal)
  • Privacy practices transparency

Calculating Final Score

Final Score = (Title * 0.20) + (Description * 0.15) + (Visuals * 0.25)
            + (Ratings * 0.20) + (Metadata * 0.10) + (Conversion * 0.10)

Scale to 100: Final Score * 10

Example: Title: 7, Description: 6, Visuals: 8, Ratings: 9, Metadata: 5, Conversion: 7

(7 * 0.20) + (6 * 0.15) + (8 * 0.25) + (9 * 0.20) + (5 * 0.10) + (7 * 0.10)
= 1.4 + 0.9 + 2.0 + 1.8 + 0.5 + 0.7
= 7.3 → 73/100 → Grade: B