Keyword Engine
The Keyword Engine identifies keyword gaps and opportunities by analyzing your app and 10 competitors through a 9-tier pipeline. It extracts keywords using both literal tokenization and AI inference, enriches them with live market data from the Keyword Service (KWS), scores each by volume, difficulty, and trend momentum, and delivers prioritized recommendations.
Keyword optimization is the foundation of ASO. The keywords you target determine which searches surface your app, and for most categories, organic search is the single largest source of installs. The Keyword Engine starts from your competitors rather than a blank search bar, analyzing actual store rankings for every keyword across your competitive set, scoring each gap by volume, difficulty, and trend momentum, and filtering out noise (branded terms, irrelevant categories, declining searches) before a human ever looks at the list.
Under the Hood
Section titled “Under the Hood”The Keyword Engine runs a 9-tier sequential pipeline. It takes your app plus 10 competitors as input, extracts every keyword candidate it can find, enriches them with live market data from the Keyword Service, and progressively filters and scores until what remains is an actionable list of opportunities. Here is what each tier produces.
Dual-Method Keyword Extraction
Section titled “Dual-Method Keyword Extraction”The problem: Your competitors rank for keywords that never appear in their visible metadata. A title might say “budget planner” but the app also ranks for “savings tracker,” “expense log,” and “money management.” Listing text alone misses the full picture.
How the engine handles it: The engine reads all 11 apps (your app plus 10 competitors) and extracts keywords two ways. Literal extraction uses language-aware tokenizers to split titles, subtitles, descriptions, and screenshot text into unigrams, bigrams, and trigrams, with script-appropriate handling for Latin, CJK, Arabic, Thai, and other writing systems. AI-inferred extraction runs a language model against each app’s full listing to identify keywords a human optimizer would associate with the app, even when those exact terms are absent from the text. Across our audits, this dual approach typically surfaces 400 to 800 raw keyword candidates from the 11-app competitive set.
What you get: A broad keyword pool sourced from both your app and your competitors, covering both explicit metadata terms and semantically inferred opportunities.
Enrichment and Suggestion Discovery
Section titled “Enrichment and Suggestion Discovery”The problem: Raw keywords without market data are guesses. You need to know how many people search for each term, how difficult it is to rank, whether your app currently ranks, and whether search interest is growing or declining.
How the engine handles it: Every deduplicated keyword is sent to the Keyword Service (KWS) for enrichment with five metrics: volume (0-100, normalized), difficulty (0-100, based on competitive density), rank (your app’s current search position), trend direction (rising, stable, or declining based on recent search interest), and branding classification (whether the term is a competitor’s brand name). On App Store, volume comes from Apple Search Ads intelligence, difficulty from Google Ads competitive metrics, trends from Google Trends, and rank from live App Store search results. On Google Play, volume and trends come from Google Trends, difficulty from Google Ads, and rank from Play Store search results. Market data is pulled live from the Keyword Service during each audit, so recommendations reflect current search dynamics rather than cached snapshots.
During enrichment, the engine also collects suggested keywords: related terms recommended by Apple Search Ads and Google Ads that were not in the original extraction. These suggestions are tracked by frequency (how many of the primary keywords independently recommended the same new term), which creates a natural relevance signal. An AI quality filter removes generic filler before the surviving suggestions are enriched with the same five metrics and added to the candidate pool.
What you get: Up to 300 keywords with live volume, difficulty, rank, trend, and branding data, plus a layer of suggestion-based discovery that catches opportunities outside your initial competitive set.
Relevance Scoring and Filtering
Section titled “Relevance Scoring and Filtering”The problem: A high-volume, low-difficulty keyword is worthless if it has nothing to do with your app. Dashboard tools surface these misleading opportunities constantly because they score keywords on market metrics alone without evaluating fit.
How the engine handles it: An AI model evaluates every remaining keyword against your app’s metadata and assigns a relevance score from 1 to 100. The scoring is tuned specifically for ASO: it rewards high-intent search terms users actually type into app stores (“fitness tracker,” “budget app,” “photo editor”) and penalizes generic descriptors, standalone adjectives, and platform names that look popular but produce zero meaningful rankings. Keywords scoring below 60 are filtered out.
What you get: A cleaned list where every surviving keyword is both market-viable (sufficient volume, manageable difficulty) and genuinely relevant to what your app does. The relevance score is included in the output so you can see the engine’s reasoning.
Opportunity Scoring
Section titled “Opportunity Scoring”The problem: You need a single metric that answers “where should we focus?” Volume alone favors ultra-competitive head terms. Difficulty alone favors obscure niches. Neither accounts for momentum.
How the engine handles it: The engine computes an Opportunity Score (0-100) for every keyword using the formula:
Opportunity = (sqrt(Volume) x (100 - Difficulty) / 10) + Trend Bonus
The square root of volume gives credit to popular keywords while flattening the curve so a few high-volume terms do not dominate the entire list. Subtracting difficulty from 100 flips the scale so easier keywords score higher. Rising keywords receive a +10 bonus; declining keywords take a -5 penalty. The difficulty floor is set to 1, preventing zero-competition terms from getting artificially perfect scores.
What you get: Every keyword ranked by a single composite score that balances audience size, competitive feasibility, and trend momentum. High-opportunity keywords are the ones where optimizing your listing is most likely to produce real ranking movement.
Competitor Keyword Intelligence
Section titled “Competitor Keyword Intelligence”The problem: Knowing your own keywords is table stakes. Knowing which keywords each competitor ranks for, and where they rank, is what turns keyword research into competitive strategy.
How the engine handles it: During enrichment, the engine records which apps appear in search results for each keyword. In the final output assembly, this data is cross-referenced against your 10 competitors to build a per-competitor keyword map. Each competitor’s keywords are sorted by rank, giving you a clear picture of their keyword strategy: which terms they dominate, which they are barely visible for, and which high-opportunity keywords they rank for that your app does not.
What you get: A competitor analysis section with per-competitor keyword breakdowns including rank, volume, and difficulty for each term. The suggested keywords list flags which competitors already rank for each opportunity, so you can see exactly who you are competing against on every term.
Output Assembly
Section titled “Output Assembly”The problem: A raw list of hundreds of scored keywords is still overwhelming. The output needs to separate what you already have from what you are missing, cap the list at an actionable size, and provide enough context for each keyword to make a decision without leaving the report.
How the engine handles it: The engine separates keywords into two lists. Existing keywords are terms your app already ranks for, sorted by opportunity score. These highlight where to protect strong positions and where to push rankings higher. Suggested keywords are terms your app does not rank for at all, sorted by opportunity, and capped at 70. These are new targeting opportunities. Both lists include volume, difficulty, opportunity score, relevance score, trend direction, and per-competitor rank data.
The engine also computes an overall keyword score (0-100) combining ranking quality (what share of existing keywords rank in the top 10 and top 50) with opportunity potential (how much untapped opportunity remains in the suggested list) and a coverage bonus for breadth of existing rankings.
What you get: Two prioritized lists, a competitor intelligence breakdown, an overall keyword health score, and up to 10 specific recommendations with priority classification, estimated impact, and field placement guidance. Each recommendation specifies which metadata field to target, accounting for platform constraints like iOS’s 100-character keyword field.
From Findings to Action
Section titled “From Findings to Action”The Keyword Engine output feeds directly into the rest of the Apptonomy workflow. Recommendations map to specific metadata fields, so the next step is drafting updated listings in Apptonomy’s built-in metadata editor and publishing changes to App Store Connect or Google Play Console.
Related Engines
Section titled “Related Engines”- Store Text Engine — uses keyword data for semantic clustering and per-field analysis
- Competitor Discovery Engine — identifies the 10 competitors analyzed by this engine
- Search Term Engine — complements keyword data with predicted natural-language search queries