apple-search-ads — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited apple-search-ads (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
| 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
└── 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)| Match Type | How it works | Use for |
|---|---|---|
| Exact | Only triggers on exact keyword | High-value, proven terms |
| Broad | Triggers on variations, related terms | Discovery |
| Search Match | Apple auto-matches your app to relevant searches | Discovery campaign only |
Workflow: Use Search Match + broad in discovery. Mine the search terms report weekly. Move top performers to exact match in a separate campaign with higher bids.
Brand campaign:
Competitor campaign:
Category campaign:
Use Appalize to validate volume and difficulty:
GET /v1/keywords/metrics?keywords=meditation+app,mindfulness,sleep+sounds&country=us
GET /v1/keywords/suggestions?term=meditation&country=usEssential to prevent waste. Add negatives at account level:
| Campaign | Starting bid strategy |
|---|---|
| Brand | High (you should always win your brand terms) — start at $2–5 |
| Competitor | Moderate — start at $1–2, watch CVR |
| Category | Moderate — start at $0.80–1.50 |
| Discovery | Low — start at $0.50–0.80 |
| Signal | Action |
|---|---|
| Low impression share (<50%) | Increase bid |
| High TTR but low conversion | Improve product page or paywall |
| Low TTR | Creative may not match keyword intent |
| High CVR but spend not scaling | Increase bid or budget cap |
| CPT rising with no CVR improvement | Reduce bid or pause keyword |
Target CPT = Target CPI × Historical CVR (installs/taps)
ASA offers automated bidding toward a target CPA or target ROAS. Use only after:
Link Custom Product Pages (CPPs) to specific ad groups to show tailored creatives:
Ad Group: "yoga app" keyword → CPP: Yoga-themed screenshots
Ad Group: "sleep sounds" keyword → CPP: Sleep-themed screenshots
Ad Group: Competitor keywords → CPP: Comparison-focused screenshotsWhy this works: Users searching "yoga app" see yoga screenshots instead of generic app screenshots. TTR and CVR both improve (typically +15–30%).
Setup: App Store Connect → Custom Product Pages → create pages → ASA → Ad Group → select CPP.
| Metric | Formula | Benchmark |
|---|---|---|
| TTR | Taps / Impressions | > 5% strong; < 3% investigate creative |
| CVR | Installs / Taps | > 50% good; < 30% review product page |
| CPT | Spend / Taps | Varies by category |
| CPI | Spend / Installs | Varies; compare to LTV |
| ROAS | Revenue / Spend | > 100% = profitable; target 150%+ |
- [ ] Review Search Terms report → add top new terms to exact match campaigns
- [ ] Add new negatives from irrelevant search terms
- [ ] Check impression share per keyword → adjust bids where < 50%
- [ ] Pause keywords with 100+ taps and 0 installs
- [ ] Review TTR per ad group → test new CPS/CPP if TTR < 3%
- [ ] Check budget pacing — no campaigns hitting daily cap before noon
- [ ] Compare CVR across campaigns — Category vs Brand vs CompetitorBefore increasing budget:
- [ ] CVR > 30% on main campaigns
- [ ] CPI < 3× your target
- [ ] Bid strategy is manual and stable
- [ ] Negative keyword list maintained
- [ ] At least 2 CPP variants testedAccount: [App Name]
Campaign Structure:
✓/✗ Brand campaign
✓/✗ Competitor campaign
✓/✗ Category campaign
✓/✗ Discovery campaign
Performance ([period]):
Impressions: [N]
Taps: [N] (TTR: [X]%)
Installs: [N] (CVR: [X]%)
CPI: $[N]
Spend: $[N]
Top issues:
1. [issue] — [recommended fix]
2. [issue] — [recommended fix]
Priority actions:
1. [specific change] — Expected impact: [rationale]
2. [specific change] — Expected impact: [rationale]ua-campaign — Full paid UA across all channels (Meta, Google, TikTok)keyword-research — Identify keywords to target in ASAscreenshot-optimization — Build CPPs for keyword-specific creativesab-test-store-listing — Test product page CVR before scaling spend~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.