Skip to main content

Edge-Side Personalization Terminology

When the personalization engine runs on a CDN, the result is called edge-side (or edge-based) personalization.


ESI stands for Edge Side Includes. ESI is the technology that the edge-side personalization engine is built on. The Uniform API attempts to limit the amount of ESI expertise a developer needs in order to be able to build the components needed to support a decoupled Sitecore site.

ESI Variable#

An ESI variable is an object that represents a value within the personalization engine. The personalization supports two kinds of variables: built-in and custom.

Built-in variables are created by the personalization engine itself. Some of these variables come from the HTTP request that the personalization engine handles. Other variables are created by the personalization engine using data the personalization engine has access to:

  • Cookie values
  • Query string parameters
  • Request headers
  • Visitor location details
  • Visitor device characteristics

Custom variables are created by developers. These variables may be set by modifying built-in variables, or they may be created from scratch.

ESI Expression#

An ESI expression is a description of an instruction that the personalization engine can execute. Examples of expressions are:

  • Get the value of a variable
  • Convert the value of a variable to upper-case
  • Set the value of a variable
  • Compare two values

ESI Query#

An ESI query is an ESI expression that can be true or false. Examples of queries are:

  • The value of variable A matches the value of variable B
  • Variable A has a value
  • The value of variable A is greater than 10
  • The value of variable A contains the text "something"

ESI Builder#

An ESI builder is a component that facilitates the creation of conditional logic blocks (such as if-else blocks) that run in the personalization engine.

ESI Context (Edge Context)#

ESI variables often contain values that must be parsed before they can be used by the personalization engine. A developer writes the instructions for how to parse these variables. These instructions run before personalization starts.

The result of these instructions is a set of ESI variables - some old and some new - that are used during the personalization process. These variables are collectively known as the ESI context (or Edge Context).


ESI Context is an essential part of how edge-side personalization works. For more details, see the section on ESI Context.

Rule Condition Parser#

A rule condition parser provides the ability to convert a Sitecore rule condition into a format that can run in an edge-side personalization engine.