Custom Events
The Salesforce Interactions SDK and the Personalization module feature several built-in CustomEvents that you can use to bind listeners specific to the Web SDK. You can find the data passed by these CustomEvents in the detail
property of the event object passed to a listener's callback function.
The Salesforce Interactions SDK and Personalization module provide the following built-in custom CustomEvents in each of the namespaces.
The following code sample depicts how you can use an mcis:onStatSend
or evergage:onStatSend
CustomEvent to dispatch a CustomEvent whenever a campaign stat is logged and sent via Evergage.sendStat
.
OnEventResponse
The mcis:onEventResponse
or evergage:onEventResponse
CustomEvent is dispatched whenever an Event API request returns a response. This CustomEvent contains the actionEvent
payload sent to the Event API and any returned campaign data, such as the names and IDs of campaigns and experiences.
The OnEventResponse
CustomEvent contains the following detail
.
ActionEventResponse
The ActionEventResponse
object has the following structure.
ActionEvent
The ActionEvent
object has the following structure.
OnEventSend
The mcis:onBeforeEventSend
or evergage:onEventSend
CustomEvent is dispatched before an event is sent to Personalization. This CustomEvent has the following structure and contains the actionEvent
payload to be processed in the event pipeline. Both CustomEvents can be canceled to prevent the event from being sent to Personalization.
ActionEvent
The ActionEvent
object has the following structure.
The following code example depicts canceling the OnEventSend
CustomEvent to prevent the event from being sent to Personalization.
OnException
The interactions:onException
or evergage:onException
CustomEvent is dispatched when an operation fails and contains information about the error and its context. You can use the OnException
CustomEvent for debugging and logging runtime errors.
The OnException
CustomEvent contains the following detail
.
Error
The Error
object has the following structure.
OnInit
The mcis:onInit
or evergage:onInit
CustomEvent is dispatched when the Personalization module of the Salesforce Interactions SDK is initialized. You can use the OnInit
CustomEvent for debugging single-page applications (SPA) where the beacon and the sitemap usually have to reinitialize without a page load event.
The OnInit
CustomEvent contains the following detail
.
The BeaconConfig
object contains internal configuration in order for the Web SDK to run properly. Do not reference these fields as they are subject to change.
OnShutDown
The interactions:onShutDown
or evergage:onShutDown
CustomEvent is dispatched whenever the Salesforce Interactions Web SDK is shut down and contains the shutdown message with the following detail
.
OnInitSitemap
The interactions:onInitSitemap
or evergage:onInitSitemap
CustomEvent is dispatched whenever a sitemap is initialized via the SalesforceInteractions.initSitemap
or Evergage.initSitemap
function and contains the following detail
.
SiteMapConfig
The SiteMapConfig
object has the following structure.
OnPageMatchStatusUpdated
The interactions:onPageMatchStatusUpdated
or evergage:onPageMatchStatusUpdated
CustomEvent is dispatched whenever the match status of a sitemap's page type is updated. The matchStatus
array accumulates every time an OnPageMatchStatusUpdated
CustomEvent is dispatched, in the order the match statuses are updated. If the status is running
, the PageMatchStatus
includes the start time. Conversely, if the status is selected
, rejected
, or matched
, the PageMatchStatus
includes the end time. The selected
page type is the first page type to be matched. The sitemap does not evaluate other matched
page types.
The OnPageMatchStatusUpdated
CustomEvent contains the following detail
.
PageMatchStatus
The PageMatchStatus
object has the following structure.
OnStatSend
The mcis:onStatSend
or evergage:onStatSend
CustomEvent is dispatched when a stat is tracked and can be used to send Personalization campaign stats to third-party tracking tools, such as Google Analytics and Adobe Analytics.
The OnStatSend
CustomEvent is dispatched with or without the Campaign Stats Gear. For more information on sending campaign stats with or without the Campaign Stats Gear, refer to the Campaign Stats Tracking documentation.
The OnStatSend
CustomEvent contains the following detail
.
CampaignStat
The CampaignStat
object has the following structure.
CampaignResponse
The CampaignResponse
object has the following structure.
OnTemplateDisplayEnd
When enabled, the Handlebars Gear dispatches the mcis:onTemplateDisplayEnd
or evergage:onTemplateDisplayEnd
CustomEvent on rendering templates. The Campaign Stats Gear listens for this CustomEvent to track campaign stats. Server-side campaigns require the OnTemplateDisplayEnd
CustomEvent to be manually dispatched. For instructions on how to dispatch an OnTemplateDisplayEnd
CustomEvent manually without the Handlebars Gear, refer to the Web Campaign Stats documentation.
The OnTemplateDisplayEnd
CustomEvent contains the following detail
.
OnConsentRevoke
The interactions:onConsentRevoke
or evergage:onConsentRevoke
CustomEvent is dispatched when a Consents status is changed from Opt In
to Opt Out
. This CustomEvent contains information about the Consent that was revoked with the following detail.
Consent
The Consent
object included in the OnConsentRevoke
CustomEvent detail is the consent that was updated and has the following structure.
The following CustomEvents are only dispatched on the SalesforceInteractions
namespace.
OnBeforeEventSend
The interactions:onBeforeEventSend
CustomEvent is dispatched by the Salesforce Interactions Web SDK before an event is sent to any modules. This CustomEvent contains the event from the Salesforce Interactions Web SDK and the following detail.
ActionEvent
The ActionEvent<Interaction>
object has the following structure.
OnSetAnonymousId
The interactions:onSetAnonymousId
CustomEvent is dispatched when an anonymousId is set and contains the following detail.
OnResetAnonymousId
The interactions:onResetAnonymousId
CustomEvent is dispatched when the anonymousId is reset through a call to SalesforceInteractions.resetAnonymousId
.
OnClearCookie
The interactions:onClearCookie
CustomEvent is not dispatched by the Salesforce Interactions Web SDK but can be manually dispatched to clear any cookies set by the Web SDK. This CustomEvent can be used to instruct the Salesforce Interactions Web SDK to remove any cookies it has set. The interactions:onClearCookie
CustomEvent optionally allows for the following detail where domain
is the cookieDomain
used for setting cookies in the Web SDK.
The following code sample depicts dispatching this CustomEvent with a specified domain.