Skip to main content

    Veterinary & Pet Services · project showcase · content architecture

    Project ShowcaseReal client work that shipped. No performance figures are published, because none have been verified and approved for release.

    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

    1. 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.

    2. 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.

    3. 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.

    4. 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.

    Publishing price ranges for a veterinary practice without publishing a price list — stackA stack of 8 connected layers, from "Practice estimate template" through to "Matching front-desk script", each feeding the one below it.Practice estimate templateProcedure category pageWhat the estimate includesVariables that move the rangeRange, not a quotePayment and plan optionsBooking route by urgencyMatching front-desk script

    The sequence

    How it was delivered

    1. Week 1

      Estimate template review

      Existing estimates gathered by category, variables identified and agreed

      Owner: OmniFlow + practice

    2. Weeks 2–4

      Page build

      One page per category, range and variables, payment options adjacent

      Owner: OmniFlow

    3. Week 4

      Front-desk script

      Matching script per page, delivered before publication

      Owner: Practice + OmniFlow

    4. 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

    Demo
    Business Profile performance
    Last 12 months

    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

    AprJunAugOctDecFeb

    Dashed line marks the month the engagement started.

    How customers searchSearchesShare
    Discovery — category, product or service3,78574.7%
    Direct — business name or address99619.7%
    Branded — related brand3046.0%

    Google Analytics 4

    Veterinary & Pet Services · all web data

    Demo
    Acquisition overview
    Last 12 months vs. preceding period

    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

    AprJunAugOctDecFeb

    Dashed line marks the month the engagement started.

    Session default channel groupSessionsKey eventsRate
    Organic Search1,349433.2%
    Paid Search796313.9%
    Direct499142.8%
    Referral34992.6%
    Organic Social265103.8%

    CRM pipeline

    Veterinary & Pet Services · inbound and outbound

    Demo
    Pipeline by source
    Last 12 months

    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

    AprJunAugOctDecFeb

    Dashed line marks the month the engagement started.

    First-touch sourceLeadsQualifiedMeetings
    Google Ads — high intent46209
    Organic search40188
    Business Profile — call28125
    LinkedIn outbound2194
    Referral1363

    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.

    We use your details only to respond to this request. No lists, no resale.