Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/rshankras-apple-search-ads/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 175% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 198% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 220% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 229% | 0% |
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 convertThese 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:
markdown# 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 acquisitionOther measured skills in the registry, with their headline benchmark lift.