Catalog Interaction

Use a catalog interaction to capture when a customer interacts with various tracking items. For example, a product or a blog post.

The interaction names are treated as a catalog interaction.

Interaction Name Value
SalesforceInteractions.CatalogObjectInteractionName.CommentCatalogObject Comment Catalog Object
SalesforceInteractions.CatalogObjectInteractionName.FavoriteCatalogObject Favorite Catalog Object
SalesforceInteractions.CatalogObjectInteractionName.QuickViewCatalogObject Quick View Catalog Object
SalesforceInteractions.CatalogObjectInteractionName.ReviewCatalogObject Review Catalog Object
SalesforceInteractions.CatalogObjectInteractionName.ShareCatalogObject Share Catalog Object
SalesforceInteractions.CatalogObjectInteractionName.ViewCatalogObject View Catalog Object
SalesforceInteractions.CatalogObjectInteractionName.ViewCatalogObjectDetail View Catalog Object Detail
1{
2   interaction: {
3        name: 'View Catalog Object',
4        catalogObject: {
5            type: 'Product',
6            id: 'product-xyz',
7            attributes: {
8                name: 'Product XYZ',
9                category: 'Clothing',
10                color: 'Red',
11                sku: 'product-xyz-sku'
12            },
13            relatedCatalogObjects: [{
14                Sizes: ["S", "M", "L"]
15            }]
16        }
17    }
18}
Catalog interaction fields:
Field Name Field Type Description
catalogObject.attributes object A dictionary of user-supplied values.
catalogObject.id string Required. A unique id representing the catalog object.
catalogObject.relatedCatalogObjects object A dictionary of related catalog objects.
catalogObject.type string Required. A type name representing the catalog object.
name string Required. The event names.

Example

Here’s how a catalog interaction is captured using the Web SDK.

1SalesforceInteractions.sendEvent({
2   interaction: {
3        name: 'View Catalog Object',
4        catalogObject: {
5            type: 'Product',
6            id: 'product-xyz',
7            attributes: {
8                name: 'Product XYZ',
9                category: 'Clothing',
10                color: 'Red',
11                sku: 'product-xyz-sku'
12            },
13            relatedCatalogObjects: [{
14                Sizes: ["S", "M", "L"]
15            }]
16        }
17    }
18})

Here’s how a catalog interaction is captured using the Sitemap.

1SalesforceInteractions.init().then(() => {
2   const sitemapConfig = {
3        global: {},
4        pageTypes: [{
5            name: 'product_detail',
6            isMatch: () => true,
7            interaction: {
8            name: SalesforceInteractions.CatalogObjectInteractionName.ViewCatalogObject,
9                catalogObject: {
10                    type: 'Product',
11                    id: 'product-xyz',
12                    attributes: {
13                        name: 'Product XYZ',
14                        category: 'Clothing',
15                        color: 'Red',
16                        sku: 'product-xyz-sku'
17                    },
18                    relatedCatalogObjects: [{
19                        Sizes: ["S", "M", "L"]
20                    }]
21                }
22            }
23        }]
24    }
25    SalesforceInteractions.initSitemap(sitemapConfig)
26})