Key concepts

November 14, 2023

This section introduces you to key concepts and explains tools and features that are widely used across jExperience.

Audience, visitors and profiles

In jExperience, the audience is your entire population of visitors. A visitor is a person who visits your site. jExperience collects data about your audience and reuses the data in multiple situations.

A profile is the complete set of data known about a specific visitor. A profile contains the following types of information:

  • Properties
    For example, name, address, age, and number of kids
  • Behavioral information
    For example, pages visited and goals achieved
  • Contextual information for each visit
    For example, browser, device, and geolocation
  • Classification information
    For example, segments that a visitor belongs to and lists that they have been assigned to

jExperience creates a profile each time a new visitor accesses a tracked site (also for anonymous users) and immediately starts collecting data. When a new visitor arrives at your site, jExperience stores a cookie in their browser cache with a unique identifier. The unique identifier is also stored in the visitor's jExperience profile, enabling jExperience to identify the cookie and the user during future visits.

Each time the visitor comes back to the website and performs certain activities, their profile is updated with new or more current data. For example, if an anonymous visitor provides their identify by logging into Jahia, then their profile is no longer anonymous and all previously collected data is associated with that visitor profile. A user could also provide their identity by logging in through Facebook or entering their name or email in a form.

When the same visitor uses different devices or browsers, jExperience creates different profiles for each browser or device. Initially, jExperience does not recognize that this is the same person. However, jExperience is able to merge profiles.

When a user identifies themself by trustable means, such as using the same login on different devices or browsers, jExperience recognizes that the multiple profiles belong to the same user. Then, jExperience combines the profiles into a single master record. jExperience continues to track all user activities in the merged profile even if the user returns without logging in again because their cookies are linked to the merged profile.

Info: The two last categories are, in fact, segments. You can modify the conditions that define contacts and leads to adapt them to your own needs or business protocols.

Events and goals

An event is the interaction between a visitor and the digital touchpoints that jExperience monitors. Some events are collected by default each time they occur, such as a session start or page visit. Other events are collected only because they have been explicitly requested by you.

A goal is an action that you want your visitors to perform on your website, such as filling out a form. Goals use data from events that you specify. Typically, you create a goal to use it as one or more of the following:

  • A key performance indicator (KPI)
  • A condition to search, extract, export or filter the profiles repository
  • A condition for building segments or personalizations
  • An analysis criteria point

A conversion occurs when a visitor performs an action that you have defined as a goal, for example, creating a profile on your site. Depending on the goal type, jExperience provides absolute numbers for the goals, such as the exact number of conversions, and a conversion rate as a measure of efficiency.

Reports, conversions and analytics

jExperience’s unlimited drill-down capability enables you to analyze conversions against any property stored in a visitor profile and to repeatedly refine conversion data in reports. You can perform unlimited drill-downs in:

  • Site goals reports
  • Campaign goals reports
  • Optimization test reports

You can analyze measured results, such as goals and optimization tests, to understand visitor behavior. You can analyze results in the quantitative analysis report and the performance analysis report, which is also known as the qualitative analysis report.

Quantitative analysis reports

The quantitative analysis report shows you who contributed the data that is measured by your goals. The report provides a detailed view of how your population of converted users is composed or by other criteria that you choose. While the report shows similar information to what web analytics engines provide, you can view results using properties that web analytics engines typically do not track. This includes properties that are valuable to marketers.

The following example shows how the goal of submitting a registration form is performing.

The following image shows a quantitative performance report. In the report, the Nationality column displays the break-down of the selected property for every value that has been collected, in this case, eight nationalities and the rest of the audience is unknown. The Success column shows how many visitors completed the goal of submitting a registration form by nationality. For example, 105 American citizens and 112 Russian citizens submitted a registration form. The Percentage column shows the percentage of the population who contributed to the registration goal. For example, 9.79% of the visitors who achieved the goal were Americans and 9.79% were French.

You can sort each column by ascending or descending order, and use the Filter on list to filter by criteria, such as gender. Filtering by gender shows a different view of how visitors performed the goal of registering.

You can drill down further into results by clicking a row in the table. The subset of the population that you select becomes the new scope for your data. For example, if you select female, the scope changes from 1072 conversions to show only the female population of 443 conversions. You can then further refine results by displaying the population by Operating System. The criteria that you select displays in the header of the table. 

You can continue to add criteria by clicking on the subset of population that interests you.


The more data that you collect, the more detailed and meaningful the results are. By choosing relevant criteria, you can understand who (in volume) is converting and obtain a clear view of your audience. The example below shows that 43% of U.S. women citizens who reached your primary goal are older than 51 years of age.

Note: You can remove a filter at any time by clicking on the red-cross associated with a filter name.

Performance analysis reports

While knowing who achieved a goal is valuable, you also may want to understand how your population performed against that goal compared to one or more criteria. You can do so using the performance analysis report, also known as the (qualitative analysis report). The performance analysis report helps you to:

  • Discover patterns and behaviors in different segments of your population
  • See the number of users who matched a goal
  • Drastically improve your performance by creating more targeted personalizations

The performance analysis report functions similarly to the quantitative report. You first select criteria from the drop-down list of available properties, then you can drill down into your data by selecting further report criteria. Using the goal of submitting a registration form, you can see that the conversion rate differs from one nationality to another one.

By comparing the population age for the US, you can see that the population between 31 and 40 does not convert well, while the population older than 50 converts well globally. You could use this information to modify your site by better targeting the people between 31 and 40, improving CTAs this segment, and leaving the current content unchanged for people over 50.

Conditions Builder

You use the Conditions Builder tool to build rules that provide personalized experiences for your site visitors. You can also use the tool to select specific visitors from the whole population.

You use the Conditions Builder to define rules that contain one or more conditions. You create relationships between conditions using AND or OR operators. Use operators to group and nest conditions and to create precise and complex queries.


A condition uses the following format: an attribute followed by a comparator and an optional value.

An attribute A comparator A value (optional)
Age 25
Date of birth Is before 1985
City = Denver
Kids exist  
Zip Contains  

Comparators vary depending on the types of attributes that you use in a rule. The following example shows a text attribute. Available comparators are shown in the Comparators column.

Text Attribute Comparators Example of value
Last name Equal schwarzenegger
Last name Doesnt equal Stalone
Last name Starts with swartz
Last name Ends with egger
Last name Matches regular expression ^sch.*gg.
Last name Contains Egg
Last name Exist Means that the property is not empty
Last name Is missing Means that the property is empty
Last name Is in Stalone, Lungren, schwarzenegger
Last name Is not in Stalone, Lungren, schwarzenegger

Comparators differ for a date attribute.

Text Attribute Comparators Example of value
Text Attribute Comparators Example of value
Birth date Is before Jan 01, 1950
Birth date Is after Jan 01, 1940
Birth date Is same day Jul 30, 1947
Birth date Is not same day Mar 25, 1974
Birth date Is between Jan 01, 1900 and Jan 01, 1950
Birth date Exist Means that the property is not empty
Last name Is missing Means that the property is empty

Operators between conditions

A rule can contain one or more conditions. Conditions are linked by an AND or OR operator. If two conditions are linked by the AND operator, only the profiles that match both will validate the rule as true. For example, the following rule matches profiles of visitors born between Feb 01, 1940 and Feb 01, 1950 and contain the string ‘egger’ in their last name.

If two conditions are linked by the OR operator, all visitors matching at least one of the two conditions will belong to that segment. The following rule matches all visitors with Arnold as first name and have Governator as job title.

Nested conditions

You can create advanced rules by defining multiple conditions and combining them into conditions blocks. You can also combine condition blocks together by using the AND operator. To match the rule, visitors must match each block linked together by an AND operator. But inside the condition block itself, you can use either AND or OR operators.

The following example shows you how you can create powerful and complex segments, depending on your business requirements.

The visitor profiles that need to match the above rule can be described like this:

  • All visitors that have Arnold as first name AND have an interest score in Sport over 200
    • AND
  • All visitors that have Arnold as first name AND have an interest score in Politics over 100 and zip code in California
    • AND
  • All visitors that have Arnold as first name AND have an email address that contains governator.

Negating conditions (exclusion)

The Condition Builder does not provide negation operators such as AND NOT or NOT to create negative conditions or blocks of conditions. You do not need these type of operators because you can define an exclusion at the condition level.

To select all the males that are not 30 years of age, rather than creating the following rule like this:

  • gender = male
    • AND NOT
  • age = 30

You create the rule like this:

  • gender = male
    • AND
  • age is not 30

By not using negation, the conditions are easier to create and understand than if combined together with exclusions.

Data collection and scope of analysis

jExperience supports working with several websites simultaneously and uses the notion of collection and analysis scopes to partition data into separate logical entities. Scopes are automatically associated with websites. A website is always associated with only one scope. The most important things to understand about scopes are:

  • Each website is associated with a scope and a scope is linked to one website.
  • All visitor profile data is global to your jExperience instance and is shared between scopes. When the same person visits different websites (that may or may not have different scopes) they are recognized as a unique individual. This avoids fragmenting profile data and is a major advantage for companies that run tens or hundreds of websites.
  • Every event collected by jExperience is related to the scope in which it was generated. Goals measured for one particular scope are not visible to and do not affect other scopes.
  • Unless intentionally shared, segments and lists are created in a specific scope and can be used only within that scope.

Shared segments and static lists

You can use jExperience on multiple sites at the same time while still maintaining a unique collection of profiles. However, different marketing teams may be in charge of different sites within a company or brand. If a company maintains several sites that are served to different countries, the method used to analyze or segment an audience may differ for cultural or legal reasons, or in the way marketing teams decide to handle their market and customer base.

For example, the age of adulthood is 18 in France and 21 in the US. This introduces differences in how you promote personalized content, for example, what you can display and sell. In India, the notion of a young person is not the same as in Germany. In some countries, asking the gender or the age of a visitor is considered impolite while it is not so for other geographical areas or cultural groups.

To allow different marketing teams to use jExperience in parallel on the same platform, segments and lists can be shared-or not-between all sites. By default, segments and lists are not shared among different websites. Each website (even in the same scope of analysis) uses only the segments or lists created for that site.

The team managing the India site can define its own young persons segment with its own conditions, while the team working on the German site can define its own version of the same segment. The India team can also decide to define segments specific to their market that have no meaning to the German market.

To share a segment or a list with the sites in your platform and make them accessible to all the site’s marketers, select the Shared checkbox in the create and edit pages for segments and lists.

Note: A shared segment or list is shared completely. Any marketing team that can use the segment can also modify it and redefine its scope, with consequences for all the other teams and their sites. Use shared segments and lists carefully.