Skip to main content
Data layer events

select_promotion

A user selects a promotion.

Status: Planned

Triggered when a promotion is selected (clicked).

Emitted for availability-search promotions and checkout portal discounts.

GA4 docs: https://developers.google.com/analytics/devguides/collection/ga4/reference/events?client_type=gtag#select_promotion

Sample data layer snippet

dataLayer.push({ ecommerce: null });  // Clear the previous ecommerce object. 
 dataLayer.push({
  "event": "select_promotion",
  "ecommerce": {
    "promotion_id": "promo_123",
    "promotion_name": "Summer Sale",
    "creative_name": "Hero Banner",
    "creative_slot": "homepage_hero",
    "items": [
      {
        "item_id": "123123",
        "item_name": "4-Person Luxury Villa",
        "google_business_vertical": "hotel_rental"
      }
    ]
  }
});

Top-level objects

ParameterSamplePresenceDescription
ecommerce{...} (see below)alwaysEcommerce payload wrapper for GA4 events.

ecommerce

Ecommerce payload wrapper for GA4 events.

FieldSamplePresenceDescription
promotion_idpromo_123alwaysPromotion ID. Source: Promotion id (discount, package, or discount card).
promotion_nameSummer SalealwaysPromotion name. Source: Promotion name (discount, package, or discount card).
creative_nameHero Bannerif availableCreative name for the promotion. Source: Promotion creative name (banner/asset name) when provided.
creative_slothomepage_heroif availableCreative slot or placement. Source: Promotion placement/slot identifier when provided.
items[][...] (see below)if availableItems array for the ecommerce payload.
ecommerce.items[]

Items array for the ecommerce payload.

FieldSamplePresenceDescription
item_id123123if availableThe ID of the promoted item. Source: Checkout portal: accommodation type id, extra cost id, bundle id, or amenity id. Availability/property search: category id or property id. Promotions: discount/package id (different entities).
item_name4-Person Luxury Villaif availableThe name of the promoted item. Source: Checkout portal: accommodation type name, extra name, bundle name, or amenity name. Availability/property search: localized category/property name. Promotions: promotion name.
google_business_verticalhotel_rentalif availableGoogle Ads business vertical for dynamic remarketing (examples: "hotel_rental", "retail"). Source: Remarketing business vertical configured globally; not from booking data.

Still need help? Share an idea