
Apple Search Ads
When the user wants to set up, optimize, or scale Apple Search Ads (ASA) campaigns, ...
Install
npx skills add appeeky/aso-skills --skill apple-search-ads -g -a claude-code -y- Repository
- appeeky/aso-skills2.2k
- Category
- Marketing
- Updated
- 29d ago
- License
- MIT
- Context cost
- Mediumabout 1,700 tokens
- Runs scripts
- No, instructions only
What it does
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.
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
