Content variations
Query content variations in Optimizely Graph to retrieve original content, specific variations, or personalized versions based on user context.
Optimizely Graph supports querying for Optimizely Content Management System (CMS) (SaaS) content variations. This enables Graph clients to retrieve content tailored for A/B testing, personalization, localization, or campaign-based experiences, depending on user context.
How content variations work
In CMS (SaaS), editors can create one or more variations of a page or content item. Each variation is identified by a unique string stored in the variation field on the content item.
Default behavior
By default, GraphQL queries do not include variations. If you want to get variation content (and preview variation), you must specify it in the query using variation: { include: ALL}
, or specify the variation key.
Query variations
You can query for specific content variations or retrieve all available variations using filters.
Get all variations of a content item
To return all content variations (including the original), add a filter or field selector to include the variation property:
query GetAllVariations {
_Content(variation: { include: ALL, includeOriginal: true }) {
items {
_metadata {
key
displayName
}
}
}
}
Query specific variations
To get a specific variation, filter by the variation field:
query GetSomeVariations($variations: [String], $includeDefaultContent: Boolean = true) {
_Content(variation: { include: SOME, value: $variations, includeOriginal: $includeDefaultContent }) {
items {
_metadata {
key
displayName
}
}
}
}
Example variables:
{
"variations": ["WinterCampaign", "SummerCampaign"],
"includeDefaultContent": true
}
Query only default content (no variations)
Use this to fetch only the original content that has no variation value.
query GetOnlyDefaultContent {
_Content(variation: { include: NONE, includeOriginal: true }) {
items {
_metadata {
key
displayName
}
}
}
}
Updated 1 day ago