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 NameField TypeRequiredDescription
catalogObject.typestringYesType name representing the catalog object (for example, "Product", "Article", "Service").
catalogObject.idstringYesUnique identifier for the catalog object.
catalogObject.attributesobjectNoDictionary of custom attributes for the catalog object.
catalogObject.relatedCatalogObjectsobjectNoDictionary 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.

iOS Example
1ViewCatalogObjectEvent(
2    catalogObject: CatalogObject(
3        type: "Product",
4        id: "prod_12345",
5        attributes: [
6            "category": "Electronics",
7            "brand": "TechCorp",
8            "price_range": "100-500"
9        ],
10        relatedCatalogObjects: [
11            "variants": ["prod_12345_red", "prod_12345_blue"],
12            "accessories": ["prod_67890", "prod_67891"]
13        ]
14    )
15)
Android Example
1CatalogEvent.view(
2  CatalogObject(
3    id = "prod_12345",
4    type = "Product",
5    attributes = mapOf(
6      "category" to "Electronics",
7      "brand" to "TechCorp",
8      "price_range" to "100-500"
9    ),
10    relatedCatalogObjects = mapOf(
11      "variants" to listOf("prod_12345_red", "prod_12345_blue"),
12      "accessories" to listOf("prod_67890", "prod_67891")
13    )
14  )
15)

Comment Catalog Event 

Capture customer comments on catalog objects.

iOS Example
1CommentCatalogObjectEvent(
2    catalogObject: CatalogObject(
3        type: "Article",
4        id: "article_789",
5        attributes: [
6            "author": "Jane Smith",
7            "category": "Technology",
8            "read_time": "5 min"
9        ],
10        relatedCatalogObjects: [
11            "related_articles": ["article_790", "article_791"],
12            "author_articles": ["article_785", "article_786"]
13        ]
14    )
15)
Android Example
1CatalogEvent.comment(
2  CatalogObject(
3    id = "article_789",
4    type = "Article",
5    attributes = mapOf(
6      "author" to "Jane Smith",
7      "category" to "Technology",
8      "read_time" to "5 min"
9    ),
10    relatedCatalogObjects = mapOf(
11      "related_articles" to listOf("article_790", "article_791"),
12      "author_articles" to listOf("article_785", "article_786")
13    )
14  )
15)

Favorite Catalog Event 

Track when customers mark catalog objects as favorites.

iOS Example
1FavoriteCatalogObjectEvent(
2    catalogObject: CatalogObject(
3        type: "Product",
4        id: "product-12",
5        attributes: [
6            "PROMO_CODE": "WINTER2022"
7        ],
8        relatedCatalogObjects: [
9            "size": ["S", "M", "L"],
10            "sku": ["1234", "5678"]
11        ]
12    )
13)
Android Example
1CatalogEvent.favorite(
2  CatalogObject(
3    id = "product-1",
4    type = "Product",
5    attributes = mapOf(
6      "PROMO_CODE" to "FALL2021"
7    ),
8    relatedCatalogObjects = mapOf(
9      "product's size" to listOf("S", "M", "L"),
10      "product-sku" to listOf("1234", "5678")
11    )
12  )
13)

Quick View Catalog Event 

Monitor quick views on catalog objects.

iOS Example
1QuickViewCatalogObjectEvent(
2    catalogObject: CatalogObject(
3        type: "Product",
4        id: "prod_99999",
5        attributes: [
6            "category": "Fashion",
7            "brand": "StyleBrand",
8            "availability": "In Stock"
9        ],
10        relatedCatalogObjects: [
11            "sizes": ["XS", "S", "M", "L", "XL"],
12            "colors": ["red", "blue", "black"]
13        ]
14    )
15)
Android Example
1CatalogEvent.quickView(
2  CatalogObject(
3    id = "prod_99999",
4    type = "Product",
5    attributes = mapOf(
6      "category" to "Fashion",
7      "brand" to "StyleBrand",
8      "availability" to "In Stock"
9    ),
10    relatedCatalogObjects = mapOf(
11      "sizes" to listOf("XS", "S", "M", "L", "XL"),
12      "colors" to listOf("red", "blue", "black")
13    )
14  )
15)

Review Catalog Event 

Track when customers review catalog objects.

iOS Example
1ReviewCatalogObjectEvent(
2    catalogObject: CatalogObject(
3        type: "Product",
4        id: "prod_55555",
5        attributes: [
6            "category": "Home & Garden",
7            "brand": "HomeStyle",
8            "rating": "4.5"
9        ],
10        relatedCatalogObjects: [
11            "product_line": ["prod_55555", "prod_55556", "prod_55557"],
12            "replacement_parts": ["part_001", "part_002"]
13        ]
14    )
15)
Android Example
1CatalogEvent.review(
2  CatalogObject(
3    id = "prod_55555",
4    type = "Product",
5    attributes = mapOf(
6      "category" to "Home & Garden",
7      "brand" to "HomeStyle",
8      "rating" to "4.5"
9    ),
10    relatedCatalogObjects = mapOf(
11      "product_line" to listOf("prod_55555", "prod_55556", "prod_55557"),
12      "replacement_parts" to listOf("part_001", "part_002")
13    )
14  )
15)

Share Catalog Event 

Track when customers share items from your catalog.

iOS Example
1ShareCatalogObjectEvent(
2    catalogObject: CatalogObject(
3        type: "Article",
4        id: "article_321",
5        attributes: [
6            "author": "Mike Johnson",
7            "category": "Lifestyle",
8            "featured": "true"
9        ],
10        relatedCatalogObjects: [
11            "series": ["article_320", "article_321", "article_322"],
12            "tags": ["wellness", "health", "tips"]
13        ]
14    )
15)
Android Example
1CatalogEvent.share(
2  CatalogObject(
3    id = "article_321",
4    type = "Article",
5    attributes = mapOf(
6      "author" to "Mike Johnson",
7      "category" to "Lifestyle",
8      "featured" to "true"
9    ),
10    relatedCatalogObjects = mapOf(
11      "series" to listOf("article_320", "article_321", "article_322"),
12      "tags" to listOf("wellness", "health", "tips")
13    )
14  )
15)

View Detail Catalog Event 

Track when customers view catalog object details.

iOS Example
1ViewCatalogObjectDetailEvent(
2    catalogObject: CatalogObject(
3        type: "Product",
4        id: "product-12",
5        attributes: [
6            "PROMO_CODE": "WINTER2022"
7        ],
8        relatedCatalogObjects: [
9            "size": ["S", "M", "L"],
10            "sku": ["1234", "5678"]
11        ]
12    )
13)
Android Example
1CatalogEvent.viewDetail(
2  CatalogObject(
3    id = "product-1",
4    type = "Product",
5    attributes = mapOf(
6      "PROMO_CODE" to "FALL2021"
7    ),
8    relatedCatalogObjects = mapOf(
9      "product's size" to listOf("S", "M", "L"),
10      "product-sku" to listOf("1234", "5678")
11    )
12  )
13)