Event types
Browse Analytics SDK event names with the trigger, an example payload, and the fields of each event.
Use this page when you want the Analytics SDK event catalog. Each event lists its trigger, an example payload, and its fields.
Events that Cevoid galleries and cards send carry widgetType gallery or card. Events you send with trackEvent() always carry widgetType api, so the examples below show api.
Widget lifecycle
widget.load
Sent when a widget finishes loading its initial content.
trackEvent('widget.load', {
widgetId: 'gallery-homepage',
marketId: 'market_se',
postsLoadedCount: 12,
fallbackPostsCount: 0,
pagePositionX: 0,
pagePositionY: 640
}){
"widgetId": "gallery-homepage",
"marketId": "market_se",
"postsLoadedCount": 12,
"fallbackPostsCount": 0,
"pagePositionX": 0,
"pagePositionY": 640,
"widgetType": "api"
}The browser event is emitted as cevoid:widget.load. The forwarded payload is available on event.detail.
widgetIdstringYour Cevoid widget instance ID.
widgetType'gallery' | 'card' | 'api'Set by the SDK: gallery or card when a Cevoid widget sends the event, api when you call trackEvent(). You do not pass it.
marketIdstringMarket identifier for localized storefronts.
postsLoadedCountnumberNumber of posts loaded into the widget.
fallbackPostsCountnumberNumber of fallback posts used.
pagePositionXnumberHorizontal page position.
pagePositionYnumberVertical page position.
widget.view
Sent when a widget becomes visible to the shopper.
trackEvent('widget.view', {
widgetId: 'gallery-homepage',
marketId: 'market_se',
postsLoadedCount: 12,
fallbackPostsCount: 0,
pagePositionX: 0,
pagePositionY: 640
}){
"widgetId": "gallery-homepage",
"marketId": "market_se",
"postsLoadedCount": 12,
"fallbackPostsCount": 0,
"pagePositionX": 0,
"pagePositionY": 640,
"widgetType": "api"
}The browser event is emitted as cevoid:widget.view. The forwarded payload is available on event.detail.
widgetIdstringYour Cevoid widget instance ID.
widgetType'gallery' | 'card' | 'api'Set by the SDK: gallery or card when a Cevoid widget sends the event, api when you call trackEvent(). You do not pass it.
marketIdstringMarket identifier for localized storefronts.
postsLoadedCountnumberNumber of posts loaded into the widget.
fallbackPostsCountnumberNumber of fallback posts used.
pagePositionXnumberHorizontal page position.
pagePositionYnumberVertical page position.
Post events
post.view
Sent when a post impression is tracked.
trackEvent('post.view', {
widgetId: 'gallery-homepage',
postId: 'post_123',
marketId: 'market_se',
postPosition: 1,
taggedProductIds: ['prod_1', 'prod_2']
}){
"widgetId": "gallery-homepage",
"postId": "post_123",
"marketId": "market_se",
"postPosition": 1,
"taggedProductIds": ["prod_1", "prod_2"],
"widgetType": "api"
}The browser event is emitted as cevoid:post.view. The forwarded payload is available on event.detail.
widgetIdstringWidget instance ID that showed the post.
widgetType'gallery' | 'card' | 'api'Set by the SDK: gallery or card when a Cevoid widget sends the event, api when you call trackEvent(). You do not pass it.
postIdstringrequiredCevoid post ID.
marketIdstringMarket identifier for localized storefronts.
postPositionnumberPosition of the post in the widget.
taggedProductIdsstring[]Product IDs associated with the post.
post.click
Sent when a shopper clicks a post.
trackEvent('post.click', {
widgetId: 'gallery-homepage',
postId: 'post_123',
marketId: 'market_se',
postPosition: 4,
taggedProductIds: ['prod_1', 'prod_2']
}){
"widgetId": "gallery-homepage",
"postId": "post_123",
"marketId": "market_se",
"postPosition": 4,
"taggedProductIds": ["prod_1", "prod_2"],
"widgetType": "api"
}The browser event is emitted as cevoid:post.click. The forwarded payload is available on event.detail.
widgetIdstringWidget instance ID that showed the post.
widgetType'gallery' | 'card' | 'api'Set by the SDK: gallery or card when a Cevoid widget sends the event, api when you call trackEvent(). You do not pass it.
postIdstringrequiredCevoid post ID.
marketIdstringMarket identifier for localized storefronts.
postPositionnumberPosition of the post in the widget.
taggedProductIdsstring[]Product IDs associated with the post.
post.view.popup
Sent when a post is viewed in the popup experience.
trackEvent('post.view.popup', {
widgetId: 'gallery-homepage',
postId: 'post_123',
marketId: 'market_se',
postPosition: 1,
taggedProductIds: ['prod_1', 'prod_2']
}){
"widgetId": "gallery-homepage",
"postId": "post_123",
"marketId": "market_se",
"postPosition": 1,
"taggedProductIds": ["prod_1", "prod_2"],
"widgetType": "api"
}The browser event is emitted as cevoid:post.view.popup. The forwarded payload is available on event.detail.
widgetIdstringWidget instance ID that showed the post.
widgetType'gallery' | 'card' | 'api'Set by the SDK: gallery or card when a Cevoid widget sends the event, api when you call trackEvent(). You do not pass it.
postIdstringrequiredCevoid post ID.
marketIdstringMarket identifier for localized storefronts.
postPositionnumberPosition of the post in the widget.
taggedProductIdsstring[]Product IDs associated with the post.
post.clap
Sent when a shopper claps a post.
trackEvent('post.clap', {
widgetId: 'gallery-homepage',
postId: 'post_123',
marketId: 'market_se',
postPosition: 1,
taggedProductIds: ['prod_1', 'prod_2']
}){
"widgetId": "gallery-homepage",
"postId": "post_123",
"marketId": "market_se",
"postPosition": 1,
"taggedProductIds": ["prod_1", "prod_2"],
"widgetType": "api"
}The browser event is emitted as cevoid:post.clap. The forwarded payload is available on event.detail.
widgetIdstringWidget instance ID that showed the post.
widgetType'gallery' | 'card' | 'api'Set by the SDK: gallery or card when a Cevoid widget sends the event, api when you call trackEvent(). You do not pass it.
postIdstringrequiredCevoid post ID.
marketIdstringMarket identifier for localized storefronts.
postPositionnumberPosition of the post in the widget.
taggedProductIdsstring[]Product IDs associated with the post.
Product click events
product.click.tag
Sent when a shopper clicks a tagged product from a post.
trackEvent('product.click.tag', {
widgetId: 'gallery-homepage',
postId: 'post_123',
productId: 'prod_1',
marketId: 'market_se'
}){
"widgetId": "gallery-homepage",
"postId": "post_123",
"productId": "prod_1",
"marketId": "market_se",
"widgetType": "api"
}The browser event is emitted as cevoid:product.click.tag. The forwarded payload is available on event.detail.
widgetIdstringWidget instance ID that showed the product.
widgetType'gallery' | 'card' | 'api'Set by the SDK: gallery or card when a Cevoid widget sends the event, api when you call trackEvent(). You do not pass it.
postIdstringrequiredCevoid post ID tied to the product click.
productIdstringrequiredProduct ID that was clicked.
marketIdstringMarket identifier for localized storefronts.
product.click.post
Sent when a shopper clicks through to a product from a post.
trackEvent('product.click.post', {
widgetId: 'gallery-homepage',
postId: 'post_123',
productId: 'prod_1',
marketId: 'market_se'
}){
"widgetId": "gallery-homepage",
"postId": "post_123",
"productId": "prod_1",
"marketId": "market_se",
"widgetType": "api"
}The browser event is emitted as cevoid:product.click.post. The forwarded payload is available on event.detail.
widgetIdstringWidget instance ID that showed the product.
widgetType'gallery' | 'card' | 'api'Set by the SDK: gallery or card when a Cevoid widget sends the event, api when you call trackEvent(). You do not pass it.
postIdstringrequiredCevoid post ID tied to the product click.
productIdstringrequiredProduct ID that was clicked.
marketIdstringMarket identifier for localized storefronts.
product.click.card
Sent when a shopper clicks through to a product from a card widget.
trackEvent('product.click.card', {
widgetId: 'card-homepage',
postId: 'post_123',
productId: 'prod_1',
marketId: 'market_se'
}){
"widgetId": "card-homepage",
"postId": "post_123",
"productId": "prod_1",
"marketId": "market_se",
"widgetType": "api"
}The browser event is emitted as cevoid:product.click.card. The forwarded payload is available on event.detail.
widgetIdstringWidget instance ID that showed the product.
widgetType'gallery' | 'card' | 'api'Set by the SDK: gallery or card when a Cevoid widget sends the event, api when you call trackEvent(). You do not pass it.
postIdstringrequiredCevoid post ID tied to the product click.
productIdstringrequiredProduct ID that was clicked.
marketIdstringMarket identifier for localized storefronts.
Gallery actions
gallery.load_more
Sent when a shopper loads more posts in a gallery widget.
trackEvent('gallery.load_more', {
widgetId: 'gallery-homepage',
marketId: 'market_se',
loadMoreType: 'button',
pagePositionX: 0,
pagePositionY: 1280
}){
"widgetId": "gallery-homepage",
"marketId": "market_se",
"loadMoreType": "button",
"pagePositionX": 0,
"pagePositionY": 1280,
"widgetType": "api"
}The browser event is emitted as cevoid:gallery.load_more. The forwarded payload is available on event.detail.
widgetIdstringGallery widget instance ID.
widgetType'gallery' | 'card' | 'api'Set by the SDK: gallery or card when a Cevoid widget sends the event, api when you call trackEvent(). You do not pass it.
marketIdstringMarket identifier for localized storefronts.
loadMoreType'infinity_loader' | 'button'requiredHow additional posts were loaded.
pagePositionXnumberHorizontal page position.
pagePositionYnumberVertical page position.
gallery.upload_cta_click
Sent when a shopper clicks the upload CTA inside a gallery.
trackEvent('gallery.upload_cta_click', {
widgetId: 'gallery-homepage',
marketId: 'market_se',
pagePositionX: 0,
pagePositionY: 920
}){
"widgetId": "gallery-homepage",
"marketId": "market_se",
"pagePositionX": 0,
"pagePositionY": 920,
"widgetType": "api"
}The browser event is emitted as cevoid:gallery.upload_cta_click. The forwarded payload is available on event.detail.
widgetIdstringGallery widget instance ID.
widgetType'gallery' | 'card' | 'api'Set by the SDK: gallery or card when a Cevoid widget sends the event, api when you call trackEvent(). You do not pass it.
marketIdstringMarket identifier for localized storefronts.
pagePositionXnumberHorizontal page position.
pagePositionYnumberVertical page position.
Conversion event
sale.complete
Sent by trackSale() when a completed purchase is tracked. The SDK emits the browser event cevoid:sale.complete and sends the internal event sale.complete.
trackSale({
orderId: 'order_123',
marketId: 'market_123',
customerId: 'cust_456',
currency: 'USD',
revenue: 129.99,
skus: ['SKU-1', 'SKU-2']
}){
"orderId": "order_123",
"marketId": "market_123",
"customerId": "cust_456",
"currency": "USD",
"revenue": 129.99,
"skus": ["SKU-1", "SKU-2"]
}The browser event is emitted as cevoid:sale.complete. The forwarded payload is available on event.detail.
orderIdstringrequiredOrder identifier.
marketIdstringMarket identifier used for SKU resolution in telemetry.
customerIdstringCustomer identifier.
currencystringrequiredISO currency code.
revenuenumberrequiredDecimal major-unit amount in currency.
Example: 129.99
skusstring[]Purchased SKUs used for telemetry-side product resolution.
- Provide
revenuein the same currency ascurrency, for example129.99withUSD. - Use
trackSale(data)for conversions rather thantrackEvent('sale.complete', ...).