Free setupLive in 7 days30 leads in 30 days or your money back
Home  /  Industries  /  Veterinary  /  Booking systems
Veterinary · booking systems

Your booking button is where the conversion data disappears.

Most tracking advice assumes the booking finishes on your website. In Australian veterinary it usually does not, and that single fact decides whether your best action is countable. So we stopped assuming and read the code the booking platforms actually serve.

The problem

In this vertical, book online is usually not a conversion you can count.

The booking normally runs inside a frame served from the booking company's domain, or on a portal at a different address entirely. Your conversion tag does not run in either place, and the browser will not let your page read what happens inside a frame it does not own.

So the most valuable thing a clinic can get from an ad, a booked appointment, is frequently the one thing the Google Ads account cannot see. Accounts end up optimising against calls and form fills while bookings go uncounted, and the campaigns that drive bookings look worse than the campaigns that drive phone enquiries.

We checked this rather than repeating it. What follows comes from fetching the live widget scripts and portal pages in September 2026 and reading them. Any developer can repeat the same checks in about ten minutes.

What we found in the code

Whether a booking can be tracked, platform by platform.

Same question asked of each: where does the booking actually render, and can a conversion tag reach it?

PlatformHow it rendersDomainCan it fire a booking conversion?
VetstoriaIframe with postMessageap-booking.vetstoria.comNot directly, but it already captures the click ID
PawsApp, redirect modeFull page redirectpawsapp.com.auPartly, a GA4 linker is applied on this path
PawsApp, iframe modeIframepawsapp.com.auNo, the linker is not applied on this path
PawsApp, white labelFirst party appYour own subdomainYes, tag it like any other page
ezyVet EzyBookingOutbound link to a portalyourclinic.ezyvet.comNo, the page carries no analytics at all

Verified September 2026 by fetching each platform's live scripts. The two Vetstoria loader scripts contain seventy references to iframes and not one gtag, dataLayer or fbq call. The ezyVet portal returns a full working page with no analytics of any kind on it.

Vetstoria is already capturing your Google click ID
Its floating button script reads eight parameters from the landing URL, including gclid and gad_source, stamps them with a unique impression ID and a timestamp, and writes the lot into a first party cookie called vs_campaign_tracking that lasts thirty days. That is the hard half of offline conversion import, already built, already sitting on your own domain. The open question is whether that identifier is exposed in booking exports or reporting. That is a question for your account manager, and it is the one worth asking this week. Note also that Vetstoria is now part of PetDesk and is being rebranded, so the name on the contract may change.
The systems

Which practice system you run decides how hard this gets.

ezyVet is owned by IDEXX, which bought it in 2021, and it publishes a developer API using OAuth. Read only access to your own clinic's data carries no monthly fee, which surprises people who assume the data is locked behind a paywall. The cost is process rather than money: access is approved by IDEXX, and writing data back attracts a per hospital charge.

RxWorks and VisionVPM are owned by Covetrus and are often written off as legacy. They are not. Both are actively sold and supported in Australia with staffed phone support. They are on premise rather than cloud, which means the clinic physically holds its own database, though the schema is proprietary. Their published integration route runs through Covetrus Connect, whose own partner process quotes six to eight weeks just to make first contact.

OpenVPMS is the outlier and the best case. It is Australian, open source, member owned, and runs on a self hosted MySQL database. A scheduled query joining yesterday's appointments to a stored click identifier needs no vendor approval, no partner agreement, no per hospital fee and no rate limit. Nothing else in the market is close, which is the opposite of what people expect from open source clinical software.

Provet Cloud publishes the most open API of the commercial cloud systems, including documented webhooks, and opens access to customers rather than only to approved vendors. Worth noting that it has nothing to do with Provet the Australian distributor, which is a separate company owned by Covetrus. The shared name causes real confusion in this market.

Our own measurement

Roughly a quarter of independent clinics still have no online booking at all.

No published survey of online booking adoption among Australian clinics exists, so we ran our own scan. We took a national directory that skews independent rather than corporate, fetched each clinic homepage and matched booking platform signatures.

Vetstoria
25 of 81
The clear leader among independents
No booking signal at all
19 of 81
Phone only
PawsApp
11 of 81
Barely written about anywhere
ezyVet portal
7 of 81
The least trackable option

Source: Our own scan of 81 independent Australian veterinary clinic websites, September 2026, homepage detection only. A convenience sample rather than a survey, drawn from a directory that under represents corporate groups, and we would rather label it honestly than dress it up as national data.

The fix

Getting an attended appointment back into Google Ads.

None of this requires changing your practice system. It requires knowing which one you have.

  1. 01

    Find out how your own booking renders

    Right click the booking button on your site and inspect it. If it opens a frame served from another domain, your conversion tag is not firing inside it, whatever your reporting says.

  2. 02

    Capture the click identifier when the visitor lands

    If you run Vetstoria this already exists in the vs_campaign_tracking cookie. If not, store gclid on your own domain on arrival. This step is cheap and it is the one everybody skips.

  3. 03

    Join it to the appointment record

    Here the practice system decides the effort. A direct database query on OpenVPMS, an approved read only API call on ezyVet, a partner process on the Covetrus systems.

  4. 04

    Filter to attended, not booked

    A booking nobody turns up to is not a conversion, and uploading it teaches Google to buy more people who do not turn up. This is the step that separates a useful feed from an actively harmful one.

  5. 05

    Upload inside the ninety day window

    Google retains click data for ninety days. A nightly or weekly upload is comfortable. A quarterly one silently drops your oldest and often your best conversions.

Your competitor may be a corporate wearing a local name
Corporate ownership in Australian veterinary practice sits somewhere around 15 to 20 per cent on the two credible figures available, both from parliamentary submissions in 2023, and nobody measures it properly. What makes it a marketing problem rather than a trivia point is that the corporates are deliberately invisible: one group states plainly that its clinics retain their branding, identity and team structure. One national group operates nine separate consumer facing emergency and referral brands. So before pricing a market, cross reference every local competitor against the major networks, because several of the independent looking clinics down the road are not independent.
Straight answers

Questions clinic owners actually ask

Can Google Ads track an online veterinary booking?
Usually not by default, and the reason is architectural rather than a settings mistake. Most Australian clinic booking widgets render inside an iframe served from the booking company's domain, or send the client to a separate portal. A conversion tag on your own page cannot run inside that frame and cannot read what happens in it, because browsers block cross domain access. The workable route is offline conversion import: capture the Google click ID when the visitor lands on your site, join it to the appointment in your practice system, and upload attended appointments back to Google Ads.
Does Vetstoria pass data back to Google Ads?
Vetstoria captures the data but does not send it to Google Ads for you. Its floating button script reads gclid and gad_source from the landing URL, along with six UTM parameters, and stores them with a unique impression ID in a first party cookie called vs_campaign_tracking that persists for thirty days. Verified by reading the live script in September 2026. What is not publicly documented is whether that identifier appears in booking exports or reporting, which is the question to put to your Vetstoria or PetDesk account manager, because if it does then offline conversion import becomes straightforward.
Why do my Google Ads show almost no booking conversions?
The most common cause in veterinary is that the booking completes somewhere your tag cannot reach. If you use the ezyVet client portal, the booking page carries no analytics at all, so nothing is recorded anywhere. If you use PawsApp in iframe mode, the cross domain linker that preserves attribution is applied on its redirect path but not on its iframe path. In both cases the ads are producing bookings and the account simply cannot see them, which usually leads to the wrong campaigns being paused.
Which veterinary practice system is easiest to measure?
OpenVPMS, by a distance, because it is open source and runs on a MySQL database the clinic hosts itself. Data can be queried directly with no vendor approval, no partner agreement and no per hospital fee. ezyVet is next: it publishes an OAuth developer API and read only access to your own data carries no monthly fee, though it needs IDEXX approval. The Covetrus systems, RxWorks and VisionVPM, are the hardest, since their partner programme quotes six to eight weeks just for first contact. This is not advice to change systems, which should be decided on clinical workflow and support. It is a guide to what is achievable on what you already run.
Can a vet clinic put online booking on its Google Business Profile?
Yes. Vetstoria lists Google My Business, now called Google Business Profile, among its integrations alongside Google Analytics, so a booking can be made directly from your listing rather than from a click through to your site. Worth thinking about what that does to measurement, because a booking made on your listing never touches your website at all. For routine work like vaccinations and checkups the reduced friction is usually worth the lost visibility.
Why does veterinary offline conversion tracking barely exist in Australia?
Because nobody has built it, as far as we can establish. We looked for Australian agencies doing Google Ads offline conversion work against veterinary practice systems and found none. The Australian agency working most closely with the main practice system does portals, booking and recalls with no Google Ads conversion work, and the vendor documentation covers Google Analytics rather than Google Ads offline import. The capability exists in the systems, and in Vetstoria's case the click ID is already being captured. The work simply has not been done in this market.
How do I tell whether a competing clinic is corporate owned?
By checking the networks rather than the branding, because the branding is designed not to tell you. Australian corporate groups explicitly retain the local clinic name, identity and team structure after acquisition, and one national group runs nine separate consumer facing emergency and referral brands. Cross reference local competitors against the major groups before assuming you are competing with independents. It changes what you are up against on budget, and it changes whether a price led positioning is survivable.
Related

Booking systems in other clinics

A campaign partnership built for clinics

Ads that earn their place in your P&L.

A senior team that lives inside your account. Conversion infrastructure wired in before any ad goes live. Reporting that ties spend to booked appointments, not impressions.

Dedicated account manager

A senior specialist who runs clinic accounts day to day.

Clinic-only specialists

Every keyword, headline and account structure built inside real Australian clinic accounts.

Award-winning team

Winner, Best Google Ads Campaign, Australia 2025. Google Partner. AFR Fast 100.

When you're ready
We will be too.
Start a conversation →How we work