Skip to main content
Sitecore Documentation
  • Learn
  • Downloads
  • Changelog
  • Roadmap
PersonalizeCloud Portal
Sitecore Personalize
        • Out of the box conditions
            • Condition elements
            • Types of parameters
            • Context parameters for conditions
        • Create a condition with the Code Assistant
        • Copy a custom condition to another tenant
        • Custom conditions best practices
        • Manage conditions
    • View guest events
    • Copying entities between tenants
  • Using client-side JavaScript
  • Glossary
  1. Create a custom condition
  1. Sitecore Personalize
  2. Developer Center

Context parameters for conditions

The following sections detail the types of context parameters you can include when creating a condition.

We recommend you familiarize yourself with the types of parameters and elements for conditions, as well as unsupported JavaScript functions, before you add any context parameters to conditions.

Guest parameters

The guest object contains parameters about the site visitor. When you use JavaScript in a custom condition, you can check for the presence of a value from the guest object. For example, you can check the site visitor's guest type, which is the level of identity Sitecore Personalize has determined for the site visitor.

You can also include guest parameters that non-technical users can assign values for when adding a condition to an experiment or experience. For example, the user can select which language the guest uses, as a condition for showing the experiment or experience.

The Compatibility column in the table lists the types of experiments and experiences for which the parameter is compatible. You can use parameters from the guest object in all types of experiments and experiences.

To use parameters from the guest object in a condition, include the full path to the guest parameter in the JavaScript editor. The full path is provided in the Parameter column of this table:

ParameterTypeCompatibilityDescriptionExample
guest.languagestringweb, interactive, triggeredThe language used by this guest, represented by 2 letters, in ISO 3166-1 alpha-2 format."EN"
guest.emailstringweb, interactive, triggeredThe email address of the guest."[email protected]"
guest.titlestringweb, interactive, triggeredThe title of the guest."Ms."
guest.firstNamestringweb, interactive, triggeredThe first name of this guest."Dave"
guest.lastNamestringweb, interactive, triggeredThe last name of this guest."Jones"
guest.genderstringweb, interactive, triggeredThe gender of this guest."unknown"
guest.citystringweb, interactive, triggeredThe city address of the guest."Dublin"
guest.countrystringweb, interactive, triggeredThe country of this guest, represented by 2 letters, in ISO 3166-1 alpha-2 format."IE"
guest.nationalitystringweb, interactive, triggeredThe nationality of the guest."Irish"
guest.dateOfBirthdateweb, interactive, triggeredThe date of birth of this guest.2001-02-15T00:00
guest.passportExpirydateweb, interactive, triggeredThe expiry date of the guest's passport.2023-08-01'T'00
:00.000'Z
guest.typestringweb, interactive, triggeredThe level of identity obtained for the guest."customer"
guest.firstSeendateweb, interactive, triggeredThe first time the guest interacted with your brand."2015-01-01T16:17
.000Z"
guest.lastSeendateweb, interactive, triggeredThe last time the guest interacted with your brand."2023-04-06T16:17
.000Z"

UTM and referrer parameters

The experience request service returns parameters from the site visitor's real-time session. When you use JavaScript in a custom condition, you can check for the presence of a value from the experience request service. For example, you can check the site visitor's point of sale.

You can also include session parameters that non-technical users can assign values for when adding a condition to an experiment or experience. For example, the user can select which UTM campaign is associated with the site visitor's URL, as a condition for showing the experiment or experience.

To ensure Sitecore Personalize calls the experience request service and returns the parameters when evaluating the condition, include this function in the JavaScript editor:

(function () {
        return { request: request };
})();

The Compatibility column in the table lists the types of experiments and experiences for which the parameter is compatible. You can only use parameters in a condition that are compatible with the same types of experiments and experiences.

To use parameters from the experience request service in a condition, include the full path to the request parameter in the JavaScript editor. The full path is provided in the Parameter column of this table:

ParameterTypeCompatibilityDescriptionExample
request.pointOfSalestringweb and interactiveThe point of sale associated with the session."myretailsite/ireland"
request.params.referrerstringinteractiveThe referrer associated with the session."facebook.com"
request.params.utm.campaignstringinteractiveThe UTM campaign included in the visitor's current URL."content_promotion"
request.params.utm.sourcestringinteractiveThe UTM source included in the visitor's current URL."bing"
request.params.utm.mediumstringinteractiveThe UTM medium included in the visitor's current URL."social"
request.params.utm.contentstringinteractiveThe UTM content included in the visitor's current URL."call_to_action"

Tenant parameters

The tenant object contains parameters from your organization's tenant settings that are set in the Company Information screen. When you use JavaScript in a custom condition, you can check for the presence of a value from the tenant object. For example, you can check if the tenant's currency is EUR.

Warning

The parameter values set in the Company Information screen and returned in the tenant object are not necessarily identical to the parameters that your organization sends to the Sitecore Personalize APIs.

The Compatibility column in the table lists the types of experiments and experiences for which the parameter is compatible. You can only use tenant parameters in a condition that is compatible with interactive experiments and experiences.

To use tenant parameters in a condition, include the full path to the tenant parameter in the JavaScript editor. The full path is provided in the Parameter column of this table:

ParameterTypeCompatibilityDescriptionExample
tenant.configurations.dateFormatstringinteractiveThe date format that displays on the Personalize UI."1985-12-24"
tenant.configurations.namestringinteractiveThe name of the tenant."My Retail Site"
tenant.configurations.timeZonestringinteractiveThe time zone of the tenant."Europe/Dublin"
tenant.configurations.currencystring

(uppercase ISO 4217)
interactiveThe alphabetic currency code of the currency in which monetary values display in the Sitecore Personalize UI."EUR"
tenant.configurations.languagestringinteractiveThe primary language set for the tenant."en-gb"

Entity parameters

The entity object contains parameters from the event that triggered the experiment or experience. When you use JavaScript in a custom condition, you can check for the presence of a value from the entity object. For example, you can check if the SESSION_CLOSED event triggered the experiment.

The Compatibility column lists the types of experiments and experiences for which the parameter is compatible. You can only use entity parameters in a condition that is compatible with triggered experiments and experiences.

To use entity parameters in a condition, include the full path to the entity parameter in the JavaScript editor. The full path is provided in the Parameter column of this table:

ParameterTypeCompatibilityDescriptionExample
entity.refstringtriggeredThe UUID of the event."717732d5-ab8a-4506-8e56-90e71ee9e008"
entity.createdAtstringtriggeredThe time that Sitecore Personalize received the event."2023-07-19T05:50
.267Z"
entity.modifiedAtstringtriggeredThe time the event was modified."2023-07-20T05:50
.267Z"
entity.typestringtriggeredThe event type that triggered the experiment or experience."GUEST_CREATED", "ORDER_CREATED", "ORDER_UPDATED", "SESSION_CLOSED", "GUEST_MODIFIED_CUSTOM"
entity.statusstringtriggeredThe status of the event."PROCESSED"
entity.channelstringtriggeredThe touchpoint where the user interacts with your brand. For example, for webpages, the channel is WEB. For mobile app screens, the channel is MOBILE_APP.
  • "AIRPORT_KIOSK"
  • "BRANCH"
  • "CALL_CENTER"
  • "EMAIL"
  • "GDS"
  • "KIOSK"
  • "MOBILE_APP"
  • "MOBILE_WEB"
  • "SMS"
  • "OFFLINE"
  • "OTA"
  • "OTHER"
  • "WEB"
entity.pointOfSalestringtriggeredThe name of the point of sale where the interaction with your brand takes place."myretailsite/ireland"
entity.browserRefstringtriggeredThe unique browser reference."56860bff-94ba-4d84-aa37-2b5a83d5411b"
entity.sessionRefstringtriggeredThe unique session reference."a60e670f-52d6-5cd0-aec3-59de082e3953"
entity.arbitraryDataobjecttriggeredA JSON object of custom data.N/A
entity.arbitraryData.languagestringtriggeredThe language of the user session."EN"
entity.arbitraryData.pagestringtriggeredThe name of the webpage where the interaction with your brand takes place.This is a custom value of your choice."contact-us.html"
entity.arbitraryData.currencystringtriggeredThe alphabetic currency code of the currency the user is using in your app."EUR"
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