The client

An independent hotel group with several properties in Spain, selling every day with no visibility over its hotel booking funnel. The case is anonymised at the client’s request.

Its website gets traffic, ranks well and sells every day. But the booking is not closed on the website: it is closed in an external booking engine hosted on a different domain. That detail, which looks like technical plumbing, was the reason the business could not see a single booking in its reports.

cronuts.digital came in as strategic partner for analytics and measurement. We had already worked on its visibility in search engines and AI engines: SEO and GEO audit for hotels.

The challenge

Analytics reported 0 conversions while bookings came in every single day. The end of the funnel, where the money is closed, was invisible.

Opening the account, we found four faults, and none of them was minor.

  • Zero conversions configured. The property was receiving sessions, but not a single conversion event had been defined: no booking, no call, no form submission.
  • The booking engine lived on another domain. Without cross-domain measurement, everything happening there was invisible: analytics lost the trail exactly when it started to matter.
  • Two analytics properties fighting each other. Measurement was duplicated and badly split. Neither property had the full picture and nobody knew which one to trust.
  • Cookie consent out of sync. The consent manager defaulted everything to denied and never passed the user’s real choice to analytics. People accepted, and the data was lost anyway.

In hospitality this hurts twice. If you cannot measure your direct channel, you cannot defend it against the OTAs: you pay commission without knowing what your own bookings really cost you.

How we did it

Measuring a booking funnel is not pasting an analytics snippet and moving on. It is connecting every link in the journey, including the part that happens outside your domain. We did it in four layers.

Layer 1. One single source of truth

Order first. We fixed the base setup so visits were measured in one property only, the right one, and switched off the duplicate. Without this, every later number is noise.

Layer 2. Intent events as conversions

We defined and marked as conversions the three actions that reveal booking intent: Book now clicks, phone clicks and form submissions. For the first time, analytics recorded that someone wanted to book.

Layer 3. Measuring the booking engine from the inside

This is where 80% of the value was. The booking closes on an external domain, so we deployed a dedicated tag container inside the engine itself and connected it cross-domain with the website.

With that, we moved from measuring intent only to measuring the full booking funnel, step by step, including the sale with its value.

If your engine is one of the usual suspects in the sector (Witbooking, Mirai, Paraty, Roiback, Neobookings), the question that opens this door is always the same: in the engine’s back office, what Google Tag Manager integration is available. Do not accept the black box without asking.

Here is the before and after, stage by stage.

Booking funnel stage Before After
Website visit Partial Measured in one property
Book now click Not measured Conversion event
Phone click Not measured Conversion event
Form submission Not measured Conversion event
Availability search Invisible Measured
Hotel selection Invisible Measured
Room list view Invisible Measured
Rate view Invisible Measured
Checkout start Invisible Measured
Booking completed Invisible Measured, with revenue

Layer 4. Measuring in line with GDPR

Finally, consent. We implemented Consent Mode v2 so measurement respects each user’s real decision: it measures those who accept and respects those who do not.

Fixing the sync recovered, overnight, the measurement the site had been losing for weeks. Compliance and data, without forcing anything.

Results

From 0 measured conversions to a booking funnel measured end to end.

Metric Before After
Conversions measured 0 Full funnel
Intent events per month 0 More than 3,000
Bookings measured per month 0 425
Engine stages measured 0 Search to payment
Revenue attributed No Yes, every booking with its value
GDPR compliant measurement Not configured Consent Mode v2

In the first wave, analytics went from 0 to more than 800 intent events a month. With the engine connected, the latest measured month closes at more than 3,000 intent events and 425 bookings attributed with their value. For the first time, the business can see where each booking comes from.

What is measurement and what is noise

An honest case separates what really improved from what only looks like it did.

  • Intent events are not completed bookings. A Book now click is intent, not a sale. The real booking is measured separately, inside the engine, with its value. Counting them together would inflate the result.
  • The drop in bounce rate was not the website’s merit. When measurement was fixed, metrics like bounce rate and session duration changed overnight. The experience did not improve: it was being measured wrong before. We do not sell it as a win, because it is not one.

What comes next: CAC and the fight for the direct channel

Measuring was the prerequisite, not the goal. With the funnel closed, the next step is to invest in campaigns and read the real acquisition cost of each direct booking.

That is the business question for any hotel: what it costs to bring a booking through your own channel, compared with the commission an OTA takes for the same room. With a measured funnel, that is answered with numbers. Without it, it is a debate of opinions.

That is the work for the coming months: campaigns optimised on real bookings with revenue, and a direct channel that can go toe to toe with the portals.

Five lessons on measuring a hotel booking funnel

  1. If the booking closes on another domain, without cross-domain you are not measuring the end. Booking engines, payment gateways, external checkouts: without cross-domain measurement you lose the trail exactly at the sale.
  2. An external engine can be measured from the inside. Do not settle for the black box. In most cases you can install your own measurement from its back office.
  3. Badly wired consent erases your data. You can have everything else right and still measure nothing if the cookie manager never passes consent to analytics.
  4. Tell intent from a real booking. Define what each one is before you look at the report, or you will make decisions on numbers that do not mean what you think.
  5. One single source of truth. One well configured property is worth more than three half done. If your measurement is duplicated, clean it up first.

Find out what your hotel is not measuring

You can be filling rooms every day and still not see a single booking in your reports. You can be paying for campaigns that optimise on data that does not exist. Fixing it is not magic, it is method.

Request a free digital audit. We review your booking funnel end to end and tell you, with data, what is slipping through. If you want to see how we work in the sector first, here is our approach to digital marketing for hotels and hospitality.

Frequently asked questions

What is a hotel booking funnel and why should it be measured?

The booking funnel is the journey a person takes from landing on the hotel website to confirming a booking: visit, availability search, room view, rates, checkout and payment. Measuring it tells you which channel brings guests, at which step people drop off and which campaigns pay off. Without measuring it, you decide blind.

Why does my analytics report 0 conversions if I have bookings?

Analytics reports 0 conversions when nobody has defined the conversion events, or when the booking closes on an external domain without cross-domain measurement. The bookings exist, but the tool cannot see them because nobody told it what to look for or where.

How do you measure a booking if the engine is on another domain?

You measure it by installing a tag container inside the booking engine itself and connecting it cross-domain with the hotel website. That records the full funnel, including the booking with its value, even though the payment happens outside your domain.

What is cross-domain measurement and why does it matter for a hotel?

Cross-domain measurement stitches two domains into a single user journey. It matters because without it, when someone moves from the hotel website to the booking engine, analytics counts two separate visits and loses the trail of the sale.

What is the difference between an intent event and a real booking?

An intent event is a signal that someone wants to book: a Book now click or a phone click. A real booking is the completed purchase, with its value. Mixing them inflates results and leads to the wrong decisions.

What is Consent Mode v2 and how does it affect measurement?

Consent Mode v2 aligns measurement with each user’s cookie decision. It matters because if consent is not passed correctly to analytics, data is flagged as denied and lost, even when the user accepted.

Does measuring the funnel help win direct bookings against the OTAs?

Yes. Only with a measured funnel can you calculate the acquisition cost of a direct booking and compare it with an OTA commission. Without that number you cannot decide how much to invest in your own channel or prove that it is more profitable.