Introduction
In collaboration with the PROS team, EveryMundo has developed a dataLayer to help airlines migrate to GA4 in a structure that will allow tracking of every possible ancillary product.
The dataLayer presented in this article is quite comprehensive; not all fields will apply to every airline. The final dataLayer structure will depend on which ancillaries the airline offers.
dataLayer Example
dataLayer Structure
The EveryMundo Ecommerce dataLayer follows the standard GA4 ‘purchase’ event structure and it includes several extra parameters that are not provided by GA4. These parameters can be tracked as Custom Dimensions.
To get further reference on the GA4 purchase dataLayer visit this link: https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtm
Custom Dimensions
Product Parameters
With the purpose of optimizing the number of Custom Dimensions used in GA4, we will use the predefined product parameters. GA4 has multi-level product categories which allow further segmentation in the reports.
Product item_id
The item_id
will be populated by the name of the product so will provide the highest level of product segmentation. Here is the list of possible values:
Product item_name
As shown in the dataLayer example, the item_name
will have the name of the product that was purchased by the user. This can be the route, hotel name, car rental company, type or service, etc. In some cases, the item_name
can have the same value as the item_id
in case there is no data available. item_name
should always have a value to avoid having empty values in the reports.
Other Product Dimensions
price
will always report the unitary price of the product (including taxes) and quantity
will have the total of products. item_list_id
will have the SSR code of the product when available.
FLIGHT
is the only item_id
that will have item_variant
. The value will be the full route including connections. In case the booking is a flight from Miami to Paris and there is a connection in New York, the value would be MIA>JFK>PAR
.
item_category[n]
will vary from product to product, but FLIGHT
will be the only item_id
that will use multiple item categories:
The rest of the products can use item_category
as a resource for extra segmentation like car model, hotel room type, property rental name, etc. In case this information is not available, we suggest keeping the same value as the item_name
as sown in the dataLayer example above to avoid having empty values in the item_category
reports.
Conclusion
The Ecommerce dataLayer will always vary from airline to airline as it is subject to how the data is stored in the servers and what data is available. This suggested structure can provide best practices guidelines from our experience in helping airlines fix their Ecommerce tracking through the years.
In the end, the best structure will be defined by the airline’s data analytics department depending on which products the airline offers and which information will support the business decision-making in the company.