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 skills add https://github.com/rshankras/claude-code-apple-skills --skill apple-search-ads
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 acquisitionA set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take rshankras/apple-search-ads from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.