In collaboration with the PROS team, EveryMundo has developed an Airline GA4 transition dataLayer . This structured approach enables tracking of a wide range of ancillary products. The comprehensive dataLayer described in this article may not be applicable to all airlines, as its fields depend on the specific ancillaries offered by each airline.

dataLayer Example

dataLayer Structure

The EveryMundo Ecommerce dataLayer follows the standard GA4 ‘purchase’ event structure while also integrating numerous additional parameters not present in GA4’s default configuration. These parameters can be tracked as Custom Dimensions.

To get further reference on the GA4 purchase dataLayer visit this link:

Custom Dimensions

Product Parameters

To optimize the number of Custom Dimensions utilized in GA4, we will employ the predefined product parameters. Furthermore, GA4 features multi-level product categories that enable enhanced 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.


The Ecommerce dataLayer’s composition will differ for each airline due to variations in data storage on servers and data availability. This suggested structure offers best practice guidelines derived from our experience in assisting airlines with their Ecommerce tracking over the years.

Ultimately, the airline’s data analytics department will define the ideal structure. This determination will rely on the airline’s product range and the requisite information to support informed business decisions within the company.

learn more about EveryMundo and our products here: