promotion.clicked

The promotion was clicked, before its action runs: an apply-coupon button then applies its code.

CODE
next.on('promotion.clicked', (data, event) => {});

Data

Present: always; optional when it may be missing; campaign once the campaign is loaded; priced once the server priced the cart.

FieldTypePresent
idstringalwaysexitIntent({ id }) or data-next-promotion; exit_intent for the exit-intent popup by default.
type"exit_intent" | "banner"alwaysexit_intent for the exit-intent popup, banner for a marked element.
namestringoptionalexitIntent({ name }) or data-next-promotion-name, when set.
creativestringoptionalThe popup's template name or image URL, or data-next-promotion-creative.
actionstringoptionalThe template button's data-exit-intent-action, such as apply-coupon.
coupon_codestringoptionalThe button's data-coupon-code.

Example

The second argument, with data inside. See Events for the envelope's fields.

CODE
{
  "event_id": "3f2b8c1d9e7a4b6c8d5e2f1a0b9c8d7e",
  "event_type": "promotion.clicked",
  "object": "promotion",
  "data": {
    "id": "exit-offer",
    "type": "exit_intent",
    "name": "Exit offer",
    "creative": "exit-offer",
    "action": "apply-coupon",
    "coupon_code": "SAVE10"
  },
  "created_at": "2026-11-04T08:30:00.000Z",
  "session_id": "0b8f3c2d1e4a4f6b9c7d5e3f2a1b0c9d",
  "sdk_version": "0.5.0"
}