Most holiday park operators have GA4 installed. Far fewer are using it well. If your analytics setup is still producing the same sessions-and-bounce-rate report it was in 2019, you're flying blind on some of the most consequential decisions in your business: which traffic sources are driving real bookings, where your direct enquiry funnel is leaking, and whether your OTA dependency is actually costing you more than it saves. This post covers what GA4 for holiday parks should look like in practice, how to read Search Console alongside it, and where benchmark data from our own client base flags the gaps most operators don't know exist.
Why GA4 Still Isn't Set Up Properly at Most Parks
GA4 launched as the default Google Analytics property in July 2023, replacing Universal Analytics. Eighteen months on, the majority of leisure property sites we audit have migrated technically but not strategically. The tag fires, sessions are recorded, and that's roughly where the useful work stops.
The two biggest gaps we see: first, no conversion events configured beyond a generic contact form submission. Second, no cross-domain tracking between the main website and the booking engine, which means the funnel breaks the moment a visitor clicks "book now". If you're running CampManager or RMS Cloud as your reservation system on a subdomain, and you haven't set up linked domains in GA4's data stream settings, you are counting every booking-engine visitor as a new session. Your drop-off data is fiction.
Fixing this isn't complex. But it does require knowing it's broken in the first place.
The Events That Actually Matter for Park Operators
GA4 is event-based, which gives you much more granularity than the old pageview model, provided you configure the right events. For a holiday park, the minimum viable event set looks something like this:
- availability_search: fired when a visitor submits a date search in your booking widget
- unit_view: fired when a visitor opens a specific pitch, lodge, or pod listing
- booking_initiated: fired at the start of the checkout flow
- booking_complete: the purchase event, ideally passing revenue value and unit type
- ownership_enquiry_submit: if you sell holiday home ownership, this is a separate funnel entirely and should be tracked separately
Without those events, you can see that people are leaving. You can't see where, or why.

Reading Search Console Alongside GA4: The Combination Most Teams Skip
GA4 tells you what visitors do on your site. Search Console tells you what they were searching for before they arrived, and whether your pages are actually appearing for the queries that matter. Used together, they answer the question most park operators are really asking: why isn't my organic traffic converting?
A pattern we see repeatedly across the Toro client base: a park site ranks on page one for its own brand name and for one or two generic caravan park queries, but has zero visibility for the mid-funnel searches that actually drive intent, things like "family lodge with hot tub Northumberland" or "glamping near York dog friendly". These are lower volume individually but much higher converting. A visitor who's searched that specifically already knows what they want.
The Click-Through Rate Benchmark Problem
Search Console's performance report will show you impressions, clicks, and average position. The number that operators tend to ignore is click-through rate (CTR). Industry benchmarks put average organic CTR at around 2.5% to 3% for position 3 to 5 results, but leisure property pages with well-written title tags and compelling meta descriptions routinely hit 6% to 8% for the same positions. That gap is almost entirely down to copy quality, and it's free conversion rate improvement.
If your Search Console is showing average position 4.2 for "glamping Cotswolds" with a 1.1% CTR, you're not a search problem. You're a metadata problem. And that's a straightforward fix via ContentOS, without touching a line of code.
OTA Dependency: What the Numbers Look Like and Why They Concern Us
OTA referral data sits inside GA4's acquisition reports, but most operators don't segment it cleanly. Booking.com, Airbnb, Hoseasons, Pitchup, and Coolstays all appear as referral traffic, often mixed in with other referral sources unless you've applied channel groupings. Once you separate them out, the picture can be uncomfortable.
Across leisure property clients we onboarded in 2024, OTA referral accounted for between 18% and 47% of total bookings depending on the operator. The parks at the higher end of that range were paying commission rates of 15% to 22% on those bookings. At £800 average booking value, that's £120 to £176 per booking leaving the business. The parks at the lower end had invested consistently in direct booking content and email re-engagement over three to four years.
OTAs aren't the enemy. They fill beds in low-demand periods and provide genuine discovery for new customers. The problem is when OTA dependency becomes structural, when you're effectively paying a recurring tax on customers who would have booked direct if you'd given them a reason to.
How to Use GA4 to Model Your OTA Cost
Pull the referral source report, filter to OTA domains, and look at revenue attributed. Then apply your average commission rate to that figure. Do this quarterly. If the number is growing as a percentage of total revenue, you're moving in the wrong direction. If it's stable or declining, your direct booking activity is working.
This sounds obvious. In practice, fewer than a third of the operators we audit have ever done this calculation, because GA4's out-of-the-box reports don't surface it directly. You need a custom exploration or a Looker Studio layer on top.

Booking Funnel Drop-Off: Where Parks Typically Lose the Booking
Across the properties we've analysed, the worst conversion rates sit at two specific points: the step between availability results and unit selection, and the step between unit selection and payment. Both are solvable.
The first drop-off is usually a product problem: the availability results page shows dates and prices but doesn't give enough reassurance at the moment of decision. No reviews, no photos in context, no urgency signal. Visitors who are genuinely interested go away to check TripAdvisor or Google reviews, and a meaningful percentage don't come back.
The second drop-off is almost always a friction problem: too many form fields, a payment flow that looks different to the main site, lack of trust signals at checkout. Both of these show up clearly once you have the right GA4 events in place and can run a funnel visualisation in the explore section.
Benchmark Conversion Rates for Direct Booking Funnels
To give you a sense of what good looks like: across Toro client sites with properly configured GA4 funnels, we see availability-search-to-booking-complete conversion rates ranging from 1.8% to 4.3%. Parks on the lower end are typically those with older booking engines or poor mobile optimisation. The top performers have mobile-first designs, visible reviews at the point of selection, and streamlined checkout flows. A move from 1.8% to 3.1% on 5,000 monthly availability searches represents roughly 65 additional bookings per month at no extra acquisition cost.
Holiday park CRO isn't about radical redesigns. It's about removing friction at specific, identifiable points in the funnel.
The Ownership Enquiry Funnel: A Different Animal Entirely
If you sell holiday home ownership at your park, your analytics setup needs to treat that funnel completely separately from your holiday booking funnel. The two audiences are different, the journey is longer, and the conversion timescales are measured in weeks rather than minutes.
Ownership buyers typically visit a park's website four to seven times before making an enquiry, according to session data from three ownership-selling parks in our client base. They read the ownership pages, look at finance options, check the running costs page if you have one, and often come back via branded search after seeing a show home or attending an event. If your GA4 isn't set up with a separate ownership enquiry conversion event and you're not using path exploration to see how these visitors move through the site, you have almost no visibility into what's working.
One specific thing worth checking: if your ownership enquiry form sits on a different page or subdomain from your main site, make sure cross-domain tracking covers it. We've seen parks where ownership enquiry data simply wasn't being collected at all, because the form was on a CRM-hosted subdomain excluded from GA4 tracking.
What InsightOS Does That Manual Reporting Can't
Manual GA4 analysis takes time, and the problem with time-intensive reporting is that it happens infrequently. Most operators we speak to are looking at analytics once a month, sometimes less. By the time a trend is visible in a monthly report, it's already cost you several weeks of sub-optimal performance.
InsightOS is Toro's sector-specific analytics briefing service, built around the metrics that actually move bookings and ownership enquiries rather than vanity traffic numbers. It runs weekly, surfaces anomalies in GA4 and Search Console data automatically, and benchmarks your numbers against the Toro leisure property dataset so you know whether a 12% drop in organic sessions is a you problem or a market-wide pattern. You can see how it works on the InsightOS service page.
The benchmark element is the part that generic analytics tools genuinely can't replicate. Plausible or a standard Looker Studio dashboard will show you your numbers. They can't tell you that a 2.1% availability-to-booking conversion rate is 40% below what comparable parks are achieving, or that your Search Console CTR for accommodation queries is half the sector median. That context is only possible if you're sitting on data from across the sector, which is exactly what Toro's position across Campercation, TrustedVillas, and our Build and Grow client base provides.
Getting Your Analytics Actually Working: Three Practical First Steps
If you're reading this and realising your GA4 setup has gaps, here's where to start.
First: audit your cross-domain tracking. Go into GA4's Admin section, open your data stream, and check whether your booking engine domain is listed under "Configure tag settings" and "List unwanted referrals". If it's not, every booking-engine visitor is being counted as a new session from a referral source, and your funnel data is broken.
Second: set up at minimum a booking_complete event with a revenue parameter. Even if you can't immediately instrument the full funnel, knowing total direct booking revenue attributed by channel is the single most useful number in your GA4 account.
Third: open Search Console's performance report, filter by queries containing your county or region name plus accommodation terms, and sort by impressions. Look for queries where you have more than 500 impressions per month and a CTR below 2%. Those are your quick wins. Better title tags and meta descriptions for those pages, written to match search intent rather than your own internal naming conventions, will move the needle within four to six weeks.
None of this requires a developer. It requires knowing what to look for, and having sector benchmark data to tell you whether your numbers are good or not. That's the gap we built InsightOS to close. If you want to see what a properly configured analytics briefing looks like for a leisure property operator, request the InsightOS sample briefing and we'll show you a redacted example from a comparable park.



