When the user wants to set up, optimize, or scale Apple Search Ads (ASA) campaigns — including keyword bidding, match types, campaign structure, Creative Product Sets, CPP routing, and ROAS optimization. Use when the user mentions "Apple Search Ads", "ASA", "Search Ads", "Search tab ads", "Today tab ads", "CPT", "TTR", "Search Match", "exact match", "broad match", "CPP in ads", "ASA bidding", or "Search Ads budget". For Meta/Google UAC/TikTok paid UA, see ua-campaign.
72
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
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.
| 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
└── 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)| 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.
Brand campaign:
Competitor campaign:
Category campaign:
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=usEssential to prevent waste. Add negatives at account level:
| 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 |
| 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)
ASA offers automated bidding toward a target CPA or target ROAS. Use only after:
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 screenshotsWhy 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.
| 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%+ |
- [ ] 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 CompetitorBefore 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 testedAccount: [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]ua-campaign — Full paid UA across all channels (Meta, Google, TikTok)keyword-research — Identify keywords to target in ASAscreenshot-optimization — Build CPPs for keyword-specific creativesab-test-store-listing — Test product page CVR before scaling spendf97c943
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.