Google Ads / Datalayer Enhanced Action Tracking
The RoomBoss Booking Engine for ECS/SSMS includes enhanced action tracking via the datalayer to provide deeper, actionable insights into user behavior. This enhancement can be integrated with Google Tag Manager (GTM) via the Datalayer, enabling precise tracking of key user actions throughout the booking and checkout process. These actions are designed to help identify user engagement patterns, conversion behavior, and drop-off points, providing valuable data for marketing optimisation and sales performance analysis.
This enhanced action tracking allows you to:
- Monitor detailed user interactions throughout the booking flow.
- Improve marketing attribution through Google Ads and GTM.
- Identify conversion trends and optimise sales funnels based on data-driven insights.
How It Works
Datalayer events are triggered during user interactions such as selecting vendors, browsing categories, selecting product dates, and adding products to the cart. Each event pushes a structured data object to the Datalayer, which can be leveraged via GTM for use with Google Analytics and other connected services.
Action Tracking is enabled when a valid GTM Container ID is present. Once triggered, the event is added to the Window.dataLayer, which can then be harnessed by any custom events or tracking scripts configured via supported integrations, such as Google Tag Manager.
Tracked Actions and events
| Event Name | Description | Data Returned | 
|---|---|---|
| select_vendor | Triggered when a vendor is selected. | Vendor | 
| select_parent_cat | Triggered when a parent category is selected. | Parent Category | 
| select_cat | Triggered when a category is selected. | Category | 
| select_product | Triggered when a product is selected. | Single product | 
| product_select_dates | Triggered when dates are selected in the product dialog. | Single product / selected options + dates | 
| product_add_to_cart | Triggered when a product is added to the cart. | Single product / selected options | 
| product_close | Triggered when a product dialog is closed without adding to the cart. | Single product / selected options | 
| remove_from_cart | Triggered when a product is removed from the cart. | Single product / selected options | 
| apply_discount_code | Triggered when a valid discount code is applied. | Returns items currently in cart, including discount code applied. | 
| checkout_continue_shopping | Triggered when a user navigates from the checkout page back to the product list. | Returns items currently in cart. | 
Example event: checkout_continue_shopping
{
  "event": "rb_checkout_continue_shopping",
  "rb_action": {
    "total": 24690.00,
    "currencyCode": "JPY",
    "discountCode": "SALE20",
    "items": [
      {
        "id": "productId123",
        "item_id": "productId123",
        "name": "Product Name",
        "item_name": "Product Name",
        "startDate": "2025-12-20",
        "endDate": "2025-12-24",
        "numberGuests": 1,
        "price": 12345.00,
        "upsellId": "upsellId123",
        "vendorName": "Vendor Name",
        "parentCategoryName": "Parent Category Name",
        "categoryName": "Category Name"
      }
    ]
  }
}
- total: The total value of the booking (e.g 16,000)
- currencyCode: The booking currency code (e.g "JPY")
- discountCode: The applied discount / promotional code (e.g "SALE20")
- items: A list of products making up the booking- id: The unique product ID (e.g "8a80818a93c14a260193c2cb15c310c7")
- name: The name of the product (e.g "AM Private Ski Lesson")
- startDate: The product start date (e.g "2025-01-31")
- endDate: The product end date (e.g "2025-02-07")
- numberGuests: The number of guests on the product (e.g 2)
- price: The product sell price (e.g 8,000)
- upsellId: The associated upsell ID, populated if a product is added via an upsell link (e.g "8a80818a93c14a260193c2cb15c310c7")
- vendorName: The name of the vendor (e.g "Example Ski School")
- parentCategoryName: The name of the parent category (e.g "Ski")
- categoryName: The name of the category (e.g "Private Ski")
 
Example event: rb_select_vendor
{
"event": "rb_checkout_continue_shopping",
"rb_action": {
  "contentType": "vendor",
  "contentId": "vendorId123",
  "contentName": "Vendor Name"
}
}
- contentType: The type of selection ("vendor”, “parent_category”, ”category”)
- contentId: The selected vendor or category ID (e.g "f808ad9639bc78910139c32d47cc10c8")
- contentName: The name of the selected vendor or category (e.g "Best Ski School")