> For the complete documentation index, see [llms.txt](https://docs.hello-lisa.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hello-lisa.com/developers/analytics/abobe-appmeasurement/event-reference/products.md).

# Products

### Product Event

Along with all standard [Analytics Event properties](/developers/analytics/abobe-appmeasurement/event-reference.md#canonical-shared-event-schema), a Product Event includes the following additional properties:

#### Schema

```typescript
interface ProductEvent extends Omit<
  AnalyticsEvent,
  'eventType'
> {
  eventType:
    | 'lsc:product:add-to-cart'
    | 'lsc:product:add-to-wishlist'
    | 'lsc:product:click'
    | 'lsc:product:emoji'
    | 'lsc:product:impresssion';
  /**
   * The product's brand name translated to the visitor's locale,
   * if provided.
   */
  productBrand?: string;
  /**
   * The currency code (ISO 4217, 3-letter format) of the product price.
   */
  productCurrency?: string;
  /**
   * Universally unique, LiSA-assigned product identifier.
   */
  productId: string;
  /**
   * The product's original price, if currently on sale.
   */
  productOriginalPrice?: number;
  /**
   * The prouduct's current price.
   */
  productPrice?: number;
  /**
   * The unique product identifier as assigned by the customer's
   * ecommerce system.
   */
  productReference?: string;
  /**
   * The product title, translated to the visitor's locale.
   */
  productTitle: string;
  /**
   * Universally unique, LiSA-assigned product variant identifier.
   */
  variantId?: string;
  /**
   * The unique product variant identifier as assigned by the
   * customer's ecommerce system.
   */
  variantReference?: string;
}

```

#### Alias Mapping Table

<table data-full-width="false"><thead><tr><th width="270.4453125" valign="top">Alias (contextData key) </th><th valign="top">Meaning / Use Case</th><th valign="top">Suggested Adobe Target (placeholder)</th><th valign="top">Friendly Label Example</th></tr></thead><tbody><tr><td valign="top"><code>lsc.productBrand</code></td><td valign="top">Product brand</td><td valign="top">prop{PRODUCT_BRAND}</td><td valign="top">Brand</td></tr><tr><td valign="top"><code>lsc.productCurrency</code></td><td valign="top">Regional segmentation</td><td valign="top">prop{VISITOR_NAME}</td><td valign="top">Currency</td></tr><tr><td valign="top"><code>lsc.productId</code></td><td valign="top">Attribution to specific products</td><td valign="top">eVar{PRODUCT_ID}</td><td valign="top">LiSA Product ID</td></tr><tr><td valign="top"><code>lsc.productOriginalPrice</code></td><td valign="top">Dynamic pricing analysis or revenue accuracy</td><td valign="top">prop{ORIGINAL_PRICE}</td><td valign="top">Original Price</td></tr><tr><td valign="top"><code>lsc.productPrice</code></td><td valign="top">Dynamic pricing analysis or revenue accuracy</td><td valign="top">prop{PRICE}</td><td valign="top">Price</td></tr><tr><td valign="top"><code>lsc.productReference</code></td><td valign="top">Attribution to specific products</td><td valign="top">eVar{PRODUCT_REFERENCE} or merchandising eVar</td><td valign="top">Product ID</td></tr><tr><td valign="top"><code>lsc.productTitle</code></td><td valign="top">Product name</td><td valign="top">prop{PRODUCT_NAME}</td><td valign="top">Product Name</td></tr><tr><td valign="top"><code>lsc.variantId</code></td><td valign="top">Attribution to specific products</td><td valign="top">eVar{VARIANT_ID}</td><td valign="top">LiSA Variant ID</td></tr><tr><td valign="top"><code>lsc.variantReference</code></td><td valign="top">Attribution to specific products</td><td valign="top">eVar{VARIANT_REFERENCE} merchandising eVar</td><td valign="top">Variant ID</td></tr></tbody></table>

### `lsc:product:add-to-cart`

Visitor added a product to their cart.

#### Schema

```typescript
export interface ProductAddToCartEvent extends Omit<
  ProductEvent,
  'eventType'
> {
  eventType: 'lsc:product:add-to-cart';
}
```

### `lsc:product:add-to-wishlist`

Visitor added a product to their wishlist.

#### Schema

```typescript
export interface ProductAddToWishlistEvent extends Omit<
  ProductEvent,
  'eventType'
> {
  eventType: 'lsc:product:add-to-wishlist';
}
```

### `lsc:product:click`

Visitor clicked a product to see the product details.

#### Schema

```typescript
export interface ProductClickEvent extends Omit<
  ProductEvent,
  'eventType'
> {
  eventType: 'lsc:product:click';
}
```

### `lsc:product:emoji`

Visitor reacted to the product with an emoji.

#### Schema

```typescript
export interface ProductEmojiEvent extends Omit<
  ProductEvent,
  'eventType'
> {
  eventType: 'lsc:product:emoji';
}
```

### `lsc:product:impression`

Product card appeared in the visitor's viewport for the first time.

#### Schema

```typescript
export interface ProductImpressionEvent extends Omit<
  ProductEvent,
  'eventType'
> {
  eventType: 'lsc:product:impression';

  // Event-specific fields

  /**
   * Indicates, whether this is the first impression of this product
   * for the current media item.
   */
  firstOccurrence: boolean;
}
```

#### Alias Mapping Table

<table data-full-width="false"><thead><tr><th width="270.4453125" valign="top">Alias (contextData key) </th><th valign="top">Meaning / Use Case</th><th valign="top">Suggested Adobe Target (placeholder)</th><th valign="top">Friendly Label Example</th></tr></thead><tbody><tr><td valign="top"><code>lsc.firstOccurrence</code></td><td valign="top">Filtering</td><td valign="top">prop{FIRST_OCCURRENCE}</td><td valign="top">First Occurrence</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.hello-lisa.com/developers/analytics/abobe-appmeasurement/event-reference/products.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
