dotCMS Personalization: How it Works

Personalization is becoming a necessity for marketing teams to drive positive business results. In fact, improving the customer experience is a top priority for 60% of marketing professionals. And this number is growing as customers continue to demand hyper-personalized digital experiences across touchpoints.

For many CMSs, however, delivering personalized experiences is an enormous challenge. Luckily dotCMS efficiently handles data collection, while providing highly extensible personalization features that empower marketing teams to build compelling customer experiences.

With this in mind, let’s look at why personalization matters for enterprise organizations and the personalization features dotCMS provides out of the box.

Why Personalization is Essential

Personalization drives customer engagement and conversions. If customers feel that your brand understands their needs, you’ll build deeper relationships with them. That’s why marketing teams need to leverage content targeting to provide highly relevant information that resonates with their intended audiences.

Hyper-personalization takes this a step further by leveraging data from multiple channels to tailor the entire customer experience to each user. And that means delivering the right content to the digital touchpoint that will have the most impact throughout the customer journey. Just as important, however, is hiding information that’s irrelevant as well. Hyper-personalized content, therefore, can guide users along the buyer's journey and lead to higher conversion in the long run.

How Personalization Works With dotCMS

Let’s take a deeper dive into the dotCMS personalization capabilities from personas, visitors, tags, and rules to custom Velocity scripting.

Defining Personas

dotCMS has persona-driven capabilities that enable personalization down to a granular level. Personas contain information about specific market segment or ideal customer that’s useful for categorizing content. When a user visits your website they’re assigned a persona based on the rules you’ve defined, or the default persona if they don’t match any of your criteria. The assigned persona impacts the dynamic content displayed during the visitor’s session.


When using the page editor, you can preview your website based on different persons to ensure the experience is seamless. And like most things with dotCMS and its “Everything as a Service “ approach, personas are another type of content that marketers can manage and modify as needed. That means you can add fields to personas to help identify and define them better. You can even track and optimize personas using Google Analytics.


Leveraging the Visitor Object

dotCMS stores website visitor behavior and interactions in the visitor object. The visitor object records attributes about the user such as location, language, or any other easily detected trait. In addition, the visitor object tracks user actions such as clicking links or access content as accrued tags. dotCMS also keeps a count of how many time accrued tags are added, which factor into the results from content searches.

The visitor object contains an overwhelming amount of customer information that marketers can leverage for content personalization and data-driven marketing campaigns. These insights help marketing times better understand their audience’s interests, preferences, and behaviors. Data, therefore, fuels great digital experiences.

Tagging Content & Personas

Marking particular pieces of content for a specific audience is straightforward for content editors. That’s because personas have key tags that can be added to content in a similar way to regular tags. This ties content to specific audiences and enables dotCMS to automatically display the right content for site visitors.

There’s a field called other tags as well that contains additional tags associated with personas. These tags suggest more content that may be interesting to the visitor. Tagging both content and personas is crucial for delivering relevant content to the right visitors.

Setting Rules

dotCMS has an intuitive NoCode rules engine that enables marketers to configure dynamic content based on the visitor. Marketers can set rules that use data from the visitor that determine actions like optimizing the site for a specific device, setting the website language, or redirecting the user to another webpage. You could also assign a persona to visitors using rules to deliver personalization content. 


A new rule is defined by choosing a condition or trigger and then a corresponding action. You can also set the frequency of the rule like once per session, page navigation, or request. If there’s highly specific functionality required, companies can also developer custom rule conditions and actions using OSGi and API.

Pulling Dynamic Content Using VTL

While there are many NoCode features for dynamic content, dotCMS has easy to use Velocity methods and attributes for more technical users. This gives companies complete control over their personalization efforts.

You can pull personalized content using Velocity scripting automatically. The method “$dotcontent.pullPersonalized()” lets you query for personalized content and pass in filter parameters to request the specific content you need. The underlying Elasticsearch query weighs the information in the visitor object before returning the results.


The assigned persona is weighed most heavily and the secondary sort criteria you provide the least. The weight of accrued tags varies based on their count. This means that in a news section, for example, relevant content appears at the top followed by frequently viewed content and then any other content appears last.

You also have access to other personalization features within Velocity. You can find out which rules have already fired in the page using the dotRulesFired attribute within the HTTP request and session objects or even modify tags within the visitor object using a variety of Velocity methods. With Velocity, therefore, dotCMS is highly flexible for delivering great customer experiences.

dotCMS Fuels Hyper-Personalized Customer Experiences

dotCMS provides the tools marketing teams need to deliver data-driven personalized experiences efficiently. It’s straightforward for marketers to define specific market segments or personas for their audiences and display dynamic content based on them using complex rules — all without having to code. 

The NoCode nature of dotCMSs personalization features makes all the difference for marketing teams. Marketers have the tools they need without heavy development or integration that many other solutions require. dotCMS gives companies the flexibility to optimize the digital experiences they provide for improved engagement, higher conversions, and greater business success.

October 14, 2019

Recommended Reading

Benefits of a Multi-Tenant CMS and Why Global Brands Need to Consolidate

Maintaining or achieving a global presence requires effective use of resources, time and money. Single-tenant CMS solutions were once the go-to choices for enterprises to reach out to different market...

Headless CMS vs Hybrid CMS: How dotCMS Goes Beyond Headless

What’s the difference between a headless CMS and a hybrid CMS, and which one is best suited for an enterprise?

14 Benefits of Cloud Computing and Terminology Glossary to Get You Started

What is cloud computing, and what benefits does the cloud bring to brands who are entering into the IoT era?