40% of the Budget Went to the Wrong Searches: Hunting Leaks with the Search Terms Report
A psychiatry practice in the center of İzmir, Türkiye. Many clinics and aggregator platforms bidding on the same keywords; clicks are expensive, and the penalty for a wrong click is high. When I took over the account, the period average said one thing clearly: ₺1,142 per appointment request.
Six weeks later, the same account was paying ₺148 per request, and weekly request volume had roughly doubled.
The difference was neither a bigger budget nor more aggressive bidding. It was hiding on a screen most accounts never check regularly: the search terms report. This post is the story of what I found there, how my first guess turned out to be wrong, and why cleanup alone was not enough. The case summary lives here; this post is the kitchen side of the work.
Where leaks hide: keywords and terms are not the same thing
The screen you look at by default in Google Ads is the keywords screen: the targets you gave Google. What users actually typed lives somewhere else. With broad and phrase match in play, the two diverge sharply: your keyword "psychiatrist izmir" may be showing ads against "ege university psychiatry appointment" without you ever intending it.
That is why keyword-screen averages don't lie, but don't tell the truth either: they tell you the average of good queries and bad queries mixed together. To see the leak, you have to go down to query level.
When I inherited the account, I pulled the old period's (January 8 to June 22) search terms report, sorted by cost, and read it line by line. My expectation was the classic scenario: medication names, report and admin-paperwork searches. That is the standard playbook assumption for healthcare accounts.
The data said something else.
Two classes of wrong intent — and neither was what I expected
Nearly all of the non-converting spend clustered in two classes:
| Class | Example queries | Clicks | Spend | Appointment requests |
|---|---|---|---|---|
| Institution and hospital name searches | "ege university psychiatry", "9 eylül psychiatry appointment", other physicians' names, "inpatient private psychiatric hospitals" | 349 | ₺3,442 | 2 |
| Out-of-scope therapy searches | "izmir couples therapy", "family therapist izmir", "marriage therapist" | 112 | ₺6,154 | 2 |
The logic of the first class is simple: someone typing "ege university psychiatry" is looking for Ege University. They want the state hospital's appointment system, or a physician at that institution. When a private practice's ad shows up on that query it may get clicked — curiosity, accident, comparison — but it does not turn into an appointment. Two requests from 349 clicks is the proof.
The second class is sneakier, because on the surface it looks relevant: couples therapy, family therapist, marriage therapist. All of it is mental health; none of it is what this practice offers. And it is expensive per click (₺6,154 over 112 clicks — about ₺55 a click), because those keywords have their own competitive market. This relevant-looking but out-of-scope class cost far more than medication searches ever would have.
An honest admission here: had I gone with the playbook, I would have filled the negative list with medication names and missed the real leak. A negative keyword list written without reading the search terms report is a list of guesses.
The math: what the 40% slice cost
The two classes combined:
- ~₺9,600 in spend — roughly 40% of the old period's budget
- 461 clicks, 4 appointment requests
- Cost per request inside the slice: ~₺2,400
The account's average for that period was ₺1,142. In other words, 40% of the budget was burning in queries that produced requests at twice the average cost, dragging the average up with it. Anyone looking at the "account average" line in the panel could never see this; an average dissolves the leak inside itself.
Once you put the number that way, the action debate ends. "Should we block these keywords?" is a matter of opinion; "should we keep buying requests at ₺2,400 from this query class?" has only one answer.
Cleanup alone is not enough: the structure changed too
Both classes went into negative lists, and search term audits went onto the calendar — a recurring discipline, not a one-off cleanup. But cleanup alone does not take you from ₺1,142 to ₺148. The old setup had a second problem: everything sat in one bag, and nobody knew what each segment produced.
In the new setup, campaigns were split by district and intent, each segment tracked against its own cost per request:
| Segment | Cost per request |
|---|---|
| Çeşme | ₺42 |
| Seferihisar | ₺45 |
| Brand | ₺55 |
| Karşıyaka | ₺63 |
| Konak | ₺84 |
| Period average (all) | ₺148 |
This table does two jobs. One is operational: when the budget grows, money goes to the proven segment, not randomly. The other is honesty: it would have been possible to put the ₺42 segment in the shop window and claim "our cost per request is ₺42" — the average is ₺148. Don't trust a report that won't say both numbers together; demand both in your own reports too.
Measurement of appointment requests was also rebuilt in the same period: phone and form, counted separately and correctly. Every optimization made on top of broken measurement scales the mistake — the same principle we saw in the diving center case.
The result: same budget, twice the requests
The first six weeks of the new setup (June 23 to August 2):
- Cost per appointment request: ₺1,142 → ₺148 (130 requests on ₺19,230 of spend)
- Weekly requests: ~14 → ~28 — roughly doubled over the period
- Weekly cost per request stayed in a band around the ₺148 period average
Impressions and total clicks went down; requests went up. The clicks that were cut were not converting anyway — the budget did not shrink, it moved to the right queries.
Regulatory note: as this is a healthcare account, only marketing metrics are shared in this post; no data about patients or treatment outcomes appears here. The business name is withheld for client confidentiality.
A 15-minute checklist for your own account
- Open the search terms report (Campaigns → Insights and reports → Search terms). Not the keywords screen — the terms screen.
- Set the range to the last 3-6 months, sort by cost, read the top 50 terms one by one. Eyes, not automated filters.
- Ask one question per term: is the person typing this looking for my service? "It looks relevant" is not a "yes".
- Flag institution, hospital, competitor and practitioner name searches. Unless you run a deliberate competitor strategy, these go negative.
- Flag searches for services in your field but outside your scope (for us it was couples and family therapy; for you it will be something else). This is usually the most expensive leak class, because it looks relevant and nobody questions it.
- Add up the flagged terms' total cost and the requests they produced. Put the slice's cost per request next to your account average — that comparison is what sells the action.
- Add negatives at phrase level where possible ("ege university" as one negative kills ten variants at once).
- Put a recurring audit on your calendar: weekly for a new account, biweekly once it settles. Google's match expansion never stops; neither should your list.
- If you don't track cost per request by segment, restructure your campaigns so you can. "The account average looks fine" never tells you which leak it dissolved.
- In every report, ask for the best segment and the average together.
Frequently asked questions
What is the difference between the keywords report and the search terms report? A keyword is the target you give Google; a search term is what the user actually typed. With broad and phrase match, the two diverge sharply. Budget leaks almost always hide on the term side, because the screen you look at by default is the keyword screen.
How often should you sweep for negative keywords? Weekly for the first month on a newly inherited or restructured account, then every two weeks once it settles. A one-off cleanup is not enough: Google's match expansion and the constant flow of new queries force the list to be a living document.
Does it make sense to show ads on competitor or institution name searches? It can work as a deliberate strategy; the problem is doing it unknowingly. In this case, institution and hospital name searches produced just 2 appointment requests from 349 clicks. Someone typing that name is usually looking for that institution — they have no intent to visit another practice.
Won't volume drop after cutting wrong-intent searches? Impressions and clicks drop; requests don't — because the clicks you cut were not converting anyway. In this case, weekly appointment requests roughly doubled after the cleanup and restructuring. The budget stayed the same; it just started flowing to the right queries.
The numbers are real account data; the business name is withheld for client confidentiality and health advertising regulation, and only marketing metrics are shared. The case summary: psychiatry clinic case study.
Share this post
Let AI Manage Your Google Ads
AI-assisted Google Ads campaign management over Slack with Hektera Ads. Optimize your performance.
Explore Hektera AdsRelated Posts
Who Audits the Verdict the Machine Produced?
My own Google Ads engine compared a bid step against the wrong window. Google's auto-apply rewrote a target CPA before dawn. Both had a rationale. Neither had evidence.
Google Keeps Closing the Manual Levers. What's Left of the Agency's Job?
Language targeting is going away too. As the control levers close, what actually gains value? Four real cases: measurement accuracy, causal discipline, and keeping ads aligned with business reality.
Half of Our Record Day Was Bots: How I Caught Fake Clicks in Google Ads
Half of the Display campaign's conversions were not human. How I caught and cut fake clicks with GA4 minute-level forensics, a placement blacklist and session-age gated conversions.
I can do this for your account too
I consult on Google Ads, measurement setup and conversion-focused websites. Let's start with a short intro call.
Write for consultingWeekly Newsletter
New analyses, experiments and case notes, straight to your inbox.