skills/app-store/apple-search-ads/SKILL.md
Apple Search Ads campaign strategy for indie developers — paid acquisition, keyword bidding, budget planning, and ROAS optimization. Use when user asks about running ads, paid user acquisition, or Apple Search Ads campaigns.
npx skillsauth add rshankras/claude-code-apple-skills apple-search-adsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Plan, launch, and optimize Apple Search Ads campaigns that deliver profitable user acquisition for indie apps.
Use this skill when the user:
Before recommending any campaign setup, verify these minimum thresholds. Running ads on an unoptimized listing burns money.
| Requirement | Threshold | Why | |-------------|-----------|-----| | Organic downloads | 100+/month | Proves baseline demand exists | | App Store page CVR | > 20% | Ads amplify your listing — a bad listing wastes spend | | Screenshots | 5+ optimized | Paid traffic sees your product page first | | Ratings | 3.5+ stars (or none) | Low ratings kill conversion from ads | | Crash-free rate | > 99% | Crashes destroy ROAS through refunds and bad reviews | | Monetization | Active | No point acquiring users you can't monetize |
If thresholds are not met:
keyword-optimizer skill)screenshot-planner and app-description-writer skills)Have 100+ organic downloads/month?
├── NO → Stop. Fix organic first.
└── YES → Is your product page CVR > 20%?
├── NO → Optimize listing first, then run ads.
└── YES → Ready for Apple Search Ads.
Apple Search Ads offers four placement types. Not all are useful for indie developers. All placements price as cost-per-tap on a second-price auction — you pay just above the next-highest bid, never your max — with no minimum spend, and daily budgets are adjustable anytime.
Stage 1: Search Results (exact match keywords)
↓ profitable?
Stage 2: Search Results (broad match for discovery)
↓ profitable?
Stage 3: Product Page (competitor audiences)
↓ profitable?
Stage 4: Search Tab (brand awareness)
Beyond acquisition, a low-budget broad-match discovery campaign is the cheapest source of Apple's official keyword popularity data and the real queries users type. Even if it never turns a profit, harvest the Search Terms report into your organic metadata — see keyword-optimizer advanced tactics (§14) for the quarterly routine.
1. Brand Keywords (Your App Name)
2. Category Keywords (Generic Terms)
3. Competitor Keywords (Rival App Names)
4. Discovery Keywords (Problem/Solution)
Paid conversions on a keyword lift that keyword's organic rank — Apple's algorithm reads them as conversion velocity. Two implications:
keyword-optimizer skill that you can't rank organically| Factor | Target | Notes | |--------|--------|-------| | Relevance | High | Only bid on keywords your app genuinely serves | | Search volume | Medium-High | Low volume = too few impressions to matter | | Competition | Low-Medium | High competition = expensive CPT | | Intent | Transactional | "best X app" > "what is X" |
| Stage | Daily Budget | Monthly Budget | Strategy | |-------|-------------|----------------|----------| | Launch (first 30 days) | $10-30/day | $300-900 | Discovery, keyword validation | | Growth (months 2-6) | $50-100/day | $1,500-3,000 | Scale winners, cut losers | | Scale (6+ months) | $100+/day | $3,000+ | Maximize profitable keywords |
Total: $20/day example
Search Results (Exact Match): $12/day (60%)
→ 10-15 carefully chosen keywords
→ Focus on category + discovery keywords
Search Results (Broad Match): $5/day (25%)
→ 3-5 broad terms for keyword discovery
→ Mine Search Terms report weekly for new exact match targets
Product Page Ads: $3/day (15%)
→ Target 2-3 competitor categories
→ Test which audiences convert
These are approximate ranges for the US market. Actual CPT varies by competition and keyword.
| Category | Low CPT | Median CPT | High CPT | |----------|---------|------------|----------| | Utilities | $0.30 | $0.80 | $2.00 | | Productivity | $0.50 | $1.50 | $4.00 | | Health & Fitness | $0.60 | $1.80 | $5.00 | | Finance | $1.00 | $3.00 | $8.00 | | Games (Casual) | $0.20 | $0.60 | $1.50 | | Games (Mid-core) | $0.50 | $1.50 | $4.00 | | Education | $0.40 | $1.20 | $3.00 | | Photo & Video | $0.30 | $1.00 | $3.00 | | Social | $0.40 | $1.20 | $3.50 | | Shopping | $0.50 | $1.50 | $4.00 |
Starting bids:
Raise bids when:
Lower bids when:
Pause keywords when:
Apple Search Ads supports linking ad groups to Custom Product Pages (CPPs) for tailored messaging.
| Scenario | CPP Strategy | |----------|-------------| | Competitor keywords | Highlight advantages over that competitor | | Feature keywords | Show the specific feature being searched | | Audience segments | Different messaging for students vs. professionals | | Seasonal campaigns | Holiday or event-themed screenshots/descriptions |
Every exact-match ad group should point to a CPP whose first screenshots match that keyword's intent — 35 CPP slots is enough for every major keyword theme. A user searching "habit tracker" who lands on habit-first screenshots taps through and converts measurably better than one landing on your default page.
Use the generators/custom-product-pages skill for CPP metadata and strategy.
CAMPAIGN: [App Name] - Search Results
├── AD GROUP: Brand Defense
│ ├── Keywords: [your app name], [your app name + category]
│ ├── Match: Exact
│ ├── CPP: Default product page
│ └── Budget: 10% of campaign
│
├── AD GROUP: Category - Core
│ ├── Keywords: [top 10 category terms, exact match]
│ ├── Match: Exact
│ ├── CPP: Feature-focused product page
│ └── Budget: 40% of campaign
│
├── AD GROUP: Category - Discovery
│ ├── Keywords: [5 broad category terms]
│ ├── Match: Broad
│ ├── Negative keywords: [brand terms, irrelevant terms]
│ ├── CPP: Default product page
│ └── Budget: 20% of campaign
│
├── AD GROUP: Competitor
│ ├── Keywords: [competitor app names]
│ ├── Match: Exact
│ ├── CPP: Comparison-focused product page
│ └── Budget: 15% of campaign
│
└── AD GROUP: Problem/Solution
├── Keywords: [pain point searches]
├── Match: Exact
├── CPP: Problem-solution product page
└── Budget: 15% of campaign
CAMPAIGN: [App Name] - Product Page
├── AD GROUP: Related Category
│ └── Audience: Users browsing [related category]
└── AD GROUP: Competitor Users
└── Audience: Users viewing [competitor apps]
| Metric | Definition | Target Range | |--------|-----------|--------------| | TTR (Tap-Through Rate) | Taps / Impressions | 5-12% | | CVR (Conversion Rate) | Installs / Taps | 30-60% | | CPT (Cost Per Tap) | Spend / Taps | Category-dependent (see benchmarks) | | CPA (Cost Per Acquisition) | Spend / Installs | < Customer LTV | | ROAS (Return on Ad Spend) | Revenue / Spend | > 1.0 (ideally > 2.0) |
Apple cites ~60% average conversion rate for search ads — if your CVR sits well below that, the product page (not the bid) is the problem. Also test the campaign destination: full product page vs. in-app store sheet (SKStoreProductViewController) — "the choice you make may meaningfully impact your conversion" (per Apple's App Analytics Tech Talk).
High TTR + Low CVR:
Low TTR + High CVR:
High CPA + High CVR:
Low CPA + Low ROAS:
| Frequency | What to Check | Action | |-----------|---------------|--------| | Daily | Spend, CPA | Pause runaway spend | | Weekly | Keyword performance, Search Terms | Add negatives, find new keywords | | Bi-weekly | ROAS, campaign-level metrics | Adjust bids, reallocate budget | | Monthly | Overall ROI, LTV/CPA ratio | Strategic changes, new campaigns |
When advising on Apple Search Ads, produce this document:
# Apple Search Ads Strategy: [App Name]
## Readiness Assessment
| Requirement | Status | Notes |
|-------------|--------|-------|
| Organic downloads | ✅/❌ | [X/month] |
| Product page CVR | ✅/❌ | [X%] |
| Screenshots | ✅/❌ | [X screenshots] |
| Ratings | ✅/❌ | [X.X stars] |
| Crash-free rate | ✅/❌ | [X%] |
| Monetization | ✅/❌ | [Model] |
**Verdict**: [Ready / Optimize first / Not ready]
## Recommended Campaign Structure
### Campaign 1: [Name]
- **Type**: [Search Results / Product Page / etc.]
- **Daily budget**: $X
- **Ad groups**: [List]
### Ad Group: [Name]
- **Keywords**: [List with match type]
- **Starting CPT bid**: $X.XX
- **Custom Product Page**: [Default / specific CPP]
- **Target CPA**: $X.XX
[Repeat for each ad group]
## Keyword Plan
| Keyword | Match | Category | Est. CPT | Priority |
|---------|-------|----------|----------|----------|
| [keyword] | Exact | Category | $X.XX | High |
| [keyword] | Exact | Discovery | $X.XX | High |
| [keyword] | Broad | Discovery | $X.XX | Medium |
## Budget Summary
| Campaign | Daily | Monthly | % of Total |
|----------|-------|---------|------------|
| [Campaign 1] | $X | $X | X% |
| [Campaign 2] | $X | $X | X% |
| **Total** | **$X** | **$X** | **100%** |
## KPI Targets
| Metric | Target | Review Frequency |
|--------|--------|-----------------|
| TTR | X% | Weekly |
| CVR | X% | Weekly |
| CPA | $X.XX | Bi-weekly |
| ROAS | X.Xx | Monthly |
## Negative Keywords (Pre-loaded)
- [List of terms to exclude from broad match]
## Week 1-2 Action Items
1. [First thing to set up]
2. [Second thing to set up]
3. [Third thing to set up]
## Month 1 Review Checklist
- [ ] Review Search Terms report
- [ ] Add negative keywords
- [ ] Evaluate keyword-level ROAS
- [ ] Adjust bids on top/bottom performers
- [ ] Consider CPP creation for top ad groups
app-store/keyword-optimizer — ASO keyword strategy (organic, complements paid)app-store/screenshot-planner — Product page optimization (improves ad CVR)generators/custom-product-pages — Custom Product Page creation for ad groupsapp-store/marketing-strategy — Overall marketing strategy including paid acquisitiondevelopment
US web checkout via the StoreKit External Purchase Link entitlement — currently 0% Apple commission (litigation ongoing), how to ship it safely, and how to architect for a commission flip so a future ruling is a config change, not a rewrite. Use when adding external purchase links, weighing web checkout vs IAP, or planning US-storefront pricing strategy.
tools
Revenue beyond the single-app price tag — own-app bundles, Family Sharing as a conversion lever, cross-developer bundles & suites, and institutional licensing via Group Purchases / Apple School & Business Manager. Use when a developer has multiple apps, a subscription worth sharing, complementary indie partners, or school/clinic/business buyers.
testing
Run a structured accessibility audit on an iOS/macOS app — automated XCUITest audits, Accessibility Inspector, manual VoiceOver/Dynamic Type passes, and App Store Accessibility Nutrition Label evaluation. Use before release, when preparing Nutrition Label declarations, or for EU Accessibility Act compliance.
tools
Stage-by-stage audit of an app's App Store growth machinery against a 54-item P0–P9 playbook — every item scored from an App Store Connect MCP call, a codebase check, or an explicit question to the user, then routed to the skill or command that fixes it. Read-only on App Store Connect. Use for a growth audit or scorecard, a pre-launch growth plan, a quarterly re-audit, or "which growth levers am I missing."