Deprecated data layer events

Legacy events and payloads scheduled for removal, with migration guidance.

Pre-release notice: These docs reflect the schema that becomes active after Q2 2026. Events marked Active are part of that upcoming schema. Events marked Deprecated are legacy payloads still emitted today and will stop after Q2 2026

Looking for current events? See Booking Experts data layer events.

Deprecated events

view_item_list

Legacy CMS view_item_list payload (pre-GA4 ecommerce structure).

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Flow

Legacy availability listings

Replaced by

view_item_list

Deprecated CMS payload that placed items at the top level instead of inside ecommerce.

Items carried park_id/park_name and used item_category for the accommodation segment.

Replaced by GA4 view_item_list with ecommerce.items.

Top-level parameters

Parameter Sample Presence Type Description

item_list_id

availability_search

if available

ga4

Legacy list id. Source: CMS availability search list id.

item_list_name

Availability search

if available

ga4

Legacy list name. Source: CMS availability search list name.

items

[...]

if available

custom

Legacy items array (top-level). Includes park_id/park_name and per-item currency.

Sample data layer snippet

dataLayer.push({"event":"view_item_list","item_list_id":"availability_search","item_list_name":"Availability search","items":[{"item_id":"1","item_name":"Category name","item_brand":"Site name","item_category":"house","park_id":1,"park_name":"Park name","price":"120.00","quantity":1,"currency":"EUR","start_date":"2026-02-20","end_date":"2026-02-22","index":1}]});

view_item

Legacy CMS view_item payload (pre-GA4 ecommerce structure).

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Flow

Legacy availability detail

Replaced by

view_item

Deprecated CMS payload that placed items at the top level instead of inside ecommerce.

Items carried park_id/park_name and used item_category for the accommodation segment.

Replaced by GA4 view_item with ecommerce.items.

Top-level parameters

Parameter Sample Presence Type Description

items

[...]

if available

custom

Legacy items array (top-level). Includes park_id/park_name and per-item currency.

Sample data layer snippet

dataLayer.push({"event":"view_item","items":[{"item_id":"1","item_name":"Category name","item_brand":"Site name","item_category":"house","item_list_id":"availability_search","item_list_name":"Availability search","park_id":1,"park_name":"Park name","price":"120.00","quantity":1,"currency":"EUR","start_date":"2026-02-20","end_date":"2026-02-22"}]});

add_to_cart

Legacy add_to_cart payload (pre-GA4 ecommerce structure).

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Flow

Legacy booking cart (add)

Replaced by

add_to_cart

Deprecated payload that placed currency, value, and items at the top level.

CMS sent only a single rentable type id with optional dates; PMS used prefixed item ids (A/C/P) with richer item fields.

Replaced by GA4 add_to_cart with ecommerce.items.

Top-level parameters

Parameter Sample Presence Type Status Description

currency

EUR

if available

ga4

Deprecated (removal planned for Q2 2026)

Legacy top-level currency.

value

350

if available

ga4

Deprecated (removal planned for Q2 2026)

Legacy top-level value.

items

[...]

if available

custom

Deprecated (removal planned for Q2 2026)

Legacy items array (top-level). CMS only sent item_id for rentable types; PMS used A/C/P prefixes.

Sample data layer snippet

dataLayer.push({"event":"add_to_cart","currency":"EUR","value":350,"items":[{"item_id":"A123","item_name":"Amenity","start_date":"2026-02-20","end_date":"2026-02-22"}]});

remove_from_cart

Legacy remove_from_cart payload (pre-GA4 ecommerce structure).

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Flow

Legacy booking cart (remove)

Replaced by

remove_from_cart

Deprecated payload that placed currency, value, and items at the top level.

CMS sent only a single rentable type id; PMS used prefixed item ids (A/C/P) with richer item fields.

Replaced by GA4 remove_from_cart with ecommerce.items.

Top-level parameters

Parameter Sample Presence Type Description

currency

EUR

if available

ga4

Legacy top-level currency.

value

350

if available

ga4

Legacy top-level value.

items

[...]

if available

custom

Legacy items array (top-level). CMS only sent item_id for rentable types; PMS used A/C/P prefixes.

Sample data layer snippet

dataLayer.push({"event":"remove_from_cart","currency":"EUR","value":350,"items":[{"item_id":"A123","item_name":"Amenity","start_date":"2026-02-20","end_date":"2026-02-22"}]});

select_promotion

Legacy CMS select_promotion payload (items at top level).

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Sales site, Booking site

Flow

Legacy promotion click

Replaced by

select_promotion

Deprecated CMS payload that placed items at the top level instead of inside ecommerce.

Replaced by GA4 select_promotion with ecommerce.items.

Top-level parameters

Parameter Sample Presence Type Description

items

[...]

if available

custom

Legacy items array for the selected promotion.

Sample data layer snippet

dataLayer.push({"event":"select_promotion","items":[{"item_id":"discount_12","item_name":"Summer Sale"}]});

search

Legacy CMS search payload (search object with result_count).

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Sales site, Booking site

Flow

Legacy site search

Replaced by

search

Deprecated CMS payload that nested search term and result count under search.

Replaced by GA4 search with the search_term parameter.

Top-level parameters

Parameter Sample Presence Type Description

search

{...}

if available

custom

Legacy search object with query and result_count.

Sample data layer snippet

dataLayer.push({"event":"search","search":{"search_term":"summer holiday","result_count":42}});

productImpression

Legacy UA product impressions payload.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Flow

Legacy rentable impressions

Deprecated UA payload for product impressions (pre-GA4).

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy ecommerce.impressions payload.

Sample data layer snippet

dataLayer.push({"event":"productImpression","ecommerce":{"currencyCode":"EUR","impressions":[{"id":"123","name":"Category name","park_id":1,"park_name":"Park name","category":"house","price":"120.00","position":1}]}});

productDetail

Legacy UA product detail payload.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Flow

Legacy rentable detail

Deprecated UA payload for product detail impressions (pre-GA4).

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy ecommerce.detail.products payload.

Sample data layer snippet

dataLayer.push({"event":"productDetail","ecommerce":{"detail":{"products":[{"id":"123","name":"Category name","park_id":1,"park_name":"Park name","category":"house","price":"120.00"}]}}});

promotionClick

Legacy UA promotion click payload.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Sales site, Booking site

Flow

Legacy promotion click

Deprecated UA payload for promotion clicks (pre-GA4).

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy ecommerce.promoClick payload.

Sample data layer snippet

dataLayer.push({"event":"promotionClick","ecommerce":{"promoClick":{"promotions":[{"id":"discount_12","name":"Summer Sale"}]}}});

propertyDetail

Legacy CMS property detail payload.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Sales site

Flow

Legacy sales property detail

Deprecated CMS payload for sales module property detail impressions.

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy ecommerce.detail.products payload for property details.

Sample data layer snippet

dataLayer.push({"event":"propertyDetail","ecommerce":{"detail":{"products":[{"object_id":"123","object_name":"Property name","price":"120.00","status":"available"}]}}});

formSubmit

Legacy CMS formSubmit payload (form_submit object).

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Sales site

Flow

Legacy sales form submit

Deprecated CMS payload that nested form fields under form_submit.

Custom fields were emitted as input_* keys and select values could emit additional ids/names.

Top-level parameters

Parameter Sample Presence Type Description

form_submit

{...}

if available

custom

Legacy form_submit object with dynamic fields.

Sample data layer snippet

dataLayer.push({"event":"formSubmit","form_submit":{"form_id":"contact-form","form_name":"Contact Form","form_response_id":"12345","input_email":"guest@example.com"}});

view_price_information

Legacy CMS view_price_information payload.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Portals

Checkout portal

Flow

Legacy checkout price information

Deprecated CMS payload used on reservation detail pricing screens.

Top-level parameters

Parameter Sample Presence Type Description

item

{...}

if available

custom

Legacy item object for price information.

Sample data layer snippet

dataLayer.push({"event":"view_price_information","item":{"item_id":"123","item_name":"Accommodation","price":"120.00","currency":"EUR"}});

visit_checkout_step

Legacy checkout step payload from the old checkout portal.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Portals

Checkout portal

Flow

Legacy checkout portal step

Replaced by

begin_checkout, view_cart, add_shipping_info, add_payment_info

Deprecated PMS payload that mixed checkout metadata and customer fields inside ecommerce.

Replaced by GA4 begin_checkout, view_cart, add_shipping_info, and add_payment_info.

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy ecommerce payload with step metadata and customer fields.

Sample data layer snippet

dataLayer.push({"event":"visit_checkout_step","ecommerce":{"currency":"EUR","value":"350.00","customer_name":"Guest Name","checkout_step_value":1,"checkout_step_name":"Stay","items":[{"item_id":"A123","item_name":"Accommodation"}]}});

select_amenity

Legacy amenity selection payload from checkout portal.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Portals

Checkout portal

Flow

Legacy amenity add

Replaced by

add_to_cart

Deprecated event emitted when amenities were selected in the old checkout portal.

Replaced by GA4 add_to_cart with amenity items.

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy ecommerce.items payload for selected amenities.

Sample data layer snippet

dataLayer.push({"event":"select_amenity","ecommerce":{"items":[{"item_id":"A123","item_name":"Amenity name"}]}});

deselect_amenity

Legacy amenity deselection payload from checkout portal.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Portals

Checkout portal

Flow

Legacy amenity remove

Replaced by

remove_from_cart

Deprecated event emitted when amenities were deselected in the old checkout portal.

Replaced by GA4 remove_from_cart with amenity items.

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy ecommerce.items payload for deselected amenities.

Sample data layer snippet

dataLayer.push({"event":"deselect_amenity","ecommerce":{"items":[{"item_id":"A123","item_name":"Amenity name"}]}});

ga4purchase

Legacy GA4 purchase payload used during migration.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Flow

Legacy payment return purchase

Replaced by

purchase

Deprecated GA4 purchase payload emitted alongside the hybrid legacy purchase event.

Replaced by the standard GA4 purchase event.

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy GA4 ecommerce payload with prefixed item ids.

Sample data layer snippet

dataLayer.push({"event":"ga4purchase","ecommerce":{"currency":"EUR","value":"350.00","transaction_id":"ORDER-123","items":[{"item_id":"A123","item_name":"Accommodation"}]}});

ga4option

Legacy GA4 option payload used during migration.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Portals

Checkout portal

Flow

Legacy checkout option

Replaced by

generate_lead

Deprecated GA4 option payload emitted during the checkout portal migration.

Replaced by generate_lead.

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy GA4 ecommerce payload with prefixed item ids.

Sample data layer snippet

dataLayer.push({"event":"ga4option","ecommerce":{"currency":"EUR","value":"350.00","transaction_id":"ORDER-123","items":[{"item_id":"A123","item_name":"Accommodation"}]}});

ga4optionConfirm

Legacy GA4 option confirmation payload used during migration.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Portals

Checkout portal

Flow

Legacy checkout option confirmation

Replaced by

close_convert_lead

Deprecated GA4 option confirmation payload emitted during the checkout portal migration.

Replaced by close_convert_lead.

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy GA4 ecommerce payload with prefixed item ids.

Sample data layer snippet

dataLayer.push({"event":"ga4optionConfirm","ecommerce":{"currency":"EUR","value":"350.00","transaction_id":"ORDER-123","items":[{"item_id":"A123","item_name":"Accommodation"}]}});

purchase

Legacy hybrid purchase payload (GA4 + UA fields).

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Flow

Legacy checkout purchase

Replaced by

purchase

Deprecated checkout portal payload that mixed GA4 ecommerce fields with legacy UA purchase data.

Included currencyCode and purchase.actionField/products alongside GA4 items.

Replaced by GA4 purchase with the standard ecommerce payload.

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy hybrid ecommerce payload.

Sample data layer snippet

dataLayer.push({"event":"purchase","ecommerce":{"currency":"EUR","value":"350.00","transaction_id":"ORDER-123","items":[{"item_id":"A123","item_name":"Accommodation"}],"currencyCode":"EUR","purchase":{"actionField":{"id":"ORDER-123","revenue":"350.00"},"products":[{"id":"123","name":"Accommodation","price":"350.00"}]}}});

checkout

Legacy UA checkout step payload.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Portals

Checkout portal

Flow

Legacy checkout step

Deprecated UA checkout event emitted by the old checkout portal.

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy UA checkout action payload.

Sample data layer snippet

dataLayer.push({"event":"checkout","ecommerce":{"checkout":{"actionField":{"step":1},"products":[{"id":"123","name":"Accommodation","price":"350.00"}]}}});

addToCart

Legacy UA addToCart payload from old checkout portal.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Portals

Checkout portal

Flow

Legacy checkout add-to-cart

Deprecated UA add-to-cart event emitted during checkout step 1.

Top-level parameters

Parameter Sample Presence Type Status Description

ecommerce

{...}

if available

custom

Deprecated (removal planned for Q2 2026)

Legacy UA add-to-cart payload.

Sample data layer snippet

dataLayer.push({"event":"addToCart","ecommerce":{"currencyCode":"EUR","add":{"products":[{"id":"123","name":"Accommodation","price":"350.00"}]}}});

option

Legacy UA option payload for optional bookings.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Portals

Checkout portal

Flow

Legacy option booking

Deprecated UA option event emitted for bookings created as options.

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy UA option payload.

Sample data layer snippet

dataLayer.push({"event":"option","ecommerce":{"currencyCode":"EUR","option":{"actionField":{"id":"ORDER-123","revenue":"350.00"},"products":[{"id":"123","name":"Accommodation","price":"350.00"}]}}});

failed_payment

Legacy failed_payment payload nested under ecommerce.

Status

Deprecated (removal planned for Q2 2026)

Type

event

Available on

Booking site

Flow

Legacy payment failure

Replaced by

failed_payment

Deprecated checkout portal payload that nested failure details under ecommerce.

Replaced by failed_payment with top-level fields.

Top-level parameters

Parameter Sample Presence Type Description

ecommerce

{...}

if available

custom

Legacy failed payment ecommerce payload.

Sample data layer snippet

dataLayer.push({"event":"failed_payment","ecommerce":{"currency":"EUR","value":"350.00","transaction_id":"ORDER-123","reason_failed":"failure"}});

hrental_home

Legacy remarketing object for hotel_rental home pages.

Status

Deprecated (removal planned for Q2 2026)

Type

data layer object

Available on

Booking site

Flow

Legacy hotel_rental home remarketing

Deprecated data layer object for Google Ads hotel_rental remarketing.

Object fields

Parameter Sample Presence Type Description

hrental_pagetype

home

if available

custom

Page type for remarketing.

Sample data layer snippet

dataLayer.push({"hrental_pagetype":"home"});

hrental_home_subsite

Legacy remarketing object for hotel_rental park home pages.

Status

Deprecated (removal planned for Q2 2026)

Type

data layer object

Available on

Booking site

Flow

Legacy hotel_rental park home remarketing

Deprecated data layer object for Google Ads hotel_rental remarketing.

Object fields

Parameter Sample Presence Type Description

hrental_pagetype

park-home

if available

custom

Page type for remarketing.

park_name

Park name

if available

custom

Park name for remarketing.

park_id

123

if available

custom

Park id for remarketing.

country

Netherlands

if available

custom

Park country.

region

Twente

if available

custom

Park region.

city

Enschede

if available

custom

Park city.

Sample data layer snippet

dataLayer.push({"hrental_pagetype":"park-home","park_name":"Park name","park_id":"123","country":"Netherlands","region":"Twente","city":"Enschede"});

hrental_searchresults

Legacy remarketing object for hotel_rental search results.

Status

Deprecated (removal planned for Q2 2026)

Type

data layer object

Available on

Booking site

Flow

Legacy hotel_rental search results remarketing

Deprecated data layer object for Google Ads hotel_rental remarketing.

Object fields

Parameter Sample Presence Type Description

hrental_pagetype

searchresults

if available

custom

Page type for remarketing.

Sample data layer snippet

dataLayer.push({"hrental_pagetype":"searchresults"});

hrental_offerdetail

Legacy remarketing object for hotel_rental offer detail pages.

Status

Deprecated (removal planned for Q2 2026)

Type

data layer object

Available on

Booking site

Flow

Legacy hotel_rental offer detail remarketing

Deprecated data layer object for Google Ads hotel_rental remarketing.

This payload often included event: "gtm.load" alongside the hrental fields.

Object fields

Parameter Sample Presence Type Description

event

gtm.load

if available

custom

Legacy event key emitted alongside hrental fields.

hrental_pagetype

offerdetail

if available

custom

Page type for remarketing.

hrental_id

123

if available

custom

Rentable type id.

hrental_park_id

456

if available

custom

Park id.

hrental_park_name

Park name

if available

custom

Park name.

hrental_startdate

2026-02-20

if available

custom

Start date.

hrental_enddate

2026-02-22

if available

custom

End date.

hrental_length_of_stay

2

if available

custom

Length of stay in nights.

hrental_totalvalue

120.00

if available

custom

Total value for the stay.

hrental_city

Enschede

if available

custom

City.

hrental_region

Twente

if available

custom

Region.

hrental_country

Netherlands

if available

custom

Country.

Sample data layer snippet

dataLayer.push({"event":"gtm.load","hrental_pagetype":"offerdetail","hrental_id":"123","hrental_park_id":"456","hrental_park_name":"Park name","hrental_startdate":"2026-02-20","hrental_enddate":"2026-02-22","hrental_length_of_stay":"2","hrental_totalvalue":"120.00","hrental_city":"Enschede","hrental_region":"Twente","hrental_country":"Netherlands"});

hrental_conversion

Legacy remarketing conversion object for hotel_rental.

Status

Deprecated (removal planned for Q2 2026)

Type

data layer object

Available on

Booking site

Flow

Legacy hotel_rental conversion

Deprecated data layer object emitted during old checkout conversion flows.

Object fields

Parameter Sample Presence Type Description

hrental_id

123

if available

custom

Rentable type id.

hrental_park_id

456

if available

custom

Park id.

hrental_park_name

Park name

if available

custom

Park name.

hrental_pagetype

conversion

if available

custom

Page type for conversion.

hrental_startdate

2026-02-20

if available

custom

Start date.

hrental_enddate

2026-02-22

if available

custom

End date.

hrental_length_of_stay

2

if available

custom

Length of stay in nights.

hrental_totalvalue

350.00

if available

custom

Total value for the stay.

item_country

Netherlands

if available

custom

Country.

item_region

Twente

if available

custom

Region.

item_city

Enschede

if available

custom

City.

Sample data layer snippet

dataLayer.push({"hrental_id":"123","hrental_park_id":"456","hrental_park_name":"Park name","hrental_pagetype":"conversion","hrental_startdate":"2026-02-20","hrental_enddate":"2026-02-22","hrental_length_of_stay":"2","hrental_totalvalue":"350.00","item_country":"Netherlands","item_region":"Twente","item_city":"Enschede"});

return_from_payment

Legacy payment portal return payload.

Status

Deprecated (removal planned for Q2 2026)

Type

data layer object

Available on

Booking site

Flow

Legacy payment return

Deprecated payment portal payload emitted after returning from payment.

Object fields

Parameter Sample Presence Type Description

reservation

{...}

if available

custom

Legacy reservation object with return-from-payment status.

Sample data layer snippet

dataLayer.push({"reservation":{"id":123,"step":"return-from-payment","amount":350.0}});