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

Parameter

Sample

Presence

Description

ecommerce

{...} (see below)

always

Ecommerce payload wrapper for GA4 events.

ecommerce

Ecommerce payload wrapper for GA4 events.

Field

Sample

Presence

Description

item_list_id

availability_search

always

The list ID for the results. Source: Availability/property search list id (availability_search or property_search).

item_list_name

Availability Search

always

The list name for the results. Source: Availability/property search list name (Availability search or Property search).

currency

EUR

always

Currency 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)

always

Items array for the ecommerce payload.

ecommerce.items[]

Items array for the ecommerce payload.

Field

Sample

Presence

Description

item_id

123123

always

ID 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_name

4-Person Luxury Villa

always

The 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_brand

Administration Name

if available

The 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_category

Accommodation

always

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_category2

house

if 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_category3

if 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_variant

single_night

if 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_country

Netherlands

if available

The country where the administration is located. Source: Administration country from BEX (shared across checkout portal and availability/property search).

item_region

Twente

if available

The region where the administration is located. Source: Administration region from BEX (shared across checkout portal and availability/property search).

item_city

Enschede

if available

The city where the administration is located. Source: Administration city from BEX (shared across checkout portal and availability/property search).

administration_id

321321

if available

The 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_name

Administration Name

if available

The 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.

coupon

SUMMER10

if available

Coupon applied to the item. Source: Coupon code applied to the reservation or order item (first code, if any).

discount

25.0

if available

Discount applied to the item. Source: Discount amount for the order item.

price

350.0

if 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.

quantity

1

if available

Quantity of the item. Source: Order item quantity; otherwise 1.

start_date

2026-02-20

if available

The date of arrival for availability. Source: Stay arrival date or availability start date.

end_date

2026-02-22

if available

The date of departure for availability. Source: Stay departure date or availability end date.

google_business_vertical

hotel_rental

if available

Google Ads business vertical for dynamic remarketing (examples: "hotel_rental", "retail"). Source: Remarketing business vertical configured globally; not from booking data.

index

1

if available

The position of the item in the list. Source: Position in the result list (availability/property search only).