ASA Engine
Apple Search Ads campaign automation system, Co-founder

Context
Co-founder at 14x, an app studio. Built in ~1 week as an internal tool alongside app development. The system automates the full Apple Search Ads lifecycle: research, verification, strategy generation, execution, and optimization. Claude Code handles the heavy research while a Next.js dashboard surfaces decisions for human approval.
The problem
When shipping apps at 14x, we wanted to explore every distribution channel, including Apple Search Ads (ASA), where 70% of App Store visitors use search to find apps.
The existing ASA management tools (SearchAdsHQ, SplitMetrics, etc.) had three fatal flaws:
- Expensive: $500+/month plans that don't make sense for an indie studio testing a channel
- Black boxes: no way to verify the accuracy of their keyword data or bid recommendations
- Manual by default: still required hours of spreadsheet work to build campaigns across multiple countries and languages
The core issue: I couldn't trust tools that wouldn't show me where their data came from. If I'm spending money on ads, every keyword needs to be provably real. Not estimated, not "suggested," but verified against Apple's own systems.
The solution
A complete campaign automation system that handles the full ASA lifecycle. The architecture splits responsibility clearly:
- Claude Code runs playbooks: scrapes App Store listings, generates seed keywords per locale, hits Apple's autocomplete API, verifies keyword popularity via Apple's GraphQL API, and pulls performance data
- The viewer (Next.js dashboard): where I review data, build strategies, adjust bids, approve campaigns, and go live via the ASA API
The Verification Gate
The strategy engine flat-out refuses to generate a campaign if any keyword is unverified. Every single keyword must be scored against Apple's internal keyword planner API, per country. A keyword like "study" might score 45 in the US but 12 in Brazil. The engine knows, because it checked.
This is the differentiator. Most advertisers guess. This system doesn't generate a campaign unless every input is proven.
Multi-Locale Keyword Research Pipeline
An automated pipeline that generates locale-aware keywords across 37 supported locales:
- Reads the app profile + target countries
- Generates seeds in each target language using linguistic rules (one file per locale)
- Hits Apple's autocomplete API with country-specific storefront IDs to get real search suggestions
- Runs a keyword variation checker that tests 5-8x more variants per keyword using locale-specific rules (character substitutions, loanword pairs, compound word formation)
- Compiles results with relevance filtering, dedup, and blocked-word filtering
- Verifies popularity per-storefront via Apple's GraphQL API
The result: a curated keyword universe of 60-100 verified keywords per app, not 400 guesses.
The Strategy Engine
Takes verified keywords + app category + budget + target countries and generates a complete 4-campaign structure per country:
- Tiered bids by keyword popularity (high/mid/longtail)
- Category-aware CPT multipliers (Finance: 2.7x, Education: 0.8x)
- Per-country benchmark data from live sources
- AI-powered keyword clustering into themed ad groups
- Full negative keyword cross-pollination between campaigns
- Audience targeting auto-set by app category
- Budget allocation by strategic goal (growth/defense/scale/efficiency)
One-Click Execution
The approved strategy executes via Apple Search Ads API v5: campaigns, ad groups, keywords, negatives, targeting, bids, all created programmatically. A typical execution runs 40-50 API operations in seconds.
Outcomes
- Channel explored with maximum rigor: gave our Signature Maker app the best possible shot at ASA by eliminating guesswork from the equation
- Conclusion reached faster: discovered the niche was too competitive for ASA within days rather than months of manual trial-and-error
- Reusable infrastructure: the system is app-agnostic; adding a new app requires one command and the pipeline adapts to its category, competitors, and markets
- Full knowledge captured: the knowledge directory contains a complete ASA strategy knowledge base that documents every rule and industry best practice
The campaign for Signature Maker proved the space was too competitive at our budget level. That's a valid and fast answer that saved months of wasted ad spend on manual campaigns with guessed keywords.
Retrospective
What worked:
- The "verify everything" philosophy. Even though the campaigns didn't win in this niche, I know it wasn't because of bad keyword selection or wrong bids. The system proved the market conditions were the constraint, not our execution.
- Building the full system in a week with Claude Code. The AI handled implementation volume (37 locale rule files, strategy engine, automation scripts, API integrations) while I focused on architectural decisions and ASA domain research.
- Separating research (AI-driven, automated) from decisions (human, dashboard). The viewer never auto-executes. It presents verified data and waits for approval.
Learnings
Build the verification system before the execution system. The hardest part of ad automation isn't creating campaigns. It's knowing you're creating the right campaigns. Investing in data verification upfront (even when it's technically harder) saves money downstream.
"Negative results" are still results. The system conclusively proved ASA wasn't viable for this niche at our budget. That's a decision made in days with confidence, not months of "maybe we should try different keywords."
AI enables domain-expertise tooling for non-experts. I'm not an ASA specialist. But by deeply researching the domain, encoding best practices as playbooks and engine rules, and using AI to execute them, I built a system that follows expert-level practices without needing to hire one.
The best internal tools are the ones you'd trust with your money. The verification gate exists because this system spends real dollars. That constraint forced rigor that "nice to have" tools never develop.