Solutions / Booking & Reservations

Your booking numbers, finally trustworthy.

Cost per booking, booking value, search-to-book rate, source attribution. Most booking sites track these wrong, often by forcing ecommerce tracking onto a reservation flow. We make all four accurate, across every booking engine and domain.

LIVE READOUT: what your GA4 should be reporting

MONITORING / RESERVATIONS

Cost per booking

now£38.40

was £14.20 · understated

accurate

Booking value accuracy

now99% matched

was +22% · inflated

accurate

Search → book rate

now6.1%

was not measured

accurate

Source attribution

now94% matched

was 38% · (not set)

accurate

What good data tells you

If your GA4 is set up correctly, these four answers are one report away.

  1. Q1

    How far ahead are customers actually making the booking?

    We track the booking window so you see how far ahead people book, which lets you plan inventory, pricing and campaign timing around real demand instead of assumptions.

    signal: booking_window · lead-time dimension · seasonality

  2. Q2

    Which channel or campaign brings the traffic that actually books?

    We reconcile your sources so each confirmed booking is attributed to the campaign that earned it, not direct or (not set), even when payment happens on a third-party engine.

    signal: source / medium · UTM hygiene · cross-domain

  3. Q3

    What is the drop-off percentage at each step of the booking funnel?

    Search, date selection, guest details and payment are each tracked, so you see exactly which step loses people instead of one opaque bookings number.

    signal: view_search · select_dates · add_payment_info · begin_checkout

  4. Q4

    Which service or activity has the best view-to-book ratio?

    Each room, service or activity is tracked as an item, so you know which ones convert views into bookings and which need better pricing or pages.

    signal: view_item · item_list · view-to-book ratio

The booking funnel

Search to confirmed, with the leaks most booking sites never see.

This is the path a guest takes from search to a confirmed booking. Under each step is what usually breaks, and what we make accurate.

  1. 01view_searchSearch
  2. 02select_datesSelect dates
  3. 03add_guest_detailsGuest details
  4. 04add_payment_infoPayment
  5. 05reservation_confirmedConfirmed
  • LEAK · multiple third-party booking engines break the journey
  • LEAK · cross-domain handoff splits the guest into two users
  • LEAK · booking value mismatch vs the booking engine
  1. 01

    view_search Search

    Leak Searches are not tracked, so you cannot tell a demand problem from a conversion problem.

    Fixed A real search event capturing dates, guests and intent.

  2. 02

    select_dates Select dates

    Leak Date and availability selection is invisible, so you miss where pricing or availability loses people.

    Fixed Date-selection events tied to the chosen service.

  3. 03

    add_guest_details Guest details

    Leak The journey often hops to a third-party booking engine here, breaking the session.

    Fixed Cross-domain so the guest stays one user across your site and the engine.

  4. 04

    add_payment_info Payment

    Leak Payment happens off-site, so bookings get attributed to the engine or to (not set).

    Fixed Server-side and cross-domain so the confirmed booking ties back to the original source.

  5. 05

    reservation_confirmed Confirmed

    Leak Booking value is forced through ecommerce tracking and comes back inflated or wrong.

    Fixed A correct reservation event with the real booking value, matched within 2-3% of the engine.

Tracking coverage — booking

Nine things we track so your booking funnel is fully accountable.

Standard GA4, and worse, retail ecommerce tracking, cannot see a reservation flow correctly. This is the coverage a booking site actually needs.

  1. 01

    Booking tracking

    Every confirmed booking recorded once, with the real value and source.

    → reservation_confirmed
  2. 02

    Cross-domain tracking

    One guest stays one guest across your site and any third-party booking engine.

    → view_search
  3. 03

    Comprehensive form tracking

    Which field in the guest-details form starts, stalls and loses people.

    → add_guest_details
  4. 04

    Cross-device tracking

    A search on mobile and a booking on desktop stays one journey, not two.

    → select_dates
  5. 05

    User navigation tracking

    The real paths guests take from search to confirmation.

    → view_search
  6. 06

    Outbound link tracking

    Hand-offs to external engines and listings counted, not lost.

    → add_payment_info
  7. 07

    Site search & filters

    What dates, services and filters guests search for, as a read on demand.

    → view_search
  8. 08

    Scroll-depth tracking

    How far down your room and activity pages people actually get.

    → view_item
  9. 09

    Video tracking

    Plays and completions on property and activity videos that drive bookings.

    → view_item

Why it matters

Bad booking data is not a reporting problem. It is a revenue problem.

Before

  • Bookings get attributed to the engine or direct, so you defund the campaigns that actually work.
  • Booking value is inflated by ecommerce tracking, so ROAS looks better than it is.
  • Funnel drop-off is invisible, so you cannot tell a pricing problem from a tracking one.
  • The team plans inventory and spend on numbers no one fully trusts.

After

  • Every confirmed booking ties back to the source that earned it, across all engines.
  • Booking value matches the engine within a few percent, so ROAS is real.
  • Each funnel step is measured, so you fix the exact point that loses guests.
  • Inventory, pricing and spend decisions rest on one booking number the team trusts.

Proof — Devonshire Hotels

Bookings were attributed to the wrong source. We rebuilt the tracking.

After: every booking attributed, value matched

  1. 01view_searchSearch
  2. 02select_datesSelect dates
  3. 03add_guest_detailsGuest details
  4. 04add_payment_infoPayment
  5. 05reservation_confirmedConfirmed

What we found. Devonshire Hotels had several technical issues across the site and its booking engine, so confirmed bookings were not tying back to the channel that earned them, and reported numbers could not be trusted for decisions.

What we did. We resolved the issues using JavaScript, HTML DOM manipulation and Google Tag Manager, captured the booking correctly across the engine, and set up cross-domain so the guest stayed one journey from search to confirmation.

The result. All bookings are now correctly attributed to their source, medium and campaign, with no more than a 2 to 3% discrepancy against the booking engine, so the team can plan and spend on real numbers.

  • removedbookings attributed to direct / (not set)
  • removedecommerce tracking forced onto the reservation flow
  • +rebuiltbooking captured across the engine with JS, DOM and GTM
  • +now accuratecross-domain keeps the guest one journey end to end
  • +now trustedbookings matched within 2-3% of the booking engine
5/5 on Trustpilot750+ analytics audits & fixes600+ GA4 + GTM builds

Senior analytics engineers only. Fixed-scope work, validated in GA4 DebugView before handover. No junior hand-offs.

Straight answers

Common booking questions.

Q1We use a third-party booking engine on another domain. Can you still track the full journey?

Yes. Cross-domain tracking is core to a booking build, so a search on your site and a confirmed booking on the engine stay one guest and one source, not two users.

Q2Should a booking site use standard ecommerce tracking?

Usually not as-is. Most booking sites are wrongly set up with retail ecommerce tracking, which distorts booking value and funnel steps. We model the reservation flow correctly instead of forcing a retail template onto it.

Q3Can you get the booking value to match what the engine reports?

Yes. We capture the real booking value and reconcile it, typically within a few percent of the engine, so revenue and ROAS are trustworthy.

Q4How long does a booking-tracking fix take?

Most booking fixes are scoped in 24 to 48 hours and delivered shortly after, depending on the engines and domains involved. A single contained issue may only need the $299 quick fix.

  1. 01view_searchSearch
  2. 02select_datesSelect dates
  3. 03add_guest_detailsGuest details
  4. 04add_payment_infoPayment
  5. 05reservation_confirmedConfirmed

● cost per booking · ● booking value · ● search → book · ● source attribution — all accurate

Next step

Let’s make your booking numbers trustworthy.

A short review of how your bookings are tracked now, what is inflated or misattributed, and exactly what it takes to fix it. No retainer to find out.

Most booking fixes scoped in 24–48h.