rocket_launch ASAPilot
Get Started
intermediate · 13 min read ·

The Apple Search Ads Keyword Research Playbook (2026)

A structured workflow for Apple Search Ads keyword research — starting from app metadata, expanding through competitor and category analysis, and cycling through Discovery promotion. The system, not just a list.

TL;DR

Apple Search Ads keyword research is a 4-stage cycle, not a one-time exercise. Stage the work and ritual it:

  1. Seed from your own app metadata (Brand + category-core)
  2. Expand through competitor and category-adjacent analysis
  3. Discover through a capped Discovery campaign with Search Match
  4. Promote and prune via weekly Search Term Report mining

Repeat the full cycle quarterly. The output is a keyword list of 30-50 production Exact keywords plus a controlled exploration layer.


Why most keyword lists are wrong

The most common failure mode in indie ASA: a single mega ad group with 200+ keywords added at launch and never revisited. Without structure or refresh cadence:

  • High-value Brand traffic mixes with low-value Discovery
  • Keywords that never produced a conversion stay in the auction wasting attention
  • New category trends are missed
  • Search Match expansion is never harvested

The fix is not “more keywords” — it is a structured cycle with clear ad-group boundaries.


Stage 1: Seed from your app metadata

Your App Store Connect metadata is the starting source of truth:

Metadata fieldWhat to extract
App nameBrand seed (e.g., “FocusFlow”)
SubtitleBrand + value-prop seed (“FocusFlow — Pomodoro Task Manager” → “pomodoro task manager”)
Keywords field (100 char limit)Pre-curated category terms
First sentence of descriptionImplicit category descriptors

From a productivity app named “FocusFlow”:

  • Brand seeds: focusflow, focus flow, focusflow app
  • Category-core seeds (from subtitle): pomodoro, task manager, focus timer, productivity timer
  • Variants from description: deep work, time blocking, focused work, productivity app

This produces ~15-25 seed keywords. Group into Brand and Category clusters.


Stage 2: Expand through competitor analysis

Identify 5-10 direct competitors. Two methods:

Method A: Category browse

Open the App Store category for your app’s primary category. Note the top 20 organic- ranked apps. Of those, 5-10 are likely direct competitors (similar feature set, similar target user).

Method B: Search overlap

Search for your top 3-5 category-core seed keywords in the App Store. Note which apps consistently appear in the top 10 results across queries. Those are organic competitors for your category-core terms.

For each competitor:

  • Note their app name → potential Competitor / brand defense keyword
  • Note their subtitle → category descriptors they target
  • Check their App Store Connect keywords (if visible via third-party tools like ASOMobile, AppTweak, or Apple’s own competitor ranking data)

Expand seed list to 30-50 keywords across Brand, Competitor (their brand names if you plan to conquest), and Category clusters.


Stage 3: Add category-adjacent and long-tail

Brainstorm two more keyword classes:

Category-adjacent

Terms that describe related categories where your app may compete:

  • A pomodoro app may compete in “time tracker”, “habit tracker”, “focus app”
  • A budgeting app may compete in “expense tracker”, “money manager”, “personal finance”

Add 15-25 category-adjacent terms.

Long-tail / use-case

Specific use-case phrases users may search:

  • “study timer for students”, “work timer for adults”, “focus app for adhd”
  • “monthly budget app”, “envelope budgeting app”, “couples budget app”

Add 15-30 long-tail terms. These will typically be Broad match or Search Match candidates rather than starting in Exact.


Stage 4: Run capped Discovery campaign

Set up a dedicated Discovery campaign with the structure:

Discovery Campaign
└── Discovery Ad Group
    ├── Match type: Broad
    ├── Search Match: ENABLED
    ├── Keywords: Your category-core seeds (15-25 terms in Broad)
    ├── Bid: 60-80% of your Exact-match ad-group bid
    ├── Daily Cap: 10-20% of total ASA budget
    └── Negatives: Your own brand name + irrelevant categories

Run for 14-30 days minimum to gather statistically meaningful data per matched search term.


Stage 5: Mine, promote, prune

Weekly ritual (15-30 minutes):

Promote winners

Filter Search Term Report:

  • Source = Search Match or Broad
  • Taps ≥ 100
  • CR ≥ 40%

These are promotion candidates. For each:

  1. Create a dedicated Exact-match ad group (or add to an existing intent-cluster ad group)
  2. Set a higher bid than Discovery (you know it converts)
  3. Assign a CPP themed to the intent
  4. Add the term as a Negative in the Discovery ad group to prevent double-billing

Prune waste

Filter Search Term Report:

  • Source = any
  • Taps ≥ 30
  • Installs = 0

These are negative candidates. Add as Negative keywords in the relevant ad group (or campaign-wide if universal waste).

Quarterly full refresh

Every 90 days, revisit Stages 1-4. Add new category trends, retire keywords with no impressions in 90 days, restructure intent clusters based on observed conversion data.


Brand defense and competitor conquest

Brand defense = bidding on your own brand name to ensure you win the auction (so competitors do not conquest you). Always run this. Brand should be the highest CR, lowest CPI ad group.

Competitor conquest = bidding on competitor brand names. More complex:

  • Works when your differentiation is clear and your rating is competitive
  • Does not work when the competitor has strong brand loyalty
  • Test cautiously — $50-100/day for 2-4 weeks before scaling
  • Build a CPP-Conquest that directly addresses the alternative angle (without naming the competitor — Apple’s policies)

Localization across storefronts

When expanding to a new storefront, do not translate the EN keyword list directly. Repeat Stages 1-4 in the target language:

  • Native search vocabulary differs (German compound words, Japanese mixed scripts, Spanish regional variants)
  • Competitor sets differ per storefront
  • Long-tail patterns differ culturally

Per-storefront keyword research is operationally heavy but produces dramatically better performance than translation.


How ASAPilot helps

ASAPilot’s account audit specifically reviews keyword structure:

  • Surfaces same-keyword-in-multiple-ad-groups (internal competition)
  • Identifies high-CR Search Match terms ready for promotion
  • Identifies zero-conversion terms ready for negative
  • Tracks per-keyword impression share, CPT trend, CR trend over time

Account audit + AI chat replace the manual Search Term Report mining ritual with a prioritized weekly review. See pricing.