Disclaimer: This website requires Please enable JavaScript in your browser settings for the best experience.

HomeDev GuideRecipesAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Content variations

Explore Optimizely CMS 13 Pre-release Content Variations: API management, UI experience, delta-based storage, Graph indexing, and real-time preview.

Content Variations is a feature that makes it possible to have multiple published variations of the same content item, in the same language. Useful for example if you want to experiment with items in the CMS. Enabled automatically in CMS 13, you can find it in the editing UI.

API management

  • List all variations for a content instance.
  • Create new content variations.
  • Save draft changes to content variations.
  • Publish or unpublish content variations.
  • Delete content variations.
  • Promote a variation as the default published version for a content instance.

User experience

  • View existing variations for a content instance in the current editing language.
  • Select and switch between available variations for editing.
  • Create new variations for the current language.
  • Update and preview variations during editing.
  • Publish variations.
  • Promote a variation as the default published version.

Content variations as deltas

Content variations are now supported as "deltas," optimizing content management for experimentation and personalization by storing only explicit modifications to a content instance. These variations initially contain no property data, only storing modified properties, and for complex properties, the entire data is copied to the delta.

  • Delta-Based Storage – Variations are created as deltas, meaning they initially contain no property data and only store properties that have been explicitly modified.
  • Property-Level Deltas – When a value within a complex property is modified, the entire data for that property is copied to the delta. For dynamic Experiences, this includes all content within the Outline and its Sections if a single block value is changed.
  • Independent Lifecycle – Each variation has a specific language, its own version history, and an independent publishing lifecycle. Variations can be published independently of their source, provided the source is published.
  • Approval Workflow Integration – If an approval sequence is configured for the CMS instance, it also applies to variations.
  • Promoting Variations – Promoting a variation as the default version involves creating a new version of the variation's source, merging the modified properties from the variation into this new version, and optionally deleting the variation.
  • API Support – The CMS SaaS API includes comprehensive support for managing variations, including creation, saving draft changes, publishing/unpublishing, deletion, and promotion.
  • Graph Indexing – Variations are not directly indexed to Graph; indexing of content variations is handled separately.

Initial Phase Limitations

  • Variations currently only support localizable properties.
  • Softlinks are not generated for published variations.

Content variation indexing to Optimizely Graph

Added indexing of content variations to Optimizely Graph, which lets you use them in previews and experiments. This ensures you can discover and use variations for content testing scenarios.

  • The system indexes all content variations, including unpublished drafts, to Optimizely Graph.
  • Each variation has a unique identifier in Optimizely Graph, such as Guid_Status_Language_VariantKey, and includes a distinct variation key to clearly identify it as a variation.
  • The system indexes variations merged with their source content instance, resulting in a self-contained document in Optimizely Graph.
  • A feature flag controls indexing of variations; if you disable the feature flag for variations, the system also disables indexing.

Content variation management in Edit view

You can create and manage content variations directly in Edit view. This lets you create multiple content versions for a specific language of a content instance.

  • A Variations dropdown is available in the toolbar.
  • When you edit the default content, Original is the topmost selection in the dropdown. The system lists available variations alphabetically below Original.
  • Selecting Original switches the Visual Builder Edit view to the default version for the current language.
  • Selecting an existing variation switches the Visual Builder Edit view to that variation.
  • The Add variation option at the bottom of the dropdown opens a modal to create a variation.
  • The modal requires a name for the variation and lets you select a source: the original version (resulting in an empty variation) or an existing variation (copying its content).
  • Upon creation, the Visual Builder Edit view switches to the variation, and the system displays a confirmation message, Created new variation, {variation-name}.
  • Auto-save functionality applies to variations, just as it does to the default version.

When you select a content instance in the navigation tree, the system opens the default version in the edit view.

Real-time preview for content variations

Added real-time preview functionality for content variations. This ensures the preview accurately reflects changes a content editor makes to the content variation currently being edited. The preview URL now contains all necessary information for the frontend to fetch and render the correct version of the content variation.

Promote variation changes to original version

You can promote changes from a content variation to its original version. This lets editors apply successful modifications from a variation back to the primary content instance.

  • When you edit a variation, a Copy changes to Original option is available within the Publish menu. The system enables this option only when the published version of the original content is its common draft.
  • The system copies content from the currently open version of the variation. If the common draft of the original is published, applying changes creates a draft version of the original.
  • The system does not automatically publish the original content after this operation.
  • If the status of the original content changes while the variation edit view is open, the system displays an error message when you attempt to Copy changes to Original.
  • A success message, such as Changes copied to Original!, confirms the operation.
  • The system displays errors encountered during the Copy changes command execution in a dialog box.