The Challenge
The owner could not figure out why a well-reviewed clinic still had gaps in the exam schedule. Nearby chains dominated the map pack, so the clinic rarely showed up when locals searched for an eye exam. The ads were not helping either, burning budget on broad searches like glasses without booking many actual exams.
A combined audit of the local presence and the ad account turned up the leaks:
- Both Google Business Profiles were under-optimized with wrong categories
- Citations were inconsistent across the two addresses
- No location-specific service pages for exams or eye care
- One catch-all ad campaign mixed exam, contact lens, and eyewear intent
- No negative keywords, so broad searches drained budget
- No call tracking to see which ads booked exams
The Solution
We optimized both Google Business Profiles, cleaned up citations per location, and built location and service pages so the clinic could compete locally, then rebuilt the ad account around real exam intent. The two halves work together in any strong local search program. Here is what went into it.
- Optimized Google Business Profiles per location
- Citation cleanup for both addresses
- Location and service pages for exams and eye care
- Local schema so search engines understood each location
- Ad account split by exam, lens, and eyewear intent
- A deep negative keyword list to cut wasted spend
- Exam-focused ad copy pointed at matching landing pages
- CallRail so every booked exam traced back to its source
Two locations, two strong local profiles
For a two-location clinic, the map pack is where exams are won or lost. Both profiles were under-optimized and their details clashed across the web, so we rebuilt each one to compete in its own neighborhood.
- Right categories: we fixed the profile categories and services so each location matched the exact searches patients use for eye exams.
- Clean citations per location: we aligned name, address, and phone across directories for both addresses, so Google trusted each as a distinct, real location.
- Location and service pages: dedicated pages for exams, contact lenses, and kids eye care gave each location relevant content to rank on.
- Into the top three: the map-pack ranking moved from around position nine to position three across both locations, right where local searchers actually click.
Stop paying for browsers, start booking exams
One catch-all campaign mixed people wanting an exam with people just pricing glasses, so the budget bled. We split the account by intent and pointed each ad group at a matching page, backed by proper Google Ads management.
- Split by intent: exam, contact lens, and eyewear searches each got their own campaign, so budget could favor the high-value exam bookings.
- Negative keywords: a deep negative list stopped the ads from paying for broad, low-intent searches that never booked anything.
- Exam-focused copy: ads written specifically around booking an eye exam spoke to what those searchers actually wanted.
- Matching landing pages: each ad group pointed at a page built for that intent instead of a generic homepage, which lifted conversions.
- Call tracking on everything: CallRail tied every booked exam back to its ad, so wasted spend dropped 47% and cost per booked exam fell 31%.
How We Did It
01. Combined audit
We audited both Google Business Profiles and the Google Ads account to find the local and paid leaks.
02. Optimize local
We optimized both profiles, cleaned up citations per location, and added local schema.
03. Build local pages
We built location and service pages for exams, contact lenses, and kids eye care.
04. Restructure ads
We split the ad account by intent, added negative keywords, and matched each ad group to its own landing page with CallRail.
05. Review and refine
We ran weekly search-term reviews to keep tightening negatives and shifting budget toward booked exams.
The Results
Both locations moved into the map pack for core exam searches while the ads stopped wasting spend on browsers and started booking exams. Combined, the clinic filled its calendar and lowered what it paid to acquire each new patient.
| Map-pack ranking | 9 to 3 |
| Booked eye exams | +58% |
| Cost per booked exam | -31% |
| Wasted ad spend | -47% |
| Build time | 2 to 4 Months |
Services & tools used: Google Business Profile, citation cleanup, local schema, Google Ads, CallRail, GA4, landing pages, and Semrush.
local seo“We were losing to the chains on Google even though our care is better. Now we show up first locally and the ads actually book exams.“
Owner, Independent Optometry clinic
Frequently Asked Questions
Losing exams to the chains?
We will show you exactly why the chains outrank you locally and where your ads waste budget, then how to fix both. Fill your exam chairs from local search.
Get your free auditNo obligation. A 15-minute call and a clear action plan.
Services in this project: SEO · Google Ads Management

