# Promotion Tracking

## Promotion Tracking

Promotions represent internal marketing elements such as banners, creatives, or call-to-action buttons. JENTIS supports tracking **impressions** and **clicks** for these promotions.

### Supported Tracking Commands

* `promotion`
* `promotionimpression`
* `promotionclick`

{% hint style="info" %}
As defined, the `promotion*` event automatically activates the [jentis-data-layer-state](https://docs.jentis.com/developer-guide/states/jentis-data-layer-state "mention") in JENTIS using the `sendBeacon` sending method.
{% endhint %}

### Properties for `promotion`

| Name       | Description                                           | Type   | Mandatory | Example                 |
| ---------- | ----------------------------------------------------- | ------ | --------- | ----------------------- |
| `type`     | Either `promotionimpression` or `promotionclick`      | string | yes       | `"promotionimpression"` |
| `id`       | Promotion identifier                                  | string | yes       | `"12345"`               |
| `name`     | Name of the promotion                                 | string | yes       | `"Summer Sale"`         |
| `creative` | Creative name or version                              | string | no        | `"banner_v1"`           |
| `position` | Position reference of the promotion (ideally numeric) | string | no        | `"1"`                   |

### Promotion Impression – Example

```javascript
_jts.push({
  track: "promotion",
  type: "promotionimpression",
  id: "1234",
  name: "Promotion A",
  position: "1",
  creative: ""
});

_jts.push({
  track: "promotion",
  type: "promotionimpression",
  id: "5678",
  name: "Promotion B",
  position: "2",
  creative: ""
});

_jts.push({ track: "promotionimpression" });
```

### Promotion Click – Example

```javascript
_jts.push({
  track: "promotion",
  type: "promotionclick",
  id: "5678",
  name: "Promotion B",
  position: "2",
  creative: ""
});

_jts.push({ track: "promotionclick" });
```

### Deprecated Format (Legacy)

The following format is **deprecated** and should not be used in new implementations:

#### Deprecated Example

```javascript
// DO NOT USE – Legacy Format
_jts.push({
  track: "promotionimpression",
  id: "1234",
  name: "summer promotion",
  creative: "a42 banner",
  position: 1
});

_jts.push({ track: "submit" });
```

> 🚫 Avoid using the legacy format—future support will be removed.

Always use `track: "promotion"` with the `type` field to distinguish between impressions and clicks.

For an overview of how this integrates with product tracking, refer to the [](https://docs.jentis.com/data-capture/web-tracking-setup/set-up-jentis-data-layer/e-commerce-tracking "mention").
