Google Analytics 4 (GA4) Generic Booking Engine (IBE) Conversion Data

With Google Analytics 4 conversion tracking, we will send a standardized set of data for tracking at the item level everything that is booked in a guest transaction. Note that we will push one conversion per item in the cart (one per booked reservation ID). This is to ensure proper mapping of reservation to price data.

Events

The following non-standard events are sent by default. These are in addition to the standard pageview and click events.

  • Landing (sent on pageview for the Index or Shop page)

  • Detail (sent on pageview of any Detail page)

  • Cart (sent on pageview of the Cart page)

  • Checkout (sent on pageview of the Checkout or Combocheckout page)

  • Confirm (sent on pageview of the Confirm page, only at final confirmation of a reservation)

  • Lookup (sent on pageview of the Confirm page, if the page was loaded after the initial confirmation)

  • Cancel (sent on pageview of the Confirm page, only immediately after a reservation was cancelled)

  • purchase (will be sent on final confirmation of the reservation, with an ecommerce purchase event payload as defined below)

Transaction Fields

The following fields of data will be provided:

  • transaction_id: The CRS Reservation ID for this booking.

  • currency: The currency code for the values in this transaction (USD, EUR, GBP, etc)

  • shipping: Always “0”.

  • tax: The total tax for this booking (if appropriate), including taxes on addons.

  • value: The total value of the booking, including addons. Excludes tax.

  • affiliation: The HotelID used internal to Windsurfer CRS. Guaranteed to never change.

  • coupon: The promo code used for this booking (if any). Will be empty string if no promo code was used.

  • dimension1: The HotelID used internal to Windsurfer CRS. Guaranteed to never change.

  • dimension2: The hotel name at time of booking.

  • dimension3: The name of the rate at time of booking.

  • dimension4: The date of checkin. This date is in the format year-month-day (with prepended 0 if needed)

  • dimension5: A pipe-separated list of addon names included with this booking. This does NOT list package inclusions - this is only guest-added items.

  • metric1: Number of nights for the booking.

  • metric2: The number of Adults in the booking.

  • metric3: The total number of Children in the booking.

  • items: An array of items in this reservation. Will always contain one item for the stay itself, and any optional addons will be sent as individual items in this array as well.

Room Stay Item Fields

For the Room Stay item, the following fields are sent:

  • item_id: A string in the form of "HotelID_RoomCode_RateCode_CheckinDate_Nights_Occupancy".

  • item_name: A string in the form of “HotelID: RoomName @ RateName”.

  • item_list_name: Always "RoomStay".

  • price: The price of a single night.

  • quantity: The number of nights.

  • item_brand: The room code. Guaranteed not to change.

  • item_category: The HotelID used internal to Windsurfer CRS. Guaranteed to never change.

  • item_variant: The rate code. Guaranteed not to change.

  • dimension1: The hotel name at time of booking.

  • dimension2: The room name at the time of booking.

  • dimension3: The rate name at the time of booking.

  • dimension4: The date of checkin. This date is in the format year-month-day (with prepended 0 if needed).

  • metric1: Number of nights for the booking.

  • metric2: The number of Adults in the booking.

  • metric3: The total number of Children in the booking.

Addon Item Fields

For the Addon items, the following fields are sent:

  • item_id: A string in the form of "HotelID_AddonID".

  • item_name: A string in the form of “HotelID: AddonName”.

  • item_list_name: Always "Addons".

  • price: The price of a single addon/item.

  • quantity: The number of addons/items.

  • item_brand: Always “Addon”.

  • item_category: The HotelID used internal to Windsurfer CRS. Guaranteed to never change.

  • item_variant: The addon Name.

  • dimension1: The hotel name at time of booking.

  • dimension2: Always “Addon”.

  • dimension3: The addon name at the time of booking.

  • dimension4: The date of addon service. This date is in the format year-month-day (with prepended 0 if needed).

  • metric1: Number of nights for the booking.

  • metric2: The number of Adults in the booking.

  • metric3: The total number of Children in the booking.

Customizing

It is possible to customize the output of the purchase event data, but the following caveats apply:

  • Fields marked with cannot ever be removed or changed.

  • Fields marked with must be present, but can be changed on an individual basis. If one is overridden, then the next caveat applies as well.

  • All other Fields of each item type will be over-ridden as a single unit. If one is overridden, then all others are also overridden (or removed).

Please engage with the Support and/or the Implementations teams regarding customizations to ensure your goals are properly met.

Updates

02/08/2023 - Initial documentation created.