How to Set Up Google Analytics 4 for Multiple Hotels

What’s the best way to set up Analytics tracking for a hotel group that has a page for each hotel?

I have 11 separate hotels that have a page each on the main hotel group website that I want to track the booking revenue individually without being lumped together under the main Analytics account for the site. I have also set up Google Ads campaigns for each hotel and want to link these to Analytics to track data.

I initially thought creating separate Analytics properties for each hotel and adding these to the individual hotel pages along with the Analytics tracking for the site as a whole, but then thought this will have limited tracking beyond the individual page? Or can I add all 12 property tracking codes to every page on the site.

Can someone please help me with the best way to approach this?

The short answer is:

What’s the best way to set up Google Analytics tracking for a hotel group that has a page for each hotel?

The best, most sustainable, and most modern approach is to use a single Google Analytics 4 (GA4) property across your entire main hotel group website.

You do not need or want 11 separate GA4 properties.

Your core strategy should be to send specific, enhanced data with your booking events to this single GA4 property, and then use the built-in segmentation tools and reporting features of GA4, combined with a data warehousing and visualization layer, to break out the individual hotel performance.

Specifically, you will use Google Tag Manager (GTM) to fire your main booking event (the purchase event) and include a custom parameter – like hotel_name or hotel_id – with the booking event value.

You will then link all 11 Google Ads accounts to this single GA4 property.

For advanced reporting that combines this segmented GA4 data with the 11 Google Ads accounts’ performance data, you will use the Google Analytics Data API and Google Ads API to pull everything into a central tool like Looker Studio.

The long answer is:

Your initial thought of creating 11 separate Analytics properties is understandable, as it mirrors the separate Google Ads accounts you’ve created, but it’s the wrong technical approach for GA4 and the modern web.

GA4 is designed to track a single user journey across an entire domain seamlessly, and having multiple properties on every page introduces complexity, inefficiency, and potential data fragmentation, especially for cross-page user behavior.

The limited tracking you’re worried about is exactly what happens when you use separate GA4 properties, as a user visiting the main page then the Hotel A page would be treated as two separate users or sessions, which breaks the attribution chain.

The better approach leverages GA4’s event-based model and custom dimensions.

First, maintain a single GA4 property for the entire hotel group website.

Link all 11 of your Google Ads accounts to this single GA4 property in the Admin section under Product Links > Google Ads Links.

This is a standard feature in GA4 that is designed to handle multiple ads accounts from one or more managers, and it’s a critical step for attributing ad spend to your group’s overall performance.

Second, your tracking implementation should be managed entirely through Google Tag Manager.

When a booking occurs – regardless of which hotel the user booked – your booking confirmation page or your server (if you are using a server-side setup) should fire a single, standardized GA4 purchase event.

This is where you solve your segmentation issue.

Along with the required event parameters for the purchase event, such as value and currency, you must include a custom event-scoped parameter, for example, a hotel_name or hotel_id parameter, containing the specific name or unique ID of the hotel that was booked.

You then register this hotel_name parameter as a Custom Dimension in GA4.

Once the data flows, you can use the Analysis section in GA4 or create a report in the main interface, using the hotel_name Custom Dimension to segment all your revenue, conversion, and user data by the individual hotel.

This gives you both the holistic group data and the granular hotel-specific data in one place.

Third, for a low-cost, high-value solution that aggregates the advertising cost data from 11 separate Google Ads accounts and the segmented revenue data from the single GA4 property, you should consider using a reporting tool like Looker Studio.

While the built-in GA4 reports will give you the segmented revenue, combining it with the cost from 11 different Google Ads accounts for a true Return On Ad Spend (ROAS) analysis requires a more flexible approach.

This is where the APIs come in.

You can use community connectors or native Looker Studio integrations to pull the GA4 data (including your custom hotel_name dimension) and the cost/performance data from all 11 Google Ads accounts.

Alternatively, for a highly scalable and powerful solution, you would use the Google Analytics Data API to extract the revenue and booking data, and the Google Ads API to extract the cost and click data.

Tools and services that facilitate server-side tracking, such as a GTM Server Container hosted on an affordable platform like Stape or your own Google Cloud Platform (GCP) instance, can be used to send your booking event data to GA4 more reliably, especially if you also rely on Square or other third-party payment/booking webhooks.

While using a server-side setup adds a layer of technical complexity and cost, it significantly improves data quality by having more reliable event delivery and is often excellent and cheap compared to buying a full enterprise data warehouse solution, making it the ideal long-term solution for a growing hotel group.

About The Author