Overview

The room selection page (Booking Step 1) triggers multiple events to track user search behavior and availability results. These events provide insights into search patterns, conversion rates, and inventory performance.

Event: init

The init event fires when a user first accesses the room selection page.

Trigger Condition

  • First page load of the room selection/results page

Data Layer Parameters

ParameterTypeDescriptionExample
stepStringBooking step identifier"BOOKINGSTEP1"
homeStringHost domain name"www.hotelname.com"
hotelIdNumberHotel identifier (null for chain sites)10030559
chainIdNumberChain identifier (null for hotel sites)null
deviceStringUser device type"DESKTOP_TABLET" or "MOBILE"

Example Data Layer

{
  "step": "BOOKINGSTEP1",
  "home": "www.hotelname.com",
  "hotelId": 10030559,
  "chainId": null,
  "device": "DESKTOP_TABLET"
}

Event: mirai.availability

This event fires when rooms are available for the searched dates.
The event name mirai.availability is part of the technical implementation and must be used exactly as shown in your GTM triggers.

Trigger Condition

  • Search query returns available rooms

Data Layer Structure

The event pushes data to mirai.data object with comprehensive booking information:
ParameterTypeDescription
stepStringBooking step name
homeStringHost domain
hotelIdNumberHotel identifier
hotelNameStringHotel display name
deviceStringDevice type
languageStringBrowse language (ISO 639-1)
checkinStringCheck-in date (dd/mm/yyyy)
checkoutStringCheck-out date (dd/mm/yyyy)
nightsNumberNumber of nights
countryStringUser country (ISO 3166 alpha 2)
couponStringPromotional code
currencyStringHotel currency (ISO 4217)
lowestRateObjectLowest priced option details
highestRateObjectHighest priced option details

Rate Object Structure

Both lowestRate and highestRate contain:
{
  "roomName": "Double Room",
  "rateName": "Special Web Offer",
  "boardName": "Room Only",
  "unitaryPriceWithOutTaxes": 148,    // Average per night
  "priceWithTaxes": 740,               // Total with taxes
  "occupation": {
    "numAdults": 2,
    "numChildren": 0,
    "numBabies": 0
  }
}

Complete Example

{
  "mirai.data": {
    "step": "BOOKINGSTEP1",
    "home": "www.hotelname.com",
    "hotelId": 10030559,
    "chainId": null,
    "hotelName": "Hotel Name",
    "device": "DESKTOP_TABLET",
    "language": "en",
    "checkin": "15/06/2024",
    "checkout": "18/06/2024",
    "nights": 3,
    "country": "US",
    "coupon": "",
    "currency": "EUR",
    "lowestRate": {
      "roomName": "Standard Double",
      "rateName": "Web Special Rate",
      "boardName": "Room Only",
      "unitaryPriceWithOutTaxes": 148,
      "priceWithTaxes": 740,
      "occupation": {
        "numAdults": 2,
        "numChildren": 0,
        "numBabies": 0
      }
    },
    "highestRate": {
      "roomName": "Junior Suite",
      "rateName": "Standard Rate with Breakfast",
      "boardName": "Breakfast Included",
      "unitaryPriceWithOutTaxes": 283.4,
      "priceWithTaxes": 1417,
      "occupation": {
        "numAdults": 2,
        "numChildren": 0,
        "numBabies": 0
      }
    }
  }
}

Event: mirai.noAvailability

Triggered when no rooms are available for the searched criteria.
The event name mirai.noAvailability is part of the technical implementation and must be used exactly as shown in your GTM triggers.

Trigger Condition

  • Search query returns no available rooms

Data Layer Parameters

Similar to the availability event but without rate information:
{
  "mirai.data": {
    "step": "BOOKINGSTEP1",
    "home": "www.hotelname.com",
    "hotelId": 10030559,
    "chainId": null,
    "hotelName": "Hotel Name",
    "device": "DESKTOP_TABLET",
    "language": "en",
    "checkin": "15/06/2024",
    "checkout": "18/06/2024",
    "nights": 3,
    "coupon": ""
  }
}

GTM Implementation Tips

Common Use Cases

Search Abandonment Tracking

Track users who search but don’t see availability

Price Point Analysis

Analyze the price range between lowest and highest rates

Demand Forecasting

Monitor search patterns for specific date ranges

Conversion Funnel

Measure progression from search to booking