Paid media ops

Burning 40% of ad spend on junk clicks stops after night one

Nightly search-term review, negative keyword additions, bid adjustments, creative rotation, and a weekly report that ties every pound to an actual patient booking.

Client
UK private clinic group
Build time
6 weeks to production
Headline outcome
PPC ops without a media manager
The problem

A private clinic running £20k/month on Google Ads typically wastes 30-45% on junk queries (job searches, NHS-related terms, competitor staff looking at jobs, unrelated medical queries). The in-house marketer checks search terms weekly if ever, negatives lag by weeks, and attribution stops at 'clicks' because call tracking isn't wired to the CRM.

The system

A nightly review job: every search term across every ad group is classified by intent, irrelevant queries are auto-added as negatives, bid modifiers adjust by time/device/location based on historic conversion patterns, and losing creatives are paused. Call tracking data is reconciled with the CRM so the weekly report shows spend → booking, not spend → click.

How it runs

The workflow, end to end.

01

Search term classification

Every new search term is classified overnight: patient intent, commercial, job-seeker, informational, irrelevant. Irrelevant and job-seeker terms auto-convert to negatives.

02

Bid + schedule tuning

Bid modifiers recompute weekly from conversion data: higher during clinic opening hours, by device, by radius. Low-performing zip code modifiers drop automatically.

03

Creative rotation

Losing creatives (sub-benchmark CTR after 1k impressions) pause. Winning creative patterns feed variants into a generation queue for human review.

04

Booking attribution

CallRail + website conversions merge with the CRM's booking table. Each booking gets a source, campaign, and ad group tag retrospectively.

05

Weekly plain-English report

A report the clinic owner can read in 2 minutes: spend, bookings, cost per booked patient, biggest waste cut, what changed.

Outcomes

What it moves.

~35%
Wasted spend recovered
-42%
Cost per patient booking
-15
Marketer hours / week
60+
Ad groups managed
Stack

What it's built on.

  • Google Ads API
  • CallRail / call tracking
  • GA4
  • Claude (creative + reporting)
  • Postgres + Python
HealthcarePaid adsAttribution

Running £10k+/month on Google Ads? Let's look at your search terms report.

20 minutes. No slides. One process, one prototype.

Book a 20-min intro