Most hotels are flying blind. They know how many people visited their website last month, but they do not know which marketing channel drove those visitors, whether those visitors actually tried to make a booking, or where in the reservation flow they dropped off. Google Analytics 4 fixes all of that — if it is set up correctly.
This guide walks through GA4 setup for hotels from scratch: creating your property, configuring the events that matter, connecting your booking engine, and building the reports that tell you whether your marketing is actually generating revenue.
If your hotel previously used Universal Analytics (UA), the switch to GA4 requires more than a simple update — it is an entirely different measurement model. UA tracked sessions and pageviews. GA4 tracks events.
In practice, this means that every interaction on your website — a button click, a form submission, a video play, a scroll depth milestone — can be captured as a distinct event with its own data attached. For hotels, this is transformative: instead of knowing that someone visited your “Rooms” page, you can know that they clicked the “Check Availability” button, entered dates, selected a room type, and then abandoned the booking at the payment stage.
→ Example: A boutique hotel in the Cotswolds using GA4 discovered that 68% of visitors who reached their booking engine abandoned at the rate selection screen. They adjusted their rate display and saw direct bookings increase by 22% the following month.
If you have not already created a GA4 property, here is how to do it:
This creates a data stream — the channel through which your website sends data to GA4. You will receive a Measurement ID (formatted as G-XXXXXXXXXX). Keep this handy; you will need it for the next step.
There are two ways to install GA4 on your hotel website: directly in the site code, or via Google Tag Manager (GTM). GTM is strongly recommended — it allows you to add and modify tracking without touching your website code every time. For GTM installation instructions, see the dedicated Google Tag Manager for Hotels guide.
If installing directly, add the following snippet to the
section of every page on your site, replacing G-XXXXXXXXXX with your Measurement ID:Verify installation using the GA4 DebugView (Admin → DebugView) or the Google Tag Assistant browser extension. You should see real-time events appearing within a few minutes of visiting your website.
GA4 automatically tracks some events out of the box (page views, scrolls, outbound clicks, site searches). But for hotels, you need to configure custom events that reflect the booking journey.
booking_engine_start: Fired when a visitor clicks “Check Availability”, “Book Now”, or any button that opens or redirects to your booking engine. This is your primary micro-conversion.
→ Example: A coastal hotel tracked booking_engine_start and found that homepage visitors converted to booking engine clicks at 8.3%, while visitors arriving from Google Ads converted at 14.1%. This justified increasing their Ads budget.
booking_engine_step: Fired at each stage of the booking flow — date selection, room selection, extras, guest details, payment. Each step should pass a parameter indicating which step was completed.
booking_complete: Fired when a booking is confirmed. This is your macro-conversion — the event that ties revenue to marketing spend. Pass parameters including booking value, room type, check-in date, and length of stay.
room_view: Fired when a visitor views a specific room type page. Helps identify which rooms attract the most interest vs. which rooms convert best.
rate_view: Fired when a visitor views available rates in the booking engine. Drop-off between rate_view and booking_complete identifies price sensitivity.
enquiry_submit: Fired when a contact or group enquiry form is submitted. For hotels with significant MICE or wedding revenue, this is a critical conversion event.
In GA4, any event can be marked as a conversion. Navigate to Admin → Events, find booking_complete (or whatever you have named your booking confirmation event), and toggle “Mark as conversion” to on. Do the same for enquiry_submit.
Once marked, conversions appear in your reports and can be used as the optimisation goal in Google Ads campaigns. This is essential for running smart bidding campaigns that maximise booking revenue rather than just clicks.
Linking GA4 to your Google Ads account allows you to import GA4 conversions into Ads, use GA4 audiences for remarketing, and see campaign performance alongside on-site behaviour in a single report.
Create a Funnel Exploration report (Explore → Funnel Exploration) with the following steps: 1) booking_engine_start, 2) booking_engine_step (date selection), 3) booking_engine_step (room selection), 4) booking_engine_step (payment), 5) booking_complete.
This report shows you exactly where guests abandon your booking process. A 40% drop between room selection and payment typically indicates a pricing or UX issue. A 70% drop at date selection suggests your availability or calendar UI is failing guests.
Use the Traffic Acquisition report (Reports → Acquisition → Traffic Acquisition) to see which channels drive the most booking_complete conversions. Filter by your date range and sort by Conversions. This tells you whether your SEO, paid ads, email, or direct traffic is generating the most bookings.
→ Example: A city-centre hotel found that organic search delivered 3x more bookings than paid social, but their budget allocation was the reverse. Shifting spend towards SEO over 12 months increased direct revenue by 35%.
The Lobby configures analytics for independent hotels — from tag installation to conversion reporting.