Veterinary & Pet Services · project showcase · content architecture
Publishing price ranges for a veterinary practice without publishing a price list
Cost is the first question on almost every call to a veterinary practice and the one question the website answers nowhere. This build puts ranges and the variables behind them on the site, using the estimate template the practice already produces — without turning the page into a menu.
At a glance
The engagement in brief
Services
- Content
- Landing Pages
- Web Development
- Local SEO
- Booking Intake
Stack
- CMS
- practice management system estimate templates
- Google Business Profile
- call tracking
The situation
What we walked into
Practices resist publishing cost for a defensible reason: a price on a page invites a comparison that ignores everything the price includes. The consequence is that the conversation happens anyway, on the phone, with a receptionist improvising a range while a client who has already looked at three other sites decides whether to book. The practice is being shopped on price regardless. The only variable is whether it gets to frame the answer.
The front desk answered the same cost question dozens of times a week and the website answered it zero times.
What we found
The diagnosis
01
A range with its variables named is not a price list
The page's job is to make the drivers legible — weight, age, whether bloodwork is indicated, anaesthesia time, whether it is a routine or a complicated case — so the number has a shape around it. A bare figure invites comparison; a figure with its variables invites a conversation.
02
The content already exists inside the practice management system
Every practice produces written estimates. They are structured, itemised and accurate, and they are the best content the practice owns. The build turns the estimate template into a public page rather than writing new copy about cost from scratch.
03
Payment options belong on the same page, or the range reads as a barrier
A range published without wellness plans, instalment options or what is covered by common insurance is a page that tells a worried owner they cannot afford it. The two halves have to be adjacent, not on separate pages linked from a footer.
04
The phone and the page have to agree, and that is an operations job, not a content job
The moment a range is published, the front desk has to be able to explain the same range in the same terms. If the page and the person give different answers, the page has made the practice look careless about the one topic where clients are most anxious.
The number behind it
What this is built around
Veterinary has the **highest-converting, cheapest paid-search leads of all 23 industries (16.22% CVR, $31.50 CPL; WordStream 2026)** — yet **visits have fallen four straight years** and prices rose **~8%** (Vetsource 2025) as cost anxiety keeps pets home. Answering the cost question on the site is how you convert the high-intent search into a booked visit.
What we built
The system
One page per procedure category, each built from the practice's own estimate template. Each page states what the estimate includes, lists the variables that move it and by roughly how much, gives a range rather than a quote, and puts payment and plan options directly beneath. A short script matched to each page goes to the front desk before the page goes live, so the phone answer and the published answer are the same answer. Booking routes sit at the bottom of each page, split by urgency, and every page is linked from the relevant service listing and from the Google Business Profile services section.
The sequence
How it was delivered
Week 1
Estimate template review
Existing estimates gathered by category, variables identified and agreed
Owner: OmniFlow + practice
Weeks 2–4
Page build
One page per category, range and variables, payment options adjacent
Owner: OmniFlow
Week 4
Front-desk script
Matching script per page, delivered before publication
Owner: Practice + OmniFlow
Week 5
Publication and linking
Pages linked from service listings and the Google Business Profile services section
Owner: OmniFlow
Outcome
What shipped
This entry makes no performance claim. It documents a content architecture and the operational condition attached to it: the pages do not go live until the people answering the phone can say the same thing the page says. The build produces no new writing about cost at all. It takes a document the practice already generates for every client, works out which parts are safe and useful in public, and publishes those with the variables named. That is why it survives staff turnover — the source of truth stays where it always was.
Reporting
What you would actually see
These are the surfaces this engagement is run and measured from, shown with representative figures built around the benchmarks cited on this page. Every account we run reports into views like these, and you keep ownership of all of them.
These are demo dashboards. They show the reporting surfaces this engagement is run and measured from, with representative figures generated around the published benchmarks cited on this page — not a client account and not a client result. Live reporting for your own account replaces every number here.
Google Business Profile
Veterinary & Pet Services · all locations
Calls
138
+100.0%
Direction requests
223
+80.0%
Website clicks
430
+90.0%
Searches shown
5,066
+110.0%
Calls from the profile, by month
Dashed line marks the month the engagement started.
| How customers search | Searches | Share |
|---|---|---|
| Discovery — category, product or service | 3,785 | 74.7% |
| Direct — business name or address | 996 | 19.7% |
| Branded — related brand | 304 | 6.0% |
Google Analytics 4
Veterinary & Pet Services · all web data
Sessions
3,259
+77.9%
Key events
94
+97.4%
Session key event rate
2.9%
+0.8%
Engagement rate
53.0%
+3.2%
Sessions by month
Dashed line marks the month the engagement started.
| Session default channel group | Sessions | Key events | Rate |
|---|---|---|---|
| Organic Search | 1,349 | 43 | 3.2% |
| Paid Search | 796 | 31 | 3.9% |
| Direct | 499 | 14 | 2.8% |
| Referral | 349 | 9 | 2.6% |
| Organic Social | 265 | 10 | 3.8% |
CRM pipeline
Veterinary & Pet Services · inbound and outbound
Leads created
148
+88.2%
Qualified
66
+101.4%
Meetings booked
34
+105.8%
Answered on first attempt
71.4%
+14.5%
Leads created by month
Dashed line marks the month the engagement started.
| First-touch source | Leads | Qualified | Meetings |
|---|---|---|---|
| Google Ads — high intent | 46 | 20 | 9 |
| Organic search | 40 | 18 | 8 |
| Business Profile — call | 28 | 12 | 5 |
| LinkedIn outbound | 21 | 9 | 4 |
| Referral | 13 | 6 | 3 |
Honestly
What we would do differently
We published the first two category pages before the front-desk script was finished, and for about two weeks the page and the phone gave different ranges for the same procedure. Nobody complained, which is worse than if they had. The script now ships before the page, and publication is gated on it.
Next
Start the same conversation
Start the same conversation
Tell us what you are working on and we will say plainly whether this is the right shape of engagement for it.