How to implement dynamic content on your website with PMS

PersonalizationBy Mariana Bonanomi and Luiza Ramos

If you have already read the first part of this article, you must be asking how it actually works to personalize your site. This part will help you understand how simple and practical the implementation and management of personalized experiences are.

The Croct PMS is implemented with an SDK directly in the frontend of your application. This means the integration doesn't need to involve changes in the backend.

If you have a static site, creating personalized experiences begins by mapping your application. In other words, we configure components within the PMS, each one representing one content block you wish to personalize.

Creating a slot

Let's use a simple landing page as an example, where we wish to personalize only the banner to illustrate the implementation process.

In the following image, you can see a component showing a banner with three personalized attributes: the title, a description, and the image. The button doesn't belong to the component, which means it is a static element and can’t be personalized.

Component example (banner)
Component example (banner)

With components in place, it's time to define where to insert them into the website. A banner with the above-displayed structure, for example, can be on the home page or a landing page focused on marketing campaigns. We call this area a slot. In other words, a slot represents a personalized element of your application.

Defining an audience

We created CQL (Contextual Query Language), a straightforward language similar to English, to help you personalize your website’s contents. You don’t need to learn SQL or other query languages. CQL allows you to create audiences in real-time for personalizing communication according to the context of each user. All of that without any need for pre-processing to populate user segments.

It works like this: let’s say you want your banner image, title, and description to be different for users in a specific region of the country. To display different content for users in New York, for example, you can create a new audience using the expression location's city matches "New York". For users in Miami the CQL expression would be location's city matches "Miami", and so forth.

You may ask what happens when users who enter the website are not from the defined places. We call the content displayed for users that access the website from other regions default content, which means this is the content that will be shown when there is no personalization.

Do you want some more examples? When personalizing your site for users who have already logged in, you can use the expression user's activities include "login". And finally, an e-commerce example: to segment users that look for shoes in Google and then click on your ad, the CQL expression would look like this: campaign's term matches "shoes".

Testing and monitoring the results

Now, you have understood how the implementation works and how to define the audiences for creating personalized experiences. How about testing on smaller portions of your audience which personalization brings the best results? As well as providing more agility in the optimization process, decision-making becomes more assertive yet without risking as many resources.

In PMS, you can create AB tests inside an experience, and hence, when more than one experience is running, it is possible to create parallel tests. That means you can test multiple contents simultaneously, one for each audience.

When the experiments and tests are running, you will be able to monitor your conversion rates on dashboards to choose which variants are the most successful.

An example of the Bayesian analysis of an experiment
An example of the Bayesian analysis of an experiment


Having a personalized site and still not depending on developers for daily changes is simpler than it seems. We built the PMS so it is easy and intuitive to use, and we hope that it is clear how it provides flexibility, agility, and independence for marketing and growth teams.

Want to know more about our PMS or how we can help you with personalization and AB tests? Get in touch, we'd love hearing from you :)

Let's grow together!

Learn practical tactics our customers use to grow by 20% or more.