domains / marketing / asa-campaign-management / apple-search-ads
The two skills cover the same domain (Apple Search Ads) but with distinct, non-overlapping material. The first skill (appeeky/aso-skills) focuses on strategic setup, campaign structure, keyword strategy, bidding heuristics, and creative product sets (CPP) routing. The second skill (LeoYeAI/openclaw-master-skills) focuses on technical implementation, specifically the Campaign Management API v5, OAuth authentication, JSON object structures for campaigns/ad groups, and attribution integration (AdServices/SKAdNetwork). Neither skill contains the other's core steps; one is a strategy guide, the other is an API/automation toolkit. Combining them provides a complete workflow from strategy to execution.
| Repository | Path |
|---|---|
| appeeky/aso-skills | skills/apple-search-ads/SKILL.md |
| LeoYeAI/openclaw-master-skills | skills/apple-search-ads/SKILL.md |
| Role | Repository | Path |
|---|---|---|
| peer | appeeky/aso-skills | skills/apple-search-ads/SKILL.md |
| peer | LeoYeAI/openclaw-master-skills | skills/apple-search-ads/SKILL.md |
# Apple Search Ads: Strategy & API Execution
## 1. Strategic Foundation
### Why ASA
- Highest intent channel (users in App Store).
- Reliable conversion data (no ATT/SKAdNetwork limitations for direct attribution in many cases, though SKAN is used for privacy-preserving metrics).
- Higher CPI but proportionally higher LTV.
### Campaign Structure
Organize campaigns by intent to protect budgets and isolate performance data:
1. **Brand**: App name, developer name, misspellings. High bids ($2–5).
2. **Competitor**: Top 5–10 competitor names. Moderate bids ($1–2).
3. **Category**: Generic high-volume terms. Moderate bids ($0.80–1.50).
4. **Discovery**: Search Match (no keywords). Low bids ($0.50–0.80).
### Match Types & Workflow
- **Exact**: Proven, high-value terms.
- **Broad**: Discovery of variations.
- **Search Match**: Apple auto-matching. Use only in Discovery campaigns.
- **Optimization Loop**: Mine Search Terms report weekly. Move top performers from Discovery/Broad to Exact match campaigns with higher bids. Add irrelevant terms as negatives.
### Creative Product Sets (CPP)
Link specific Custom Product Pages to ad groups to match creative to keyword intent (e.g., "yoga app" keyword → Yoga-themed CPP). This typically improves TTR and CVR by 15–30%.
## 2. Technical Implementation (API v5)
### Authentication
Use OAuth 2.0 Client Credentials flow.
1. Generate JWT signed with private key (ES256).
2. Exchange JWT for access token at `https://appleid.apple.com/auth/oauth2/token`.
3. Use `Authorization: Bearer {ACCESS_TOKEN}` and `X-AP-Context: orgId={ORG_ID}` headers.
### Core API Endpoints
- **Campaigns**: `POST /campaigns`, `GET /campaigns`, `PUT /campaigns/{id}`.
- **Ad Groups**: `POST /campaigns/{id}/adgroups`.
- **Keywords**: `POST /campaigns/{cId}/adgroups/{agId}/targetingkeywords/bulk`.
- **Reports**: `POST /reports/campaigns/{cId}/searchterms` (for mining), `POST /reports/campaigns/{id}/impressionshare`.
### Campaign Object Example
```json
{
"name": "MyApp - US - Brand",
"adamId": 123456789,
"countriesOrRegions": ["US"],
"budgetAmount": {"amount": "1000", "currency": "USD"},
"dailyBudgetAmount": {"amount": "50", "currency": "USD"},
"supplySources": ["APPSTORE_SEARCH_RESULTS"],
"billingEvent": "TAPS",
"status": "ENABLED"
}
```
### Ad Group Targeting
*Note: While some strategic guides suggest ASA is keyword-only, the API supports audience targeting dimensions.*
```json
{
"name": "Brand Keywords",
"campaignId": 123456,
"defaultBidAmount": {"amount": "1.50", "currency": "USD"},
"targetingDimensions": {
"age": {"included": [{"minAge": 18}]},
"deviceClass": {"included": ["IPHONE", "IPAD"]}
}
}
```
## 3. Optimization & Metrics
### Key Metrics
- **TTR** (Taps/Impressions): >5% strong.
- **CVR** (Installs/Taps): >50% good.
- **CPT** (Spend/Taps): Monitor for efficiency.
- **ROAS**: Target 150%+.
### Bid Optimization Signals
- **Low Impression Share (<50%)**: Increase bid.
- **High TTR, Low CVR**: Improve product page/paywall.
- **Low TTR**: Creative mismatch; adjust CPP or keywords.
- **High CVR, Low Spend**: Increase bid/budget.
### Automated Bidding
Enable only after establishing a manual baseline and achieving 50+ conversions per ad group per week.
## 4. Weekly Checklist
1. Review Search Terms report.
2. Promote top terms to Exact match campaigns.
3. Add new negative keywords.
4. Check impression share and adjust bids.
5. Verify CPP relevance for top ad groups.