Optimizely CMS, DXP and Commerce are the products that descend from Episerver’s content and commerce platform. They are now sold as subscription services in two broad shapes: platform-as-a-service, where Optimizely runs the customer’s solution on its managed Digital Experience Platform (DXP) in Microsoft Azure, and software-as-a-service, where the customer uses a multi-tenant CMS. Commerce is sold as Customized Commerce (Commerce Connect) and as Configured Commerce. The Usage Metrics document defines the units for each.[1]
Editions
The Product Use Terms contain product-specific terms for “CMS and Commerce Connect” (section 2.1). They require that use of SendGrid for email is subject to Twilio’s acceptable use policy, with a breach of that policy being a breach of the agreement, and that the customer must not use the checkout or customer service features of the digital commerce catalog offered in the service.[2] The Usage Metrics distinguish the products as follows.[1]
| Offering | Catalog row | Main metrics |
|---|---|---|
| CMS on managed DXP | Optimizely CMS (PaaS) | Named User, API Calls per Year, DXP Environment, Service Instance |
| CMS software-as-a-service | Optimizely CMS (SaaS) | Named User, Content Item |
| Customized Commerce | Optimizely Commerce Connect | Transactional Order (Customized Commerce), DXP Environment |
| Configured Commerce | Optimizely Configured Commerce | Transactional Order (Configured Commerce) |
| Search & Navigation | Optimizely Search & Navigation | included per environment |
DXP documentation states that Search & Navigation is included in DXP, that each environment has its own index, and that in a multisite setup the sites share one index with a partition per site and a shared partition.[3]
Metrics
Named users
For CMS (SaaS) and CMS (PaaS), Named Users are counted for any individual with at least one role assigned to the CMS, regardless of which role. A person with access to several CMS instances within the same organization counts once.[1] The general Named User definition applies on top: the licence is assigned to a specific, individually identified person; is not tied to a device, location or concurrent usage; may not be shared; and can be transferred only by permanent reassignment, for example when the original user leaves. Crucially, it is not an aggregate over the term but a limit that must not be exceeded at any time, so a temporary spike in editors counts as an overage.[1] See Named User.
Practical consequence: a role-based approach to CMS access that gives broad read roles to many staff, contractors or agency users will increase the count, because the count does not depend on how powerful the role is.
Content items
For CMS (SaaS) a Content Item is any page, experience or media asset that is published or has at least one active revision in Draft, In Review or Scheduled state, with a unique identifier managed in the service. Each language version and each page variation counts separately, while reusable blocks, assets stored in an Optimizely DAM, previously published versions and items in the trash are excluded.[1] A site with ten thousand pages in five languages therefore counts as fifty thousand Content Items before variations. See Content Item.
API calls per year
For the Digital Experience Platform, API Calls per Year (ACY) counts API calls to the backend per Contract Year. An API call is currently a general server response with status code 200 for the content types application/json, application/json+ld, application/xml, text/xml, application/x-yaml and text/yaml, and Optimizely reserves the right to modify the definition as technologies change.[1] The 2021 order form definitions say the same and add that the full list would be maintained in the developer portal.[8] Headless implementations that call content or commerce APIs from front ends and mobile apps should model ACY volumes from their API gateway logs. See API Calls per Year.
Visits and pageviews
Where an Order uses visits, a Visit is an HTTP request that returns an HTML response and has a missing Referer header or one that does not match the site hostname. One Visit can include many Pageviews; Visits are measured at the CDN edge, not by scripts or cookies, and requests for static files are not counted.[1] See Visit.
Websites
A Website is a unique collection of content associated with one or more domain names using the same start page under the Optimizely root node; in CMS it can be found under Admin, Config, Manage Websites, where each Website listed counts as one.[1] See Website (Site).
Transactional orders
For Customized Commerce, a Transactional Order is a confirmed request by the customer to another party to buy, sell, deliver or receive goods or services. For Configured Commerce it is any cart record in a transacted status. The listed transacted statuses include CancellationRequested, Complete, JobAccepted, Processing, QuoteCreated, QuoteProposed, QuoteRejected, QuoteRequested, Punchout, PunchOutOrderRequest, ReadyForPickup, Review and Submitted; AbandonedCart, AwaitingApproval, Cart, ConfigurationInProgress, Requisition, RequisitionSubmitted, Saved and Void are not transacted, and all customized cart record statuses are deemed transacted.[1] Quotes that are created, proposed or rejected therefore count even though no sale completes. See Transactional Order (Customized Commerce) and Transactional Order (Configured Commerce).
Counting / floors
Environments. A DXP Environment is the infrastructure and components needed to serve Websites from one DXP Service Instance: one Azure web app, access to one Azure SQL database, one Azure Blob Storage and one Search & Navigation index. For Commerce packages an Environment also includes one additional web app and access to one additional SQL database.[1] DXP documentation explains that the number of environments depends on the cloud package: Integration, where partners and customers deploy daily builds and which has a fixed configuration with no automatic scaling; Preproduction, which scales automatically and may be used for user acceptance testing, load testing or approved penetration testing; and Production, which scales automatically and is where authors and visitors work.[3]
One web application. Documentation states that only one ASP.NET web application can run in a DXP solution, although that application can host an unlimited number of sites.[4] Because the metric is the Environment and not the site, a multisite estate may fit one Environment while a requirement for a second web application should be put to Optimizely against the Order.
Service Instances. A Service Instance is, for the Content and B2C Commerce clouds, an instance of the service including one code base, a number of Environments and the infrastructure and managed services needed in a Region. Additional languages, indexes and DXH connectors are replicated across all Service Instances, and if several Service Instances are subscribed the Usage Volumes and Overage Fees in all Orders are measured in aggregate.[1] Because the measurement is aggregate, volumes should be compared across Orders and not Order by Order. See Service Instance.
Additional Deployment Environments. ADEs add environments to the standard set for CMS and Commerce Connect, with the Deployment API, content sync and portal features. The documentation states they apply to ADEs provisioned on or after 2022-07-20, and does not state a price; quantity is a matter for the Order.[3] See Additional Deployment Environments.
Floors. No minimums are published. Overage is calculated as use above each Usage Volume, charged at two times the unit price from the first day.[7]
Virtualization & partitioning
In managed DXP the customer does not allocate virtual machines; the Environment is the unit. Documentation warns that to ensure seamless operation during campaigns with expected high traffic, customers should open a proactive support ticket three to four weeks in advance so Optimizely can assess whether additional resources are needed.[3]
For self-hosted CMS the unit is the instance-bound licence. Cloud licences are tied to the number of running instances, behave like an on-premises server licence with a floating number of instances, and register by calling home. Instance counting follows the Azure server name, web apps and deployment slots share instances, and a licence used in several Azure App Service Plans (for example test and production) must support the combined number of instances.[5] See the installed and legacy licensing article for the EULA terms behind these licences.
Cloud / BYOL
DXP runs on Microsoft Azure and the Usage Metrics describe its environments in terms of Azure services.[1] For DXP, the CMS documentation states that no manual licence activation is required because DXP has no instance validation.[5] Customers who run CMS themselves in Azure or another cloud need an instance-bound licence from the Optimizely licence portal; when the number of running instances temporarily exceeds the licence, for example during a scale-up or upgrade, an information notification appears in the edit view and the site continues to operate.[5] The firewall must allow port 443 to the licensing service, which is cloud-api2.episerver.com for versions 12.5 and later.[5]
Hosting regions: services default to the customer’s location in the Order, and the Product Use Terms say available regions and data centers for Azure, AWS and Google Cloud are available on request and may be substituted by an alternate data center in the same region.[2]
Programs
Support and availability come from the Support Policy and the Service Level Agreement. Service credits for an availability failure apply only to production Environments used in production, not to the Integration or Preproduction environments.[6] Standard support has a 99.7% service level commitment and Premium 99.9%.[9] Geo-fenced support is available for all software services with restrictions and requires a geo-fenced support addendum.[2] See Service credits and Standard and Premium Support.
Audits and compliance
The Software Subscription Terms allow Optimizely to review use at any time and invoice overage.[7] Useful controls on the customer side are a quarterly export of CMS users by role, a count of Content Items by language, API gateway logs for ACY, and the Opti ID Admin Center dashboards for products that report there.
Out of scope
This article does not cover installed Episerver licences, Experimentation, CMP, DAM, Opal or Campaign, nor pricing, which is not public.