Skip to main content
Sitecore Documentation
  • Learn
  • Downloads
  • Changelog
  • Roadmap
CDPCloud Portal
Sitecore CDP Developer Documentation
  • Developing with Sitecore CDP
        • Authentication
        • Base URL
        • Retrieve the browser ID
            • IDENTITY event
            • SEARCH event
            • ADD event
            • ADD event for flights
            • ADD event for ancillary product
            • ADD_CONSUMERS event
            • ADD_CONTACTS event
            • CONFIRM event
            • CONFIRM event for flights
            • CHECKOUT event
            • ORDER_CHECKOUT event
            • CLEAR_CART event
            • PAYMENT event
            • Custom event
        • Sending orders
        • Cart abandonment
        • Send additional event data
        • Troubleshooting
  1. Sending events
  1. Stream API
  2. Direct HTTP requests reference
  3. Sending events
  4. Custom event

Custom event

A custom event is unique to your organization. For example, most retail sites have an ADD event that captures when a guest clicks the add button. However, you might want to capture, for example, how many times a guest adds items to a wish list, and for this, there is no standard event in Sitecore CDP. To do this, you can send a custom event, for example, ADD_TO_WISHLIST.

You can track how often a custom event is raised by creating a goal for an experiment in Sitecore Personalize. You can also use the raising of the custom event as the basis for declaring a winner in your experiment.

Notice

You send a custom event in the same way that you send a standard event. You must be consistent with the name of the custom event you send and you must not use the name of a standard event.

To send a custom event, use the following required attributes:

Attribute

Type

Description

Example

channel

string (uppercase)

The touchpoint where the user interacts with your brand.

  • "MOBILE_APP"

  • "MOBILE_WEB"

  • "WEB"

type

string (uppercase)

The name of the custom event. This is a custom value of your choice. However, you must not set the value to any of the Sitecore CDP reserved event names.

You must not set the value to any of the Sitecore CDP reserved event names:

  • Any event name starting with "SC_"

  • "ADD" - standard ADD event.

  • "ADD_CONSUMERS" - standard ADD_CONSUMERS event.

  • "ADD_CONTACTS" - standard ADD_CONTACTS event.

  • "CAMPAIGN_TRACKING" - internally reserved event. Do not use.

  • "CHECKOUT" - standard CHECKOUT event.

  • "CLEAR_CART" - standard CLEAR_CART event.

  • "CONFIRM" - standard CONFIRM event.

  • "FEEDBACK" - FEEDBACK event.

  • "IDENTITY" - standard IDENTITY event.

  • "INTERACTION" - internally reserved event. Do not use.

  • "ORDER_CHECKOUT" - standard ORDER_CHECKOUT event.

  • "PAYMENT" - standard PAYMENT event.

  • "SUBSCRIPTION" - internally reserved event. Do not use.

  • "SEARCH" - standard SEARCH event.

  • "TRACKING" - internally reserved event. Do not use.

  • "VIEW" - standard VIEW event.

language

string (uppercase ISO 639-1)

The language the user is using your app in.

  • "DE"

  • "EN"

  • "FR"

currency

string (uppercase ISO 4217)

The alphabetic currency code of the currency the user is using in your app.

  • "EUR"

  • "GBP"

  • "USD"

page

string

The name of the webpage where the interaction with your brand takes place.

This is a custom value of your choice.

  • "home"

  • "contact-us.html"

pos

string

The name of the point of sale where the interaction with your brand takes place.

  • "myretailsite/ireland"

  • "spinair.com/france"

browser_id

string

The browser ID.

"a38b230c-11eb-4cf9-8d5d-274e9f344925​"

Example 53. Custom event object
{
    "channel": "MOBILE_APP",
    "type": "ADD_TO_WISHLIST",
    "language": "EN",
    "currency": "EUR",
    "page": "home",
    "pos": "myretailsite/ireland",
    "browser_id": "a38b230c-11eb-4cf9-8d5d-274e9f344925​"
}


sidebar. Extending a custom event
Example 54. Custom event object with custom attributes

You can extend a custom event by including a maximum of 50 custom attributes of your choice.

In the type attribute of the event, the custom event name is specified as myretailsite:CLICKED_POPUP. The event contains the custom attributes clickedPopup and timeBetweenPopupAndClick.

{
    "channel": "MOBILE_APP",
    "type": "myretailsite:CLICKED_POPUP",
    "language": "EN",
    "currency": "EUR",
    "page": "home page",
    "pos": "myretailsite/ireland",
    "browser_id": "a38b230c-11eb-4cf9-8d5d-274e9f344925​",
    "ext": {
       "clickedPopup": "true",
       "timeBetweenPopupAndClick": "8 seconds"
    }
}


Example 55. Custom event object with custom goal value

This example shows a custom event that is used to track variant performance against a custom goal. In this example, the custom event name is specified in the type parameter as ADD_BAG. The event contains an ext object which includes a custom goal value bagValue and attribute bagConverted.

If the custom goal is set up to track the numerical price of bag using bagValue, each time the custom event triggers, this number will be derived from the ext object and considered in goal calculations.

Additionally, if the custom goal is also set up to track an additional attribute such as bagConverted, the attribute's string value can be used to determine if the custom event is successful.

{
    "channel": "WEB",
    "type": "ADD_BAG",
    "language": "EN",
    "currency": "EUR",
    "page": "home page",
    "pos": "myeurosite",
    "browser_id": "a38b230c-11eb-4cf9-8d5d-274e9f344925",
    "ext": {
       "bagValue": "1234",
       "bagConverted": "true"
    }
}


2.0 data model does not support this functionality.

If you have suggestions for improving this article, let us know!

Documentation Assistant

This assistant uses AI to generate responses based on Sitecore documentation. While it has access to official sources, answers may be incomplete or inaccurate and should not be considered official advice or support.
Powered by
k
kapa.ai
Protected by reCAPTCHA

© Copyright 2026, Sitecore A/S or a Sitecore affiliated company.
All rights reserved.

Privacy policySitecore Trust CenterTerms of use