Managing dynamic segments

November 14, 2023

Segments are subsets of your entire visitor population that share certain characteristics, for example, properties or logged activities. Segmenting an audience is one of the most common marketing techniques based on the assumption that, statistically, people sharing the same psychographic or behavioral attributes tend to react in the same way to given simulations. As visitors in the same segment are presumed to share the same behavior, building segments allows marketers to create quick and efficient targeted personalization experiences.

Accessing the Dynamic segments page

To access the Dynamic segments page:

Navigate to jExperience>Projects>Profiling tools>Dynamic segments.


Segment definition

A segment is defined by a name, a description and an arbitrary number of conditions linked together by logical operators.

Segments page

The segments page displays a paginated list of existing segments.


For each segment declared, is displayed its name, the number of matching profiles (red square), the fact that the segment is shared on the platform or not, the segment description (if filled) and 3 action buttons


 Edit the segment details (name, description and conditions).

View the list of profiles currently in that segment.

Delete a segment

Creating a segment

To create a segment:

  1. Click on the Segment entry in the left menu.
  2. Click on the top right menu.
  3. Choose Create new segment.
  4. Enter a meaningful name for your segment (mandatory)
  5. Enter a meaningful description for your segment
  6. Click Save.

At this stage the segment is declared but has no conditions define which profiles match. The second stage is then to add conditions.

Using segments as conditions for other segments

jExperience is a very agile system that allows you to use previously created segments as conditions to define a new segment. This is highly convenient to manage your segments efficiently and can save a lot of time in administrative tasks.

Segment Union

You can create a segment that will re-group several other segments using the OR operator between each of them. Logically, the resulting segment is the addition of all those segments.

For example: East Asia segment = User is from segment China OR segment Taiwan OR segment Japan OR segment South Korea.

All visitors that belong to one of the segments China, Taiwan, Japan, and South Korea will belong to the East-Asia segment.

Segments intersection

In the same way, you can use several segments as conditions with an AND operator to target a segment intersection.

For example: East Asian Students = East-Asia segment AND Students segment

Only visitors who are in both segments at the same time will be part of the East Asian students segment.

Segments inheritance

Segments in jExperience are not organized in a tree structure (like folders and subfolders) with children inheriting properties from their parents. Nevertheless, as a segment can use other segments as conditions and, as the calculation of the segment population is done in real-time, this is functionally very similar to an inheritance mechanism.

If the segment(s) set as conditions are changed in their definition for any reason, then all segments using this condition will be instantly updated as well.

Lets say that our previous Students segment is defined by the following conditions:

  • Age is between 15 and 21
    • AND
  • The property high-school is Yes
    • OR
  • The property college is Yes

We can create another segment for US students defined like this

  • Segment is Students
    • AND
  • Country is USA

First this segment is faster to create or maintain, because we don't have to redefine the previous 3 conditions that define the Students segment. Second, if the Students segment is modified to take people from 13 to 22, then the change will immediately impact the US Students segment without having to edit it manually.

When building segments, unless you have very specific use cases, you should not try to be too specific. Multiplying very fine (hence, small in population) segments with too many conditions is not worth the time spent to manage them and may reduce performance. As the usage of segments is based on the fact that, statistically, the individuals who share the characteristics have similar behaviors, segments only make sense if there are enough profiles matching them.

Segments sharing

By default, segments are linked to the site in which they have been created; hence, a segment created in site A will not be available in site B either for personalization rules nor to analyze collected data.

In order to avoid duplication and heavy maintenance tasks of the same segments across different sites, it is possible to share a segment across all sites. To share a segment, select Shared in the segment details page.


Using segments

Segments are mainly used to create personalized content on your website(s). Most of the time, a personalization by segment offers a good return on investment (ROI) compared to time invested in producing and coding personalized content or assets. Assigning a segment to a personalized variant takes only a few seconds and allows you to refer to a population that is not too small (unless your segment contains a significant amount of conditions).

Segments are also very convenient to save a lot of time when building personalization as relying on them avoid to redefine over and over the same conditions, which takes time.

Segments are also useful to analyze the reports provided by jExperience, particularly the Qualitative analysis of your goal conversions. They will help you search for patterns or anti-patterns in your visitors behavior. It is more convenient to analyze results by segments rather than by trying to analyze user by user or property by property - even if that is a possible option with jExperience. It can sometimes be more relevant than segments, which can mix multiple conditions.


Conditions are detailed in the condition builder page. 

As you build conditions to define your segment, jExperience provides a very convenient count about the number of profiles / visitors matching.

This information is provided for the whole set of conditions (190 in the above example) and for each unitary condition (294 and 935 in the above example).

The reason why this count is useful is that it enable marketers to build unnecessary small segments (that match only a few profiles) and/or remove conditions for which the number of profiles is ridiculously low.