Skip to main content
Data layer events

view_item_list

A user is presented with a list of items.

Status: Upcoming

We measure rentable types (items) being presented to the user for certain dates and a certain price (availability) by sending a view_item_list event with the relevant rentable types in an items array. This event is triggered when a website visitor searches for availabilities by entering information like arrival date, departure date guest group, required amenities, etc.

The same event can be used for sales module listings (properties) by supplying the property items as the list items.

GA4 docs: https://developers.google.com/analytics/devguides/collection/ga4/reference/events?client_type=gtag#view_item_list

Sample data layer snippet

dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object. 
 dataLayer.push({
  "event": "view_item_list",
  "ecommerce": {
    "item_list_id": "availability_search",
    "item_list_name": "Availability Search",
    "currency": "EUR",
    "items": [
      {
        "item_id": "123123",
        "item_name": "4-Person Luxury Villa",
        "item_brand": "Administration Name",
        "item_category": "Accommodation",
        "item_category2": "house",
        "item_variant": "single_night",
        "item_country": "Netherlands",
        "item_region": "Twente",
        "item_city": "Enschede",
        "administration_id": "321321",
        "administration_name": "Administration Name",
        "coupon": "SUMMER10",
        "discount": 25.0,
        "price": 350.0,
        "quantity": 1,
        "start_date": "2026-02-20",
        "end_date": "2026-02-22",
        "google_business_vertical": "hotel_rental",
        "index": 1
      }
    ]
  }
});

Top-level objects

ParameterSamplePresenceDescription
ecommerce{...} (see below)alwaysEcommerce payload wrapper for GA4 events.

ecommerce

Ecommerce payload wrapper for GA4 events.

FieldSamplePresenceDescription
item_list_idavailability_searchalwaysThe list ID for the results. Source: Availability/property search list id (availability_search or property_search).
item_list_nameAvailability SearchalwaysThe list name for the results. Source: Availability/property search list name (Availability search or Property search).
currencyEURalwaysCurrency of the items associated with the event, in 3-letter ISO 4217 format. Source: Currency used for totals/items (booking/order/reservation currency; availability/property search uses the active site currency).
items[][...] (see below)alwaysItems array for the ecommerce payload.
ecommerce.items[]

Items array for the ecommerce payload.

FieldSamplePresenceDescription
item_id123123alwaysID of the item. Combine with item_category and item_category2. Source: rentable type id (Accommodation), cost id (Upgrade, Preference), bundle id (Package), or amenity id (Preference with Amenity item_category2). Availability/property search: category or property id.

Notes: Legacy checkout portal used prefixed ids (A/C/P).

item_name4-Person Luxury VillaalwaysThe name of the item. Source: rentable type id (Accommodation), cost id (Upgrade, Preference), bundle id (Package), or amenity id (Preference with Amenity item_category2). Availability/property search: localized category/property name.
item_brandAdministration Nameif availableThe localized name of the site. Source: Checkout portal: administration name. Availability/property search: site/brand name shown on the website (can differ from the administration name).
item_categoryAccommodationalways

Top-level item type.

  • Accommodation
  • Upgrade
  • Preference
  • Package

Source: Checkout portal: Accommodation for rentable types, Upgrade for extras, Preference for amenities/preferences, Package for bundles. Availability/property search: Accommodation.

Notes: Legacy CMS view_item_list used item_category for the segment and did not set item_category2.

item_category2houseif available

Semantic segment for accommodations or sub-bucket for extras.

Accommodation: house pitch room berth apartment other
Extras: Amenity Upgrade Package

Source: Checkout portal: accommodation semantic segment or extras bucket. Availability/property search: accommodation semantic segment.

Notes: Legacy CMS view_item_list did not include item_category2; legacy checkout portal used extra-specific buckets like SpecificAccommodation.

item_category3if available

PMS extra type for extras only.

  • tourist_taxes
  • cleaning
  • parking

Source: Checkout portal extras only: cost extra_type. Not set for accommodations, packages, or availability/property search.

item_variantsingle_nightif available

Stay duration category for the accommodation.

  • single_night - 1 night
  • weekend - 2-3 nights incl weekend
  • midweek - 2-4 nights without weekend
  • week - 6-8 nights or 5 nights incl weekend
  • extended_stay - 9-13 nights
  • long_stay - 14+ nights

Source: Checkout portal accommodations and CMS availability items; derived from arrival/departure.

item_countryNetherlandsif availableThe country where the administration is located. Source: Administration country from BEX (shared across checkout portal and availability/property search).
item_regionTwenteif availableThe region where the administration is located. Source: Administration region from BEX (shared across checkout portal and availability/property search).
item_cityEnschedeif availableThe city where the administration is located. Source: Administration city from BEX (shared across checkout portal and availability/property search).
administration_id321321if availableThe ID of the administration in BEX PMS. Source: Checkout portal: BEX administration id. Availability/property search: the same BEX administration id (Booking Experts administration mapping).

Notes: Renamed from park_id in legacy CMS/PMS payloads.

administration_nameAdministration Nameif availableThe name of the administration in BEX PMS. Source: Checkout portal: BEX administration name. Availability/property search: the same BEX administration name (Booking Experts administration mapping).

Notes: Renamed from park_name in legacy CMS/PMS payloads.

couponSUMMER10if availableCoupon applied to the item. Source: Coupon code applied to the reservation or order item (first code, if any).
discount25.0if availableDiscount applied to the item. Source: Discount amount for the order item.
price350.0if available

Price for the item line (stay total for accommodation).

Source: Availability/property search: price for the stay. Checkout portal: order item unit price; accommodation uses stay total derived from booking total minus upgrades.

quantity1if availableQuantity of the item. Source: Order item quantity; otherwise 1.
start_date2026-02-20if availableThe date of arrival for availability. Source: Stay arrival date or availability start date.
end_date2026-02-22if availableThe date of departure for availability. Source: Stay departure date or availability end date.
google_business_verticalhotel_rentalif availableGoogle Ads business vertical for dynamic remarketing (examples: "hotel_rental", "retail"). Source: Remarketing business vertical configured globally; not from booking data.
index1if availableThe position of the item in the list. Source: Position in the result list (availability/property search only).

Still need help? Share an idea