---
schema_version: "1"
id: 8bf2a771c7b208191779a31d26f4c93053228502349ad110f759a9db2bc57ece
title: Catalog Event
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/data-cloud/data-cloud-engagement-mobile-sdk/guides/c360a-api-engagement-mobile-sdk-catalog-event.md
canonical_url: https://developer.salesforce.com/docs/data/data-cloud-engagement-mobile-sdk/guide/c360a-api-engagement-mobile-sdk-catalog-event.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: c805de60dcb477ead7e672b131311fd2b8eee02a409a2616a44d69af8209fc0b
products:
  - Data 360 Engagement Mobile SDK
  - Data 360 Developer Documentation
---
# Catalog Event

Use catalog events to capture customer interactions with various catalog objects in your mobile application, such as products, articles, or other content items. These events help you understand which items are most popular and how customers interact with your catalog.

## Event Structure

All catalog events require a `catalogObject` with these fields:

| Field Name                            | Field Type | Required | Description                                                                                     |
| ------------------------------------- | ---------- | -------- | ----------------------------------------------------------------------------------------------- |
| `catalogObject.type`                  | string     | Yes      | Type name representing the catalog object (for example, `"Product"`, `"Article"`, `"Service"`). |
| `catalogObject.id`                    | string     | Yes      | Unique identifier for the catalog object.                                                       |
| `catalogObject.attributes`            | object     | No       | Dictionary of custom attributes for the catalog object.                                         |
| `catalogObject.relatedCatalogObjects` | object     | No       | Dictionary of related catalog objects.                                                          |

## Event Types

The Catalog Event supports these interaction types:

- View: Track when customers view catalog objects
- Comment: Capture customer comments on catalog objects
- Favorite: Track when customers mark items as favorites
- Quick View: Monitor quick view interactions
- Review: Capture customer reviews
- Share: Track when customers share catalog objects
- View Detail: Monitor when customers view catalog object details

## View Catalog Event

Track when customers view catalog objects.

```
ViewCatalogObjectEvent(
    catalogObject: CatalogObject(
        type: "Product",
        id: "prod_12345",
        attributes: [
            "category": "Electronics",
            "brand": "TechCorp",
            "price_range": "100-500"
        ],
        relatedCatalogObjects: [
            "variants": ["prod_12345_red", "prod_12345_blue"],
            "accessories": ["prod_67890", "prod_67891"]
        ]
    )
)
```

```
CatalogEvent.view(
  CatalogObject(
    id = "prod_12345",
    type = "Product",
    attributes = mapOf(
      "category" to "Electronics",
      "brand" to "TechCorp",
      "price_range" to "100-500"
    ),
    relatedCatalogObjects = mapOf(
      "variants" to listOf("prod_12345_red", "prod_12345_blue"),
      "accessories" to listOf("prod_67890", "prod_67891")
    )
  )
)
```

## Comment Catalog Event

Capture customer comments on catalog objects.

```
CommentCatalogObjectEvent(
    catalogObject: CatalogObject(
        type: "Article",
        id: "article_789",
        attributes: [
            "author": "Jane Smith",
            "category": "Technology",
            "read_time": "5 min"
        ],
        relatedCatalogObjects: [
            "related_articles": ["article_790", "article_791"],
            "author_articles": ["article_785", "article_786"]
        ]
    )
)
```

```
CatalogEvent.comment(
  CatalogObject(
    id = "article_789",
    type = "Article",
    attributes = mapOf(
      "author" to "Jane Smith",
      "category" to "Technology",
      "read_time" to "5 min"
    ),
    relatedCatalogObjects = mapOf(
      "related_articles" to listOf("article_790", "article_791"),
      "author_articles" to listOf("article_785", "article_786")
    )
  )
)
```

## Favorite Catalog Event

Track when customers mark catalog objects as favorites.

```
FavoriteCatalogObjectEvent(
    catalogObject: CatalogObject(
        type: "Product",
        id: "product-12",
        attributes: [
            "PROMO_CODE": "WINTER2022"
        ],
        relatedCatalogObjects: [
            "size": ["S", "M", "L"],
            "sku": ["1234", "5678"]
        ]
    )
)
```

```
CatalogEvent.favorite(
  CatalogObject(
    id = "product-1",
    type = "Product",
    attributes = mapOf(
      "PROMO_CODE" to "FALL2021"
    ),
    relatedCatalogObjects = mapOf(
      "product's size" to listOf("S", "M", "L"),
      "product-sku" to listOf("1234", "5678")
    )
  )
)
```

## Quick View Catalog Event

Monitor quick views on catalog objects.

```
QuickViewCatalogObjectEvent(
    catalogObject: CatalogObject(
        type: "Product",
        id: "prod_99999",
        attributes: [
            "category": "Fashion",
            "brand": "StyleBrand",
            "availability": "In Stock"
        ],
        relatedCatalogObjects: [
            "sizes": ["XS", "S", "M", "L", "XL"],
            "colors": ["red", "blue", "black"]
        ]
    )
)
```

```
CatalogEvent.quickView(
  CatalogObject(
    id = "prod_99999",
    type = "Product",
    attributes = mapOf(
      "category" to "Fashion",
      "brand" to "StyleBrand",
      "availability" to "In Stock"
    ),
    relatedCatalogObjects = mapOf(
      "sizes" to listOf("XS", "S", "M", "L", "XL"),
      "colors" to listOf("red", "blue", "black")
    )
  )
)
```

## Review Catalog Event

Track when customers review catalog objects.

```
ReviewCatalogObjectEvent(
    catalogObject: CatalogObject(
        type: "Product",
        id: "prod_55555",
        attributes: [
            "category": "Home & Garden",
            "brand": "HomeStyle",
            "rating": "4.5"
        ],
        relatedCatalogObjects: [
            "product_line": ["prod_55555", "prod_55556", "prod_55557"],
            "replacement_parts": ["part_001", "part_002"]
        ]
    )
)
```

```
CatalogEvent.review(
  CatalogObject(
    id = "prod_55555",
    type = "Product",
    attributes = mapOf(
      "category" to "Home & Garden",
      "brand" to "HomeStyle",
      "rating" to "4.5"
    ),
    relatedCatalogObjects = mapOf(
      "product_line" to listOf("prod_55555", "prod_55556", "prod_55557"),
      "replacement_parts" to listOf("part_001", "part_002")
    )
  )
)
```

## Share Catalog Event

Track when customers share items from your catalog.

```
ShareCatalogObjectEvent(
    catalogObject: CatalogObject(
        type: "Article",
        id: "article_321",
        attributes: [
            "author": "Mike Johnson",
            "category": "Lifestyle",
            "featured": "true"
        ],
        relatedCatalogObjects: [
            "series": ["article_320", "article_321", "article_322"],
            "tags": ["wellness", "health", "tips"]
        ]
    )
)
```

```
CatalogEvent.share(
  CatalogObject(
    id = "article_321",
    type = "Article",
    attributes = mapOf(
      "author" to "Mike Johnson",
      "category" to "Lifestyle",
      "featured" to "true"
    ),
    relatedCatalogObjects = mapOf(
      "series" to listOf("article_320", "article_321", "article_322"),
      "tags" to listOf("wellness", "health", "tips")
    )
  )
)
```

## View Detail Catalog Event

Track when customers view catalog object details.

```
ViewCatalogObjectDetailEvent(
    catalogObject: CatalogObject(
        type: "Product",
        id: "product-12",
        attributes: [
            "PROMO_CODE": "WINTER2022"
        ],
        relatedCatalogObjects: [
            "size": ["S", "M", "L"],
            "sku": ["1234", "5678"]
        ]
    )
)
```

```
CatalogEvent.viewDetail(
  CatalogObject(
    id = "product-1",
    type = "Product",
    attributes = mapOf(
      "PROMO_CODE" to "FALL2021"
    ),
    relatedCatalogObjects = mapOf(
      "product's size" to listOf("S", "M", "L"),
      "product-sku" to listOf("1234", "5678")
    )
  )
)
```
