Skip to content
Get API key (opens in a new tab)

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.

widgetIdstring

Your 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.

marketIdstring

Market identifier for localized storefronts.

postsLoadedCountnumber

Number of posts loaded into the widget.

fallbackPostsCountnumber

Number of fallback posts used.

pagePositionXnumber

Horizontal page position.

pagePositionYnumber

Vertical 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.

widgetIdstring

Your 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.

marketIdstring

Market identifier for localized storefronts.

postsLoadedCountnumber

Number of posts loaded into the widget.

fallbackPostsCountnumber

Number of fallback posts used.

pagePositionXnumber

Horizontal page position.

pagePositionYnumber

Vertical 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.

widgetIdstring

Widget 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.

postIdstringrequired

Cevoid post ID.

marketIdstring

Market identifier for localized storefronts.

postPositionnumber

Position 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.

widgetIdstring

Widget 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.

postIdstringrequired

Cevoid post ID.

marketIdstring

Market identifier for localized storefronts.

postPositionnumber

Position 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.

widgetIdstring

Widget 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.

postIdstringrequired

Cevoid post ID.

marketIdstring

Market identifier for localized storefronts.

postPositionnumber

Position 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.

widgetIdstring

Widget 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.

postIdstringrequired

Cevoid post ID.

marketIdstring

Market identifier for localized storefronts.

postPositionnumber

Position 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.

widgetIdstring

Widget 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.

postIdstringrequired

Cevoid post ID tied to the product click.

productIdstringrequired

Product ID that was clicked.

marketIdstring

Market 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.

widgetIdstring

Widget 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.

postIdstringrequired

Cevoid post ID tied to the product click.

productIdstringrequired

Product ID that was clicked.

marketIdstring

Market 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.

widgetIdstring

Widget 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.

postIdstringrequired

Cevoid post ID tied to the product click.

productIdstringrequired

Product ID that was clicked.

marketIdstring

Market identifier for localized storefronts.

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.

widgetIdstring

Gallery 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.

marketIdstring

Market identifier for localized storefronts.

loadMoreType'infinity_loader' | 'button'required

How additional posts were loaded.

pagePositionXnumber

Horizontal page position.

pagePositionYnumber

Vertical page position.

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.

widgetIdstring

Gallery 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.

marketIdstring

Market identifier for localized storefronts.

pagePositionXnumber

Horizontal page position.

pagePositionYnumber

Vertical 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.

orderIdstringrequired

Order identifier.

marketIdstring

Market identifier used for SKU resolution in telemetry.

customerIdstring

Customer identifier.

currencystringrequired

ISO currency code.

revenuenumberrequired

Decimal major-unit amount in currency.

Example: 129.99

skusstring[]

Purchased SKUs used for telemetry-side product resolution.

  • Provide revenue in the same currency as currency, for example 129.99 with USD.
  • Use trackSale(data) for conversions rather than trackEvent('sale.complete', ...).