← All posts
July 2, 2026

Why most Apple Search Ads spend leaks (and how to plug it)

Apple Search AdsiOS growthASA optimizationattributionApp StorekeywordsCPTROAS

Most indies don’t lose money because Apple Ads is “broken.” They lose money because spend is elastic: if any layer from keyword → tap → install → purchase is fuzzy, auction traffic keeps flowing to whatever still looks “eligible.” The result is spend leaks you only notice when ROAS drifts.

Below is a practical way to find the leak and plug it. Think of this as an investigation: you’ll identify where taps are happening without turning into revenue, then adjust the smallest set of levers that fixes it.

1) The biggest leak: bidding into low-intent traffic

On Search Results, you pay per tap (CPT auction) with a max bid. That means Apple is effectively inviting taps whenever your keyword (or automatic matching) says “this could be relevant.” If your keywords are too broad, or your broad match coverage overlaps with your competitors’ lookalikes, you’ll keep paying for curiosity.

What to check (day-by-day)

In Apple Ads reports / dashboards, focus on:

  • TTR (taps / impressions). Low TTR = weak relevance or poor placement match.
  • Conversion rate (installs / taps). Low conversion = users tapping but not installing.
  • CPA/CPI and ROAS for each ad group / keyword line item.

A common leak pattern is:

  • Impressions are fine
  • TTR is okay (people click)
  • Installs are low (landing friction or wrong audience)
  • Revenue per tap stays flat

How to plug it

  • Cap your Broad keywords quickly. Don’t leave broad bids at the same level as your exact bids. Start lower, then raise only if install rate + downstream revenue justify it.
  • Use Exact for high-intent “core” terms. Put your best converting terms into Exact so you control where spend goes.
  • If Discovery/Search Match runs, isolate it. Apple Search Match (Discovery/Search Match) can be great for finding incremental traffic, but it’s also where “eligible” can expand fast. Put Search Match in its own ad group so you can throttle it without kneecapping exact performance.

2) Spend “escapes” through ad group structure

Apple Search Ads uses one campaign per country/region and ad groups hold keywords + bids. If your ad groups mix very different intents (e.g., “productivity” and “timer” in one bucket), you can’t reliably separate winners from losers.

What to check

  • Do you have ad groups that contain both:
    • keywords that lead to strong install conversion, and
    • keywords that lead to weak install conversion?

If yes, you’re likely masking the leak.

How to plug it

  • Separate by intent. For example:
    • Ad group A: “exact app name / brand” terms (often high intent)
    • Ad group B: “problem-based” keywords (medium intent)
    • Ad group C: “category browsing” keywords (often low intent)
  • Separate by match type. Keep Exact vs Broad vs Search Match decisions independent so you can tune CPT without cross-contamination.

3) Your tap is getting installs… but the install path isn’t converting to purchase

In Apple Ads, the only thing you directly control is the click → install funnel up to attribution. But your profit depends on installs becoming paying users.

Two subtle failure modes:

  1. App Store page mismatch (keywords promise one thing; your product page delivers another)
  2. You have installs but weak post-install purchase dynamics, so ROAS stays low even with acceptable install conversion.

What to check

You can’t get per-keyword revenue from Apple (there’s no built-in “revenue by keyword” inside Apple Ads). Revenue is attributed via Apple’s AdServices token and then mapped through your analytics stack (e.g., RevenueCat) within ~24h.

So you need to inspect:

  • Install → purchase conversion by traffic slice (the slice you can map from attribution)
  • Revenue per install / ROAS by the ad group level you can reliably connect
  • Delays or missing attribution that might be hiding the true economics

How to plug it

  • Tighten your keyword → product page story. If you run custom product pages, map them by keyword intent. Even a small mismatch (feature screenshot vs what the keyword implies) can reduce purchase conversion.
  • Refresh creative assets on your product page (screenshots, video, in-app preview) to reflect what your best-performing keywords actually signal.
  • Check your tracking pipeline: attribution tokens resolve within ~24h, but if your revenue mapping isn’t stable (e.g., missing mapping events for certain platforms/tiers), your ROAS view will be misleading—and you’ll keep “fixing” the wrong problem.

4) Attribution blind spots make you chase ghosts

Spend leaks get worse when your decision-making data is wrong. The most common indie issues aren’t with Apple’s attribution itself—they’re with how you join ad installs to revenue.

What to check

  • Are you using Apple’s AdServices attribution token end-to-end through your analytics provider?
  • Is your revenue event ingestion consistent (subscription purchases vs one-time purchases)?
  • Are you allowing enough time for token resolution (typically within ~24h) before you make daily “panic” bids?

How to plug it

  • Use a consistent attribution window for optimization decisions. If you update bids every few hours but revenue attribution takes ~24h, you’ll systematically underreact or overreact.
  • Validate mapping: pick a small set of days and verify that installs you expect to monetize show up in the revenue dataset.

5) You’re paying “up” in the auction when you don’t need to

Because bids are auction-based CPT with a max bid, it’s easy to set bids higher than necessary. That can keep your ads visible, but visibility isn’t the goal—profit is.

What to check

  • For the same ad group, does CPT increase while ROAS stays flat or worsens?
  • Is TTR not improving when CPT rises?

How to plug it

  • Lower max CPT bids on underperformers first. Don’t change everything—change the highest-leak line items.
  • Raise bids only when the downstream chain is clearly working (taps → installs conversion is healthy, and revenue/ROAS justifies the spend).

6) Placement mix can hide the leak

Placements include Search Results, the Search tab, the Today tab, and Product Pages (browse). Many indies start on Search Results, which is usually the most controllable for keyword relevance. But if you expand placements without structure, taps can come from lower-intent browsing contexts.

What to check

  • Is most spend landing on a placement that has weak install conversion?

How to plug it

  • Keep placements separated in your campaign/account setup where possible.
  • If you must test additional placements, run them in a way that lets you throttle quickly when ROAS is weak.

A prioritized “plug the leak” workflow (the order matters)

If you only do one pass, do it in this sequence:

  1. Find ad groups with the worst ROAS (or worst revenue per tap) despite acceptable TTR. That’s usually a keyword intent mismatch or conversion friction.
  2. Within those, compare TTR vs conversion rate (installs/taps).
    • Low conversion rate → product page mismatch or audience quality problem.
    • Low TTR → keyword relevance / ad targeting problem.
  3. Isolate match types. If Broad/Search Match shares an ad group with Exact, split them so you can cap the leak.
  4. Validate attribution mapping for the ad groups you’re adjusting. Don’t tune bids based on incomplete revenue joins.
  5. Adjust bids last, not first. Structural fixes (keywords, match types, ad group separation, product page alignment) usually fix the funnel more sustainably than continual bid whack-a-mole.

How AdsBuddy fits in (so you don’t stare at dashboards all day)

If you’re running this manually, it’s easy to miss the specific lever that will move ROAS fastest. Tools like AdsBuddy (advisory only) can read your Apple Search Ads + your mapped revenue, then hand you a short prioritized list of the concrete changes to approve—so you’re adjusting the right ad groups (and match types) in the right order instead of guessing.

Closing takeaway

Spend leaks in Apple Search Ads aren’t random. They come from a handful of repeatable causes: bidding too broadly, mixing intents in the same ad group, a product page that doesn’t match what your best keywords promise, and decision-making with incomplete attribution.

Run the workflow once, plug the biggest funnel breaks, and only then tune bids. Your ROAS stops drifting when your traffic quality and conversion path stop being a mystery.

Run Apple Ads with AdsBuddy

Choose a plan, connect Apple Ads and RevenueCat, then get a short prioritized list of changes to review and apply.

Create account
Get new posts in your inbox
Practical Apple Search Ads tactics for indie iOS devs. No spam, unsubscribe anytime.