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
Theinit
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
Parameter | Type | Description | Example |
---|---|---|---|
step | String | Booking step identifier | "BOOKINGSTEP1" |
home | String | Host domain name | "www.hotelname.com" |
hotelId | Number | Hotel identifier (null for chain sites) | 10030559 |
chainId | Number | Chain identifier (null for hotel sites) | null |
device | String | User device type | "DESKTOP_TABLET" or "MOBILE" |
Example Data Layer
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 tomirai.data
object with comprehensive booking information:
Parameter | Type | Description |
---|---|---|
step | String | Booking step name |
home | String | Host domain |
hotelId | Number | Hotel identifier |
hotelName | String | Hotel display name |
device | String | Device type |
language | String | Browse language (ISO 639-1) |
checkin | String | Check-in date (dd/mm/yyyy) |
checkout | String | Check-out date (dd/mm/yyyy) |
nights | Number | Number of nights |
country | String | User country (ISO 3166 alpha 2) |
coupon | String | Promotional code |
currency | String | Hotel currency (ISO 4217) |
lowestRate | Object | Lowest priced option details |
highestRate | Object | Highest priced option details |
Rate Object Structure
BothlowestRate
and highestRate
contain:
Complete Example
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:GTM Implementation Tips
Creating Triggers
Creating Triggers
Accessing Data Layer Variables
Accessing Data Layer Variables
Create Data Layer Variables in GTM:
- Variable Name:
dlv.hotelName
- Data Layer Variable Name:
mirai.data.hotelName
Enhanced E-commerce Tracking
Enhanced E-commerce Tracking
Use the rate information to populate enhanced e-commerce data:
- Product Category: Room Type
- Product Name: Room + Rate combination
- Price:
unitaryPriceWithOutTaxes
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