Skip to content

Case study

One ad account, real bookings, and a cost per patient

Fourteen clinics were bidding against each other and counting page views as bookings. We put the group on one ad account, tied conversions to the practice-management system, and rebuilt the pages and forms patients arrive on.

Named only with client approval Figures marked are illustrative Reply within one business day

Organic - last 90 days

Vancouver, BC

custom software development vancouver

3

+4

1

+2

2

new

5

+1

Impressions

13 weeks

+186%

Impressions

4.2

Average position

27

Page-one keywords

The engagement, in short

A privately held dental group with 14 clinics across British Columbia and Alberta was running separate ad accounts per clinic, bidding against itself in the same cities and counting booking-form page views as conversions.OlDevs consolidated the group into one ad account with location-level campaigns and a shared negative-keyword list, rebuilt analytics so a booking only counts when the practice-management system confirms it, and wrote structured service and location pages for the procedures patients search for. A programme of booking-form tests followed, with fewer fields, insurance questions moved after the appointment request, and a phone-first option on mobile. Cost per booked new patient fell 38% and organic bookings from service and location pages grew 2.4x.

Key facts

01Client
A privately held dental group with 14 clinics across British Columbia and Alberta
02Industry
Healthcare
03Services
Performance marketing, paid search and shopping, SEO and content, analytics and CRO
04Duration
9 months (ongoing)
05Platforms
One consolidated ad account, practice-management booking system, service and location pages
06Outcome
Cost per booked new patient down 38% across 14 clinics

The challenge

Fourteen clinics, fourteen versions of the truth

Each clinic ran its own advertising through whichever agency its practice manager had inherited, so the group was bidding against itself on the same keywords in the same cities and paying for the privilege. Booking forms were tracked as page views rather than confirmed bookings, which meant nobody in the group could say what a new patient actually cost. Organic traffic arrived almost entirely on the homepage, then left.

01

Clinics competing for the same clicks

Two clinics in the same city, run by two different agencies, bid on the same procedure keywords on the same days. The auction price rose, the group paid both bills, and no single person had visibility across the accounts to notice it was happening.

Paid search · Account structure

02

Page views counted as bookings

Conversion tracking fired when a patient reached the booking form, not when an appointment was confirmed. Reported cost per conversion looked reasonable while the real cost per booked new patient was unknown, so budget moved on numbers that measured intent, not outcome.

Measurement · Analytics

03

Organic traffic with nowhere to go

Search visibility concentrated on the homepage, which named no procedure and no city. Patients looking for a specific treatment near them found a generic page, could not confirm the clinic did what they needed, and returned to the results to try a competitor.

SEO · Content

04

Booking forms built for the practice

The form asked for insurance details before it asked when the patient wanted to come in. On a phone it ran to several screens, and drop-off concentrated exactly where the administrative questions started rather than at the appointment step.

CRO · Forms

What we built

One account, real conversions, then patient-first pages

We consolidated everything into one ad account with location-level campaigns and a shared negative-keyword list, so clinics stopped competing for the same clicks and budget could move to the places that returned patients. Analytics was rebuilt to record a booking only when the practice-management system confirmed one, giving the group a real cost per new patient by clinic and by service. We then wrote and structured service and location pages for the procedures patients actually search for, and ran a series of booking-form tests on top.

01

One consolidated ad account

Location-level campaigns under a single account, with a shared negative-keyword list, consistent naming and geographic targeting that keeps neighbouring clinics out of each other's auctions. Budget is now allocated by performance rather than by whichever agency asked first.

Paid search · Consolidation

02

Booking-confirmed conversion tracking

Conversion tracking that records a booking only when the practice-management system confirms an appointment, matched back to campaign, clinic and service. Cost per booked new patient became a figure the group could quote to its partners and defend.

Conversion tracking · Booking system

03

Service and location pages that answer

Written and structured pages for the procedures patients search for, in the cities the clinics serve, with clear scope, what to expect and a booking path on every page. Each page names the clinic, the service and the place plainly instead of leaving it to be inferred.

Content · Location pages

04

A running booking-form test programme

Sequential tests on the booking form: fewer fields, insurance questions moved after the appointment request, and a phone-first option on mobile for patients who would rather call. Each change was measured against confirmed bookings, not form starts.

CRO · Experimentation

Process

How the engagement ran.

  1. Month 1: Access and audit

    We collected access to every inherited ad account and analytics setup, then mapped what each clinic was spending, bidding on and counting as a conversion.

  2. Month 2: Rebuild measurement first

    Nothing moved until bookings were tracked properly. We wired confirmed appointments from the practice-management system back to campaign, clinic and service before touching budget.

  3. Months 2 to 3: Consolidate the account

    Campaigns were rebuilt at location level in one account with shared negatives, then migrated clinic by clinic so no location went dark during the change.

  4. Months 3 to 6: Build the pages

    Service and location pages were written and published in waves, prioritised by the procedures with real search demand and the clinics with the most capacity to fill.

  5. Months 4 to 9: Test, report, repeat

    Booking-form tests ran in sequence against confirmed bookings, with all 14 clinics reporting on one dashboard and a monthly review with the operations team.

Stack

What it was built with.

Paid search

One consolidated ad accountLocation-level campaignsShared negative-keyword listGeographic targeting by clinic

Measurement

Confirmed-booking conversion trackingBooking system as the source of truthCost per booked new patientCampaignclinic and service attribution

SEO and content

Service pagesLocation pagesProcedure-level search demand researchSearch performance reporting

CRO and testing

Booking-form testsFewer form fieldsPhone-first path on mobileResults read against confirmed bookings

Reporting

One dashboard across 14 clinicsClinic-level views for practice managersGroup view for operationsMonthly review cycle

−38%

Cost per booked new patient

2.4×

Organic bookings from service and location pages

14

Clinics reporting on one dashboard

Outcomes

What changed for the client.

01

A cost per patient that means something

Cost per booked new patient fell 38% once clinics stopped bidding against each other and budget followed confirmed appointments rather than form views. The figure now comes from the booking system, so the partners trust it.

02

Organic pages that book patients

Organic bookings from service and location pages grew 2.4x. Patients searching for a specific procedure in a specific city now land on a page about that procedure in that city, with a booking path in front of them.

03

One view across the group

All 14 clinics report on one dashboard, by clinic and by service. Practice managers see their own numbers, the operations team sees the group, and both are looking at the same definition of a booking.

04

Decisions the operations team can make alone

Budget shifts, page priorities and form changes are now argued from confirmed bookings rather than agency reporting. The group can add a clinic to the structure without rebuilding measurement from scratch.

In their words

The client on the result.

For the first time I can tell the partners what a new patient costs in Kelowna versus Calgary, and the number is real because it comes from the booking system.
AP

Chief Operating Officer, multi-location dental group

Healthcare

FAQ

Questions about work like this.

Usually not. Separate accounts in overlapping cities means clinics bid against each other and raise their own auction prices, while nobody can compare performance across locations. One account with location-level campaigns and shared negative keywords keeps clinics apart in the auction and lets budget move to where patients are actually booking.

By treating the practice-management system as the source of truth. We record a conversion only when an appointment is confirmed there, matched back to the campaign, clinic and service that produced it. It takes longer to set up than a page-view goal and it is the difference between a cost per click and a cost per patient.

The conversion signal carries an appointment confirmation and the campaign, clinic and service behind it, not treatment details or patient records. We agree what may be sent with your privacy and compliance people before anything goes live, and we keep that decision documented in one place rather than spread across scripts nobody owns.

Measurement changes show within weeks because you are finally counting the right event. Consolidation effects follow as campaigns exit the learning period, and content compounds over months. This engagement ran nine months and continues, with the first meaningful reporting shift inside the first two.

Yes. Clients own all code, designs, accounts and IP, including the consolidated ad account, tracking setup, dashboards and every page written during the engagement. If you move the work in house or elsewhere later, nothing needs rebuilding. Request a quote and we will reply within one business day.

Still have a question? Ask us when you request a quote

Let’s connect

Have a problem like this one?

Tell us what is not working. We’ll reply within one business day with how we would approach it and a tailored quote.

We’ll only use your details to prepare your quote. No lists, no spam.

Call us Request a quote