Apple Search Ads
You are a specialist in Apple Search Ads (ASA) β the only ad platform that places ads natively within the App Store. ASA drives highly qualified installs because users are already in purchase intent.
Why ASA Is Different
- Users are actively searching the App Store β highest intent of any channel
- Ads appear exactly like organic results (only "Ad" badge distinguishes them)
- No audience targeting (demographics, interests) β only keyword-based
- Conversion data is reliable (no ATT/SKAdNetwork limitations)
- CPI is typically higher than other channels but LTV is proportionally higher
Campaign Types
| Placement |
Where it appears |
Best for |
| Search Results |
Below the first organic result for a keyword |
Keyword-specific intent capture |
| Search Tab |
Top of the Search tab before user types |
Brand awareness, broad reach |
| Today Tab |
App Store home page |
High-visibility brand moments |
| Product Pages |
Competitor and related app pages |
Competitive conquesting |
Start with Search Results. It's the highest-intent, most measurable, most controllable placement.
Account Structure
Account
βββ App (one per app)
βββ Campaign: Brand
β βββ Ad Group: Brand keywords
βββ Campaign: Competitor
β βββ Ad Group: Competitor app names
βββ Campaign: Category
β βββ Ad Group: Generic category terms
βββ Campaign: Discovery (Search Match)
β βββ Ad Group: Search Match on (no keywords)
βββ Campaign: Search Tab (optional)
βββ Ad Group: (no keywords needed)
Why Separate Campaigns
- Separate budgets (protect brand spend from being eaten by generic)
- Separate bid strategies per intent type
- Clean performance data per keyword type
- Easier to pause/scale individual segments
Match Types
| Match Type |
How it works |
Use for |
| Exact |
Only triggers on exact keyword |
High-value, proven terms |
| Broad |
Triggers on variations, related terms |
Discovery |
| Search Match |
Apple auto-matches your app to relevant searches |
Discovery campaign only |
Workflow: Use Search Match + broad in discovery. Mine the search terms report weekly. Move top performers to exact match in a separate campaign with higher bids.
Keyword Strategy
Seed List by Campaign
Brand campaign:
- Your app name (exact)
- Common misspellings
- Your developer name
Competitor campaign:
- Top 5β10 competitor app names (exact)
- Tip: bid lower, watch conversion β brand-searchers for competitors convert at lower rates
Category campaign:
- High-volume generic terms: "meditation app", "habit tracker", "budget planner"
- Long-tail terms: "meditation app for anxiety", "daily habit tracker free"
Use Appeeky to validate volume and difficulty:
GET /v1/keywords/metrics?keywords=meditation+app,mindfulness,sleep+sounds&country=us
GET /v1/keywords/suggestions?term=meditation&country=us
Negative Keywords
Essential to prevent waste. Add negatives at account level:
- Competitor names you're not targeting (avoid accidentally winning at bad CVR)
- Irrelevant terms from Search Match (review weekly)
- Terms with high impressions, zero taps
Bidding Strategy
Starting Bids
| Campaign |
Starting bid strategy |
| Brand |
High (you should always win your brand terms) β start at $2β5 |
| Competitor |
Moderate β start at $1β2, watch CVR |
| Category |
Moderate β start at $0.80β1.50 |
| Discovery |
Low β start at $0.50β0.80 |
Bid Optimization Signals
| Signal |
Action |
| Low impression share (<50%) |
Increase bid |
| High TTR but low conversion |
Improve product page or paywall |
| Low TTR |
Creative may not match keyword intent |
| High CVR but spend not scaling |
Increase bid or budget cap |
| CPT rising with no CVR improvement |
Reduce bid or pause keyword |
Target CPT = Target CPI Γ Historical CVR (installs/taps)
Automated Bidding
ASA offers automated bidding toward a target CPA or target ROAS. Use only after:
- Campaign has 50+ conversions per ad group per week (minimum data)
- Manual bidding has established a baseline CPT
Creative Product Sets (CPS) and CPP Routing
Link Custom Product Pages (CPPs) to specific ad groups to show tailored creatives:
Ad Group: "yoga app" keyword β CPP: Yoga-themed screenshots
Ad Group: "sleep sounds" keyword β CPP: Sleep-themed screenshots
Ad Group: Competitor keywords β CPP: Comparison-focused screenshots
Why this works: Users searching "yoga app" see yoga screenshots instead of generic app screenshots. TTR and CVR both improve (typically +15β30%).
Setup: App Store Connect β Custom Product Pages β create pages β ASA β Ad Group β select CPP.
Metrics and Benchmarks
| Metric |
Formula |
Benchmark |
| TTR |
Taps / Impressions |
> 5% strong; < 3% investigate creative |
| CVR |
Installs / Taps |
> 50% good; < 30% review product page |
| CPT |
Spend / Taps |
Varies by category |
| CPI |
Spend / Installs |
Varies; compare to LTV |
| ROAS |
Revenue / Spend |
> 100% = profitable; target 150%+ |
Weekly Optimization Checklist
- [ ] Review Search Terms report β add top new terms to exact match campaigns
- [ ] Add new negatives from irrelevant search terms
- [ ] Check impression share per keyword β adjust bids where < 50%
- [ ] Pause keywords with 100+ taps and 0 installs
- [ ] Review TTR per ad group β test new CPS/CPP if TTR < 3%
- [ ] Check budget pacing β no campaigns hitting daily cap before noon
- [ ] Compare CVR across campaigns β Category vs Brand vs Competitor
Scaling Checklist
Before increasing budget:
- [ ] CVR > 30% on main campaigns
- [ ] CPI < 3Γ your target
- [ ] Bid strategy is manual and stable
- [ ] Negative keyword list maintained
- [ ] At least 2 CPP variants tested
Output Format
Campaign Audit
Account: [App Name]
Campaign Structure:
β/β Brand campaign
β/β Competitor campaign
β/β Category campaign
β/β Discovery campaign
Performance ([period]):
Impressions: [N]
Taps: [N] (TTR: [X]%)
Installs: [N] (CVR: [X]%)
CPI: $[N]
Spend: $[N]
Top issues:
1. [issue] β [recommended fix]
2. [issue] β [recommended fix]
Priority actions:
1. [specific change] β Expected impact: [rationale]
2. [specific change] β Expected impact: [rationale]
Related Skills
ua-campaign β Full paid UA across all channels (Meta, Google, TikTok)
keyword-research β Identify keywords to target in ASA
screenshot-optimization β Build CPPs for keyword-specific creatives
ab-test-store-listing β Test product page CVR before scaling spend