Apple Search Ads Keyword Hygiene: How to Stop Broad Ads from Paying for “Almost-Right” Queries
If your Apple Search Ads are getting taps but not the installs you expect, it’s tempting to reach for higher bids or new product-page screenshots. But a lot of “bad traffic” starts upstream: the keywords you gave Apple are vague, misspelled, or grouped in a way that encourages Apple’s broad matching to interpret your intent loosely.
This post is about keyword hygiene—small, concrete changes to keyword text and structure that reduce “almost-right” queries. The goal isn’t to eliminate exploration; it’s to stop paying auction prices for queries that are merely adjacent.
Why Broad keywords quietly pull in “almost-right” intent
On the Search Results placement, Apple Search Ads uses a relevance-based matching system. With Exact, you’re explicitly targeting a tighter query match. With Broad, Apple can connect your keyword to additional search queries that it deems relevant.
That’s useful for discovery, but it also means:
- Your keyword phrasing becomes a hint, not a guarantee.
- Broad phrases that are too general (or include optional terms) can match to different intents (different problems, different platforms, different user needs).
- Minor text issues (pluralization variants you didn’t think mattered, typos, mixed terminology) can steer matching in unintended directions—especially when the “almost-right” query still looks relevant to a match engine.
The keyword hygiene audit (do this before changing bids)
Start with a short audit window—enough data to see patterns, not noise. If you’re early, use at least a few days; if you’re running steady spend, a week or two is usually workable.
1) Dump Search Terms and label the intent, not just the performance
In Apple Ads, open the Search Terms view for each keyword ad group. For each search term that got spend, label it into one of these buckets:
- Core: same app category + same primary job-to-be-done
- Adjacent: same category, different job (e.g., different use case)
- Competitor: branded competitors / specific app names
- Device/Platform: iPhone vs iPad confusion, “Android” terms, etc.
- Format/Requirement: “free,” “no ads,” “offline,” “subscription,” “iOS only” (depends on your app reality)
- Typos/Misspellings: close to your keyword but wrong spelling
- Noise: clearly unrelated queries
You’re looking for intent drift, not “bad CPA” alone. A term can have decent taps but be the wrong mental model for conversion.
2) Find “vague theme” keywords and split them into intent-specific phrases
A classic hygiene failure looks like: one broad keyword phrase meant to cover multiple needs.
Example (illustrative): if your app does “habit tracking,” one broad keyword like “habit” might pull queries about worksheets, planners, and completely different habit methods.
Fix: split into multiple keywords that map to distinct user intent you can actually satisfy.
- “habit tracking” (job)
- “daily habits” (outcome)
- “habit reminder” (mechanism)
You don’t need 50 keywords. You need fewer keywords that each represent one promise your product page can fulfill.
3) Check for keyword text mistakes that widen matching
Do a manual pass over your keyword list:
- Typos (human errors are common and poison broad matching)
- Inconsistent naming (e.g., “to-do” vs “todo” vs “task list” mixed across keywords)
- Overloaded phrases (multiple concepts glued together)
- Extra words that create ambiguous intent (e.g., “best,” “app,” “guide” unless you truly target that)
If you find duplicates that differ only by spelling or punctuation, keep the clean version and remove the messy one. Broad can interpret those differently.
4) Identify “expectation mismatch” terms and handle them with negatives
Some search terms aren’t wrong in relevance—they’re wrong in expectation.
Common expectation mismatch signals indie apps see:
- Users searching “free” when your monetization is subscription-first
- Users searching “no ads” when you show ads (or vice versa)
- Users searching for a feature you don’t actually ship
- Users searching for “offline” when core functionality needs network
If a term is clearly expectation-mismatched, add it as a Negative keyword so Broad matching won’t keep reopening that door.
Rebuild: a practical keyword structure that reduces almost-right traffic
Here’s a structure that usually works for indie teams without overcomplicating everything.
1) One ad group for Exact “intent anchors”
Create (or dedicate) one ad group with Exact keywords that represent the tight promise of your app.
- Use fewer words than you think you need
- Make them specific enough that you understand what user arrived expecting
Example pattern (illustrative):
- “habit tracking app” (anchor)
- “habit reminder” (mechanism anchor)
Exact won’t discover everything—but it gives you a reliable baseline for what “correct intent” looks like.
2) One ad group for Broad discovery, but constrain with hygiene + negatives
Create another ad group for Broad keywords, ideally only a small set.
Then, based on Search Terms labels:
- Add negatives for Noise and Expectation mismatch
- Consider negatives for Adjacent if they’re consistently low-converting
- Keep Competitor terms separate unless you’re actively targeting them
Important: don’t try to negative every underperformer. Start with the terms that are clearly wrong intent.
3) Keep Search Match separate if you’re using it (don’t mix learning signals)
Even though you may not be using Search Match today, if you are, keep it separated so your “keyword ad group hygiene” changes don’t get mixed with Apple’s automatic matching behavior.
This makes it easier to tell whether your hygiene fix reduced almost-right queries—or whether Search Match was just driving different exploration.
How to tell you fixed hygiene vs you just changed delivery
After changes, you need a sanity check. Don’t rely on a single day of data.
Use these checks:
- TTR stability: Hygiene fixes often improve relevance, which can keep taps per impression steady or improve slightly. If TTR suddenly collapses, you may have removed too much.
- Search Terms mix: Compare the distribution of your labeled intent buckets (Core vs Adjacent vs Noise) before/after.
- Install conversion: If wrong-intent traffic was a problem, installs per tap (conversion rate) should improve even if CPT is unchanged.
Remember: Apple’s reporting gives you taps, installs, CPT, etc., but it doesn’t give you “revenue per keyword” in the Apple UI. Your revenue decisions should come from your install→purchase mapping (e.g., RevenueCat), but the first diagnostic step is still keyword intent drift.
Common hygiene mistakes to avoid
- Overstuffing one Broad phrase meant to cover multiple use cases.
- Leaving typos in a keyword list (especially when broad is enabled).
- Negative keywords too late: if you wait until spend is high, you’ve already paid for the wrong intent repeatedly.
- Only reacting to CPA/CPI: an intent-mismatched term can still install occasionally, masking the long-term waste.
A quick checklist you can run this week
- Export or view Search Terms for your top spend keywords
- Label terms by intent (Core/Adjacent/Noise/etc.)
- Tighten broad themes into intent-specific keyword phrases
- Remove typos/duplicate messy variants
- Add negatives for Noise + expectation mismatch (first)
- Keep Exact anchors in one ad group and Broad discovery in another
- Watch TTR + conversion over a stable window (not one day)
Closing takeaway
When Broad keywords start “going wide,” the auction isn’t the villain—keyword hygiene is. Tighten intent at the keyword text level, separate anchors from discovery, and use negatives to close the expectation-mismatch and noise gaps you can clearly identify from Search Terms.
If you want an extra pair of eyes, tools like AdsBuddy can read your Apple Search Ads performance and revenue mapping and then propose a short, prioritized change list for you to approve—useful once you’ve already cleaned up the big hygiene issues and want to optimize the last mile.