HomeDev guideRecipesAPI Reference
Dev guideUser GuidesLegal TermsNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev guide

Configure Real-Time Segments for CMS personalization

Optimizely Data Platform (ODP) lets you achieve real-time personalization with product and customer information in your Optimizely Content Management System (CMS) website, even if your site is not e-commerce driven and you want to personalize based on your visitor’s interest in your content, rather than your products.

Personalization in CMS lets you target website content to selected audiences (formerly called visitor groups). You create audiences based on a set of personalization criteria. CMS provides a set of criteria, such as the number of visits, referring search phrases, visits to the site a number of times, access to the site on an Android device, or passing a campaign query parameter in the URL.

After audiences are defined, you can personalize content by creating blocks and markup that target your audiences. If a current visitor is not a match for any of them, then you provide fallback content.

Link your CMS audiences to ODP Real-Time Segments (RTS) to unlock expanded data and insights into your platform visitors. ODP lets you add criteria to audiences, including data from channels other than your website, such as mobile, customer relationship management (CRM), or social channels.

Prerequisites

  • Optimizely Content Management System (CMS)
  • Optimizely Data Platform (ODP)
  • Add the ODP snippet to your site

    📘

    Important

    The ODP snippet is optional if you do not use ODP as your customer data platform (CDP) and are implementing the audience sync version of this integration.

  • Have real-time segments set up in ODP (pre-built and/or custom)

Integration considerations

  • Third-party customer data platform (CDP) – If you do not use ODP as your CDP, you still need an ODP account but do not have to implement the ODP snippet on your site. To configure the Real-Time Segments for CMS integration using a third-party CDP, skip to Integrate with other CDPs.
  • ODP – If you use ODP as your CDP, continue to Configure Real-Time Segments for Web Experimentation.
    Configure Real-Time Segments for Web Experimentation

Install the ODP package

Install the ODP.VisitorGroups package, which lets you create audiences based on ODP criteria. See the Data platform options available in the audiences UI (see image below).

Set data platform criteria in the CMS audience UI

CMS admins can associate their audiences with data that ODP holds about the customer. You may prefer to implement your own integration with ODP because the ODP.VisitorGroups package is simply sending various queries to the ODP’s GraphQL API.

Create a Real-Time Segment

You can link CMS audiences to ODP Real-Time Segments (RTS). Segments in ODP are a similar concept to audiences in CMS because they both group visitors (or customers) by a set of criteria.

RTS are updated with reduced latency where data freshness occurs in less than 90 seconds. When used in a personalization strategy, this lets you learn and respond to the visitor as they interact with the site in real time. Unlike normal Segments, RTS looks back across only 28 days of data to respond with virtually no refresh interval. Normal segments can take up to 15 minutes to reflect the true state of the audience, and so are not as useful for real-time personalization; they cannot be linked back to CMS audiences.

In the ODP UI, RTS are managed under the Customers tab.

You can group customers by any of the various touch points in ODP, such as customer attributes (country, name, gender, and so on), AI-driven customer insights (order likelihood, engagement rank, probability still a customer, and so on), and customer observations (computed age, total revenue, session count, first product, last product, and so on).

Editing criteria for RTS in ODP looks like this

The preview for RTS in ODP looks like this.

The previous example groups visitors by all of the following criteria.

  • Who’s address country is Australia or New Zealand
  • is greater than 18 years old
  • is considered to be ‘likely’ to purchase
  • whose total revenue is greater than $20.

You also can group customers by event conditions such as page views, logins, and custom events. You can further target visitors who have triggered these events a given number of times and within a given timeframe as per below.

This criterion groups visitors who have viewed a page on your site at least three times in the last five days and who have also clicked on an image gallery in the same amount of time.

Create an audience

After you integrate CMS and ODP, use RTS as the basis for audiences and personalization.

  1. In Optimizely CMS, go to the Audiences tab and click Create Audience.

  2. Enter values for the name and notes.

  3. Add your criteria, selecting Data platform > Is In Segment and select from available RTS in ODP.

  4. Select the relevant RTS and save the form by clicking Create Audience. The audience is linked to a segment in ODP that you can use for personalizing your content.

Personalize your content

Optimizely CMS lets you personalize the content that is rendered inside content areas or rich text editors.

The following image shows an Article Banner Block for the Header Content Area of the page connected to the ODP RTS Group. When someone matches this segment in ODP they are served this content, while everyone else sees the default.

To set up content personalization with CMS audiences, see Audiences in the Optimizely Content Management System (CMS) user guide.

Personalize based on content interest

If your personalization strategy is more concerned with your content than your customers and products, you can still unlock the power of ODP personalization with just a bit of extra setup.

Perhaps you want to personalize based on content interest, maybe because your site is not ecommerce with customers and products. For example, a marketing editor on a news site wants to personalize the homepage to users who have an interest in certain topics, such as current affairs, finance, sports, and so on. ODP can target these visitors and show them the most relevant content.

The following example uses a custom page object called Content Cloud Page that holds the metadata from the page that is relevant to your personalization strategy (such as category, tags, page name, author, URL, publish date, and so on).

Sync CMS pages to ODP custom page objects

When you have a custom page object, you can create instances by posting to ODP’s REST API to sync your content pages from CMS to ODP.

When you map the object’s ID field in ODP, use the value from your page’s Content Reference GUID to have a unique value that can link events captured in ODP back to the page.

To keep your ODP content objects up-to-date as your CMS content changes, you have the following options:

  • Create an event handler that listens to the publish event and immediately posts the content to ODP.
  • Create a scheduled job that syncs published content since the last successful run.

Link your custom objects to events

Define a relationship between your events and your pages by creating a field on the Events object using the same Field Name as your custom object (see image below).

Next, create a Relationship between Events and your custom object.

Pass your Page Id in ODP events

Another important step occurs in your browser. Here, you must pass your custom object’s ID field with all events related to your page.

The following example shows the page’s ContentGuid to the pageview event, which is fired on every page load.

// From the OPD Web SDK's Javascript Tag
zaius.event('pageview', {
     content_cloud_page_id: '@((PageData)Model)?.ContentGuid'
});

The following example attaches ContentGuid to a custom event that is fired when a visitor clicks to add a page to their favorites.

zaius.event('web_modal', {
      action: 'click',
      action_sub_type: 'add_favourite',
      content_cloud_page_id: '@((PageData)Model)?.ContentGuid'
});

Create Real-Time Segments tied to your content

If you followed the example, ODP knows about your pages, and can relate your visitors’ events and observations back to those pages. You can go to ODP and create a segment based on your visitors’ affinity to your content.

Following the example of a news site, you could segment visitors who have opened 10 sports articles in the last two weeks.

Alternatively, you can target visitors who have favorited three or more articles in the last five days where the article is of the category finance and also tagged with interest rates.