Google Analytics 4

IRMng supports Google Analytics and other tracking technologies through Google Tag Manager, which allows customers to configure which tracking tags to include on their pages. It includes support for Google Analytics 4 (as of version 5.3.002.10), Universal Analytics, Google Adwords conversion tracking, DoubleClick Floodlight tracking and a variety of non-google measurement and marketing tags. See google.com/tagmanager for more information on Google Tag Manager. In order to support Google Tag Manager, IRMng has implemented the google data layer, which enables configured tags to be populated with information such as reservation number, revenue, room number, etc. The data layer will only be available if IRMng is configured with a Google Tag Manager code snippet.

How to configure IRMng to use Google Tag Manager

  1. Customers will need to sign up for a Google Tag Manager account and configure which tags should be included in the IRM pages. tagmanager.google.com
  2. Configure IRM to use the Google Tag Manager tracking tags. On the RDPWin -> IRM/Configuration -> Analytics tab, check the 'Use Google Tag Manager' checkbox and copy/paste the Google Tag Manager code snippet. The GTM code snippet is located on the Admin tab of the customer's Google Tag Manager account. Select the container to be used for IRM and choose 'Install Google Tag Manager'. The code from the first text box is the Google Tag Manager snippet to be pasted into the IRM configuration. (The code in the second text box is not applicable to IRMng as it is only relevant if Javascript is not enabled, which IRMng requires.)

Google Tag Manager Configuration Information

RDP will assist with the configuration of Google Analytics 4 tags in Google Tag Manager. Configuration of other tracking tags is the responsibility of the customer. GTM includes templates for supporting many additional tracking tags, including Adwords, DoubleClick Floodlight and more. A list of Google Tag Manager supported tags can be found at: GTM Tags. Note that RDP may not be able to accommodate every tag on the list. Tags not on the template list can often be supported through the use of a custom tag. Please refer to the Data Layer implementation information below for details on what data is available for populating tracking tags. IRMng supports a data layer for Google Analytics 4 as described below, as well as additional data layer information in support of Universal Analytics as described here.

As of July 1, 2023 current Google Analytics website tracking implemented with Universal Analytics will cease collecting data. Google has replaced Universal Analytics with Google Analytics 4 (GA4). Until July 2023, websites can be tracked with both Universal Analytics and GA4 simultaneously. It is recommended that GA4 tracking be put in place well ahead of the deadline, so that any issues can be overcome and the new reporting compared and understood.

How to Create GA4 Property

The following are the steps for a customer that already has a google analytics account tracking via Universal Analytics and is converting to Google Analytics 4. These are Google's setup instructions for a customer new to GA. Because Google Tag Manager is in use, the setup wizard cannot reuse existing tags and the GA4 tags will need to be added manually.

  1. In Google Analytics click Admin
  2. In the Account column, make sure that your desired account is selected
  3. In the Property column, select the Universal Analytics property that currently collects data for your website
  4. In the Property column, click GA4 Setup Assistant.
  5. Click Get started under I want to create a new Google Analytics 4 property
  6. Click Create Property
  7. In Google Tag Manager create a container for GA4, give it a name and choose Web for the container type
  8. Add GA4 Configuration Tag (equivalent to UA Page View)
    • Type: Google Analytics: GA4 Configuration
    • Title: GA4 Configuration
    • MeasurementID: obtain from Google Analytics GA4 Property: Admin / Data Streams / click on the GA4 property name
    • Trigger: All Pages | Page View
  9. Add GA4 Data Layer Variables for Purchase Event
    1. transaction_id
      • Title: dlga4 - transaction_id
      • Data Layer Name: ecommerce.transaction_id
    2. affiliation
      • Title: dlga4 - affiliation
      • Data Layer Name: ecommerce.affiliation
    3. value
      • Title: dlga4 - value
      • Data Layer Name: ecommerce.value
    4. tax
      • Title: dlga4 - tax
      • Data Layer Name: ecommerce.tax
    5. coupon
      • Title: dlga4 - coupon
      • Data Layer Name: ecommerce.coupon
    6. items
      • Title: dlga4 - items
      • Data Layer Name: ecommerce.items
  10. Add GA4 Purchase Trigger
    1. Purchase Event
      • Type: Custom Event
      • Title: GA4 Purchase
      • Event Name: purchase
  11. Add GA4 Purchase Tag (equivalent to UA Transaction)
    • Type: Google Analytics: GA4 Event
    • Title: GA4 Purchase
    • Config Tag: GA4 Configuration (created above)
    • Event Name: purchase
    • Trigger: GA4 Purchase
    • Event Parameters (all but currency populated via data layer variables created above):
      • transaction_id : {{dlga4 - transaction_id}}
      • affiliation : {{dlga4 - affiliation}}
      • currency : USD (this is required or value data will all log as $0)
      • value : {{dlga4 - value}}
      • tax : {{dlga4 - tax}}
      • coupon : {{dlga4 - coupon}}
      • items : {{dlga4 - items}}

IRMng's Google Analytics 4 Data Layer

Cookie Consent

Google Analytics and many other tracking technologies use cookies. IRMng optionally can be configured to require the user to give consent in order to use marketing and/or analytics cookies. This is configured from CMSng / Configuration / IRM. In order for the IRMng consent settings to be effective, Google Tag Manager tag consent settings must also be configured. IRMng supports the 'ad_storage' and 'analytics_storage' consent settings.

Available Rooms List Data Layer

view_item_list Trigger Event

IRMng will add the GA4 even 'view_item_list' when the 'Check Availability' button is clicked, which can be used in Google Tag Manager to fire tracking tags relevant to this stage in the booking process. The following information describing the available rooms list returned will also be added to the data layer:

Variable Name Description
item_list_name 'arrival date' to 'departure date' 'x' people
items List of available rooms returned, detail for each room includes:
   item_id room number if rooms list is by unit, otherwise room type
   item_name the descriptive label for the room/room type
   item_category if item_id is a room number, this will be the room type, otherwise it's blank
   affiliation property name
   coupon promo code, if applicable
   currency 'USD'
   index the index for this entry in the available rooms list
   price if the rate information is available, average nightly rate
   quantity stay length
view_item Trigger Event

IRMng will add the GA4 event 'view_item' when the various detail tabs (rates, photos, calendar, map, details) for a room in the availability list are clicked. The following information describing the room being viewed will also be added to the data layer:

Variable Name Description
items Detail for the room being viewed including:
   item_variant name of the tab being viewed
   item_id room number if rooms list is by unit, otherwise room type
   item_name the descriptive label for the room/room type
   item_category if item_id is a room number, this will be the room type, otherwise it's blank
   item_list_name 'arrival date' to 'departure date' 'x' people
   affiliation property name
   coupon promo code, if applicable
   currency 'USD'
   price if the rate information is available, average nightly rate
   quantity stay length

Guest Information Entry Data Layer

add_to_cart and begin_checkout Trigger Event

IRMng will add the GA4 events 'add_to_cart' and 'begin_checkout' when the guest has clicked the 'Reserve' button that displays the form for entering name, address, payment information. The GA4 event 'remove_from_cart' will be added if the guest chooses to change the room or dates selected. The following information describing the room to be booked will also be added to the data layer:

Variable Name Description
value total charge for the reservation
currency 'USD'
items Detail for the room being booked including:
   item_id room number if rooms list is by unit, otherwise room type
   item_name the descriptive label for the room/room type
   item_category if item_id is a room number, this will be the room type, otherwise it's blank
   item_list_name 'arrival date' to 'departure date' 'x' people
   affiliation property name
   coupon promo code, if applicable
   price average nightly rate
   quantity stay length

Reservation Confirmation Data Layer

purchase Trigger Event

IRMng will add the GA4 event 'purchase' when the reservation has been completed, which can be used in Google Tag Manager to fire tracking tags upon a successful reservation booking. The following information describing the reservation will also be added to the data layer:

Variable Name Description
transaction_id the reservation number
value total charge for the reservation, including tax
tax total tax for the reservation
currency 'USD'
affiliation property name
items Detail for the room that was booked including:
   item_id room number if rooms list is by unit, otherwise room type
   item_name the descriptive label for the room/room type
   item_category Default: if item_id is a room number, this will be the room type, otherwise it's blank. How to populate item_category can be configured in RDPWin IRM/Configuration Analytics tab. See list of choices below.
   item_category2 Default: blank. How to populate item_category2 can be configured in RDPWin IRM/Configuration Analytics tab. See list of choices below.
   item_category3 Default: blank. How to populate item_category3 can be configured in RDPWin IRM/Configuration Analytics tab. See list of choices below.
   item_category4 Default: blank. How to populate item_category4 can be configured in RDPWin IRM/Configuration Analytics tab. See list of choices below.
   item_category5 Default: RDP hosted servers item_category5 is the property name, otherwise blank. How to populate item_category5 can be configured in RDPWin IRM/Configuration Analytics tab (not configurable for RDP hosted servers). See list of choices below.
   item_list_name 'arrival date' to 'departure date' 'x' people
   coupon promo code, if applicable
   price average nightly rate
   quantity stay length
Populate Item Categories

The purchase item_category through item_category5 variables can be populated with the following from the data layer. Which data layer variable to populate which item category is configured in RDPWin IRM/Configuration Analytics tab.

Data Layer Variable Description
Arrival Date Reservation check-in date in M/d/yyyy format
Average Nightly Rate Total room charge only (no tax or other charges) divided by the stay length
Confirmation Number The reservation confirmation number (reservation number in RDPWin)
Departure Date Reservation check-out date in M/d/yyyy format
Deposit Paid The deposit amount being paid at time of booking
Group If logged in with a group id, the group number
Guest City The city entered by the guest with their address information
Guest Country The country entered by the guest with their address information
Guest Postal Code The postal code entered by the guest with their address information
Guest State The state entered by the guest with their address information
People1 The number of guests in people category 1, normally adults
People2 The number of guests in people category 2
People3 The number of guests in people category 3
People4 The number of guests in people category 4
Promo Code The valid promotion code entered by the guest, if applicable
Property Code If applicable, the property code for the room being reserved
Property Name The property name as configured on the RDPWin IRMnet/Configuration Miscellaneous tab
Rate Code The 4 character rate plan code used to calculate the rate
Rate Description The descriptive name of the rate plan used to calculate the rate
Room Charge The total room charge (no tax or other charges) for the reservation
Room Count The number of rooms being reserved
Room Description The descriptive label for the room reserved as displayed to the guest on the confirmation page
Room Number The room number reserved
Room Type The 6 character room type code reserved
Serial Number Propery's RDP serial number
Stay Length The number of nights on the reservation
Total Charge The total of all charges, including tax, for the reservation
Total Excluding Tax The total of all charges, excluding tax, for the reservation
Total People The sum of the number of guests in people categories 1 through 4
Total Tax The total amount of tax for the reservation
Travel Agent If logged in with a travel agent id, the travel agent number
Virtual Store Charges If the Virtual Store module is in use, the total virtual store charges (no tax) for the reservation

IRMng's Universal Analytics Data Layer

Although Google no longer supports Universal Analytics, the UA data layer variables and events are still populated by IRMng. These can be used by other tracking technologies.

Available Rooms List Data Layer

A subset of the data layer variables are updated from IRMng's available rooms list. These data layer values are updated each time the 'Check Availability' button is clicked. Some values are only added as applicable. For example if availability is filtered by room type, then roomType will be added to the data layer, otherwise it will not be.

Check Availability Trigger Event

Also added to the data layer in this context will be the event 'checkAvailability', which can be used in Google Tag Manager to fire tracking tags relevant to this stage in the booking process.

View Details Trigger Event

IRMng only will add the event 'viewDetails' when the various detail tabs (rates, photos, calendar, map, details) for a room in the availability list are clicked. The same list of dataLayer variables for checkAvailability and viewDetails are available. In the viewDetails context an additional variable 'tabName', indicating which tab was clicked, is populated.

Variable Name Description
arrivalDate The requested reservation check-in date in MM/d/yyyy format
arrivalDate2 The requested reservation check-in date in yyyy-M-d format
departureDate The requested reservation check-out date in M/d/yyyy format
departureDate2 The requested reservation check-out date in yyyy-M-d format
event Event value will be 'checkAvailability' (without quotes)
group If logged in with a group id, the group number
people1 The number of guests in people category 1, normally adults
people2 The number of guests in people category 2
people3 The number of guests in people category 3
people4 The number of guests in people category 4
promoCode The valid promotion code entered by the guest, if applicable
propertyCode If applicable, the property code being filtered on
propertyName The property name as configured on the RDPWin IRMnet/Configuration Miscellaneous tab
rateCode if available, the 4 character rate plan code used to calculate the rate
rateDescription If available, the descriptive name of the rate plan used to calculate the rate
roomCount The number of rooms being reserved
roomNumber The room number being filtered on
roomType The 6 character room type code being filtered on
serialNumber Propery's RDP serial number
stayLength The number of nights requested
totalPeople The sum of the number of guests in people categories 1 through 4

Guest Information Entry Data Layer

A subset of the data layer variables are updated from IRMng's guest information screen. These data layer values are updated each time a 'Reserve' button is clicked and the guest information entry screen is reached. Some values are only added as applicable.

Guest Information Entry Trigger Event

Also added to the data layer in this context will be the event 'guestInfoEntry', which can be used in Google Tag Manager to fire tracking tags relevant to this stage in the booking process.

Variable Name Description
arrivalDate Reservation check-in date in M/d/yyyy format
arrivalDate2 The requested reservation check-in date in yyyy-M-d format
avgNightlyRate Total room charge only (no tax or other charges) divided by the stay length
departureDate Reservation check-out date in M/d/yyyy format
departureDate2 The requested reservation check-out date in yyyy-M-d format
event Event value will be 'guestInfoEntry' (without quotes)
group If logged in with a group id, the group number
people1 The number of guests in people category 1, normally adults
people2 The number of guests in people category 2
people3 The number of guests in people category 3
people4 The number of guests in people category 4
promoCode The valid promotion code entered by the guest, if applicable
propertyCode If applicable, the property code for the room being reserved
propertyName The property name as configured on the RDPWin IRMnet/Configuration Miscellaneous tab
rateCode The 4 character rate plan code used to calculate the rate
rateDescription The descriptive name of the rate plan used to calculate the rate
roomCharge The total room charge (no tax or other charges) for the reservation
roomCount The number of rooms being reserved
roomDescription The descriptive label for the room reserved as displayed to the guest on the confirmation page
roomNumber The room number reserved
roomType The 6 character room type code reserved
serialNumber Propery's RDP serial number
stayLength The number of nights on the reservation
totalCharge The total of all charges, including tax, for the reservation
totalExcludingTax The total of all charges, excluding tax, for the reservation
totalPeople The sum of the number of guests in people categories 1 through 4
totalTax The total amount of tax for the reservation
travelAgent If logged in with a travel agent id, the travel agent number
virtualStoreCharges If the Virtual Store module is in use, the total virtual store charges (no tax) for the reservation

Reservation Confirmation Data Layer

Below is a list of all the variables available in IRMng's implementation of the data layer on the reservation confirmation screen. These variables can be used to populate tracking tags such as Google/Universal Analytics, Google AdWords, Doubleclick Floodlight and other tags supported by Google Tag Manager.

Booking Complete Trigger Event

Also added to the data layer in this context will be the event 'bookingComplete', which can be used in Google Tag Manager to fire tracking tags upon a successful reservation booking.

Variable Name Description
arrivalDate Reservation check-in date in M/d/yyyy format
arrivalDate2 The requested reservation check-in date in yyyy-M-d format
avgNightlyRate Total room charge only (no tax or other charges) divided by the stay length
confirmationNumber The reservation confirmation number (reservation number in RDPWin)
departureDate Reservation check-out date in M/d/yyyy format
departureDate2 The requested reservation check-out date in yyyy-M-d format
depositPaid The deposit amount being paid at time of booking
event Event value will be 'bookingComplete' (without quotes)
group If logged in with a group id, the group number
guestCity The city entered by the guest with their address information
guestCountry The country entered by the guest with their address information
guestPostalCode The postal code entered by the guest with their address information
guestState The state or province entered by the guest with their address information
people1 The number of guests in people category 1, normally adults
people2 The number of guests in people category 2
people3 The number of guests in people category 3
people4 The number of guests in people category 4
promoCode The valid promotion code entered by the guest, if applicable
propertyCode If applicable, the property code for the room being reserved
propertyName The property name as configured on the RDPWin IRMnet/Configuration Miscellaneous tab
rateCode The 4 character rate plan code used to calculate the rate
rateDescription The descriptive name of the rate plan used to calculate the rate
roomCharge The total room charge (no tax or other charges) for the reservation
roomCount The number of rooms being reserved
roomDescription The descriptive label for the room reserved as displayed to the guest on the confirmation page
roomNumber The room number reserved
roomType The 6 character room type code reserved
serialNumber Propery's RDP serial number
stayLength The number of nights on the reservation
totalCharge The total of all charges, including tax, for the reservation
totalExcludingTax The total of all charges, excluding tax, for the reservation
totalPeople The sum of the number of guests in people categories 1 through 4
totalTax The total amount of tax for the reservation
travelAgent If logged in with a travel agent id, the travel agent number
virtualStoreCharges If the Virtual Store module is in use, the total virtual store charges (no tax) for the reservation