The short version

Developers like tools because a good tool turns a slow, repetitive task into a visible system. The danger is collecting dashboards without improving a decision.

My core ASO and Apple Ads stack is intentionally small:

QuestionToolUseful output
What are people searching for, and where does the app rank?AstroKeyword popularity, difficulty, current rank, history, and competitor context
What happened on the App Store?App Store Connect AnalyticsImpressions, product-page views, downloads, conversion, source, territory, and downstream value
Which paid searches spent money?Apple AdsSearch terms, taps, installs, spend, CPA, CPT, bids, and campaign status
Which paid searches earned money?RevenueCat + AdSwiftAttributed subscription revenue beside Apple Ads spend and ROAS
What can be repeated or automated?Astro MCP + AdSwift CLIStructured data for scripts and agent-assisted workflows

The tools do different jobs. Astro helps me form and monitor an organic search hypothesis. AdSwift helps me operate paid search and connect spend to revenue. Apple’s own dashboards remain necessary for validation.

What a useful tool stack should do

An ASO tool should make evidence easier to collect, compare, and revisit. An Apple Ads tool should make spend easier to control and connect to product value. Neither should pretend to replace positioning or product judgment.

Before adding a tool, I want to know:

  • Which repeated question does it answer? “Show my US keyword movements since the last release” is useful. “Give me more charts” is not.
  • Where does the data come from? Apple data, an estimate, a community dataset, and a proprietary score have different limitations.
  • Can I preserve history? A weekly snapshot becomes valuable when it is tied to a release, campaign, and hypothesis.
  • Can I export or automate it? CSV, APIs, MCP, and CLI access matter when the workflow grows beyond one app.
  • Does it help me act safely? Readable filters, bulk changes, previews, and review steps are more useful than an automatic “optimize” button I cannot inspect.

Astro for ASO research and rank tracking

I use Astro for keyword research and rank tracking across Apple platforms. It is a native Mac app focused on App Store Optimization rather than a broad marketing suite.

For each tracked keyword, Astro can show popularity sourced from Apple Ads, its own difficulty estimate, the app’s current position, ranking history, and the apps ranking for that search. I find that combination useful because it keeps three different questions together:

  1. Is there evidence of demand?
  2. Does the app already have any visibility?
  3. Which products currently satisfy that search?

Astro also supports keyword tags, notes, CSV import and export, competitor keyword research, and temporary apps for exploring a market before an app is published. Its beta MCP server exposes rankings, history, ratings, suggestions, tags, and keyword-management actions to compatible coding assistants. That makes it more interesting for developers who want to query their ASO data from the same environment where they already work.

How I would start with Astro

  1. Add one app and choose one important storefront. Do not combine every country into the first research pass.
  2. Add a small list of category, problem, outcome, and feature terms. Twenty focused keywords are more useful than two hundred unrelated suggestions.
  3. Tag the terms by intent and note where each one appears: app name, subtitle, keyword field, screenshot, or nowhere yet.
  4. Record the baseline before the next metadata release, then review movement on a fixed weekly schedule.
  5. Inspect the actual apps ranking for promising terms. Popularity and difficulty scores are filters, not proof that a keyword fits the product.

The keyword research playbook explains how I turn that evidence into an app name, subtitle, and keyword field. If you want the broader release loop first, begin with how to do ASO.

Disclosure: the Astro link in this article is an affiliate link. I may earn a commission if you purchase through it, at no additional cost to you. I recommend it because I use it and find it useful.

AdSwift for Apple Ads, revenue, and automation

I use AdSwift because it makes Apple Ads much easier to manage without relying on Apple’s slow website. It is a native Mac app that brings campaigns, ad groups, keywords, bids, and performance into one fast interface.

The important addition is RevenueCat. Apple Ads can tell you what a keyword cost and whether it produced an attributed install. For a subscription app, that is only part of the result. AdSwift overlays RevenueCat revenue on campaign and keyword data so I can see return on ad spend (ROAS), not only cost per install.

That changes the decision. A keyword with an expensive install may still be valuable when those users activate, subscribe, and retain. A cheap keyword can be waste if its users never reach value.

AdSwift also includes a CLI for developers who want to automate their workflows. The CLI can retrieve Apple Ads reports, RevenueCat revenue, and ROAS views with structured JSON for scripts or coding agents. Campaign changes can be prepared as reviewable plans before they are applied, which is the right shape for automation involving real ad spend.

How I would start with AdSwift

  1. Connect one Apple Ads account and verify that campaigns, ad groups, keywords, and spend match Apple’s dashboard.
  2. If the app uses RevenueCat, configure Apple Ads attribution there first. Confirm that campaign and keyword attribution is arriving before trusting a ROAS view.
  3. Start with a read-only review: find the campaigns and keywords with meaningful spend, then compare installs, revenue, and ROAS.
  4. Write a decision rule before changing bids or statuses. For example: pause irrelevant terms, move proven discovery terms into an exact group, and avoid acting on tiny samples.
  5. Use the CLI for repeatable reports first. Add write actions only after the output and review step are predictable.

Revenue attribution is not retroactive magic. The app must collect and send Apple’s attribution token, RevenueCat must receive the data, and new integrations need time to gather purchases. Follow the step-by-step guide to seeing Apple Search Ads revenue in RevenueCat for the Advanced-account connection, Swift call, Charts, and attributed-user Audience.

For campaign structure, match types, negatives, starting bids, and the first review, use the full Apple Ads starter guide.

Keep Apple’s tools as the source of truth

Third-party tools make the workflow faster, but I still check App Store Connect Analytics and Apple Ads directly.

App Store Connect acquisition analytics shows how people discovered and downloaded the app across search, browse, referrers, and campaigns. It also connects acquisition sources to sales, usage, and subscriptions. That is where I check whether a metadata or product-page change improved the actual App Store funnel.

Apple Ads remains the source for campaign status, search terms, spend, taps, installs, and auction settings. The dashboard is not always the fastest place to work, but every external view should reconcile with it.

A good tool shortens the distance between a question and a decision. It does not remove the need to understand the source data.

The workflow I would use

Before an ASO release

  1. Save the current metadata, screenshots, storefront, app version, and App Store Connect baseline.
  2. Use Astro to research a focused keyword cluster and inspect the apps currently ranking.
  3. Choose one positioning or intent hypothesis, then map it to the app name, subtitle, keyword field, and first screenshots.
  4. Record the tracked keywords and release date so ranking history has context.

Before an Apple Ads test

  1. Make sure the product page matches the search intent and that activation or revenue can be measured.
  2. Configure Apple Ads attribution in RevenueCat before launch if subscription revenue is part of the decision.
  3. Build a small, understandable campaign with a fixed learning budget and clear pause rules.
  4. Use AdSwift to review the campaign quickly and keep spend, attributed revenue, and ROAS together.

Every week

  1. Check whether tracking and spend behaved as intended.
  2. Review Astro ranking changes beside the release log, not in isolation.
  3. Inspect Apple Ads search terms and add obvious negatives.
  4. Compare spend with activation and attributed RevenueCat revenue.
  5. Make one clear keep, change, pause, or investigate decision.

This is enough for many indie apps. A larger stack is justified when it answers a question this workflow cannot answer—not when another dashboard looks interesting.

Choose the smallest stack that answers the question

SituationStart with
The app is not published yetUser and competitor research, App Store search, and an Astro temporary app for organizing candidate keywords
The app is live but not running adsApp Store Connect Analytics plus Astro for keyword and ranking history
The app runs Apple AdsApple Ads plus AdSwift for faster management and reporting
The app monetizes with RevenueCatRevenueCat Apple Ads attribution plus AdSwift for revenue and ROAS beside spend
You manage several apps or repeat the same reportsAstro’s MCP server and the AdSwift CLI, with human review before live changes
You only need metadata and screenshot checksThe free ASO utility workflow

No tool can guarantee ranking, profitable ads, or product-market fit. The useful ones preserve evidence, reduce repetitive work, and help you see when the data contradicts your assumption.

Frequently asked questions

What is the best ASO tool for an indie iOS developer?

The best tool is the one that answers a repeated question in your workflow. I use Astro for keyword research and ranking history, then verify the result with App Store Connect acquisition and product data.

Do you need paid tools to start ASO?

No. You can start with App Store search, App Store Connect Analytics, Apple Ads data, customer language, and a spreadsheet. A paid tool becomes useful when repeated research, multi-store tracking, history, or automation costs more time than the tool saves.

How do you measure Apple Ads ROAS for a subscription app?

Configure Apple Ads attribution in RevenueCat, confirm campaign data is arriving, then compare attributed subscription revenue with Apple Ads spend. AdSwift brings those two sides together so you can inspect ROAS by campaign and keyword.

Are ASA and Apple Ads the same thing?

ASA usually means Apple Search Ads, the product’s former name. Apple now calls it Apple Ads, although developers still use both terms.