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")
    )
  )
)