Area: Optimizely Commerce
Applies to versions: Latest

Adding e-commerce functionality

Recommended reading 

Your solution's requirements determine the following steps. This topic outlines typical implementation areas when implementing an Optimizely Commerce solution. As a prerequisite you should have a working empty website installed.

See also:

Creating a catalog and displaying catalog entries

Before you create a catalog, consider how it will it be managed and updated. Which marketing, promotion, and merchandising requirements must the catalog support?

  • Keep the catalog structure and fields as simple as possible. Start by creating a catalog with some entries, and display them in a product listing on the website.
  • Create model classes for categories (nodes), products and variants then add corresponding page templates.
  • Create the catalog structure based on names used in your content model.
  • In the Catalog view in Commerce, create catalog entries based on content types you created, and verify the product list display.
  • If needed, add or modify properties for the catalog content types, according to your requirements.

Various methods for importing catalog data from other Optimizely Commerce sites or external systems are described in the Commerce Developer.

How to do it

Creating a shopping cart

Create a simple cart with functionality for adding and viewing items, and make it display on the website. This will be connected to the steps of the checkout procedure, but typically you need features like Add to cart, View cart and Continue shopping with related functionality.

How to do it

Creating the checkout

The checkout typically involves these activities: collecting address information, selecting and adding a shipment method, associating the order's line items with one or more shipments, placing the order, and updating the cart total. There are many ways to set up a checkout procedure. You can either have a multiple-step procedure based on several pages, or a one-page checkout with address, payment options, and order preview all in one.

A typical checkout can be divided into these steps:

  • A shipping address page where the billing/shipping address information is provided.
  • A shipping method page where shipping options are selected.
  • A payment method page where payment options are selected.
  • A confirmation page with an order summary.

The checkout page will be connected to the corresponding workflows, and payment and shipping providers (see below).

How to do it

Shipping methods

Shipping and payments are similar in that they are built-up of methods, providers, and gateways. Optimizely Commerce includes two shipping options/providers which are used by two shipping methods. You can also create your own shipping providers matching specific requirements. You can, for instance, create your own jurisdiction rules and groups for national/international deliveries, or create weight jurisdictions for price calculations during checkout.

You can also add web services for obtaining shipping rates. Shipping methods are created in Commerce Manager. Manage your shipping provider in a separate project, which you then add to the front-end site solution.

How to do it


Payment methods use a payment provider to process payments. A set of built-in providers is available for Optimizely Commerce. You can also download payment providers. In many cases, you want to create and customize payment providers for your solution. Creating a credit card payment provider can be quite complex, and these are often integrated with external systems, such as PayPal, credit card brands, or banking systems.

The setup usually involves communication with external systems for checking and verifying orders and payments. In many cases, an external ERP system is involved. Payment methods are created in Commerce Manager. Manage your payment providers in a separate project, which you then add to the front-end site solution.

How to do it


Pricing is a central area in most e-commerce solutions. Tasks here may involve definition of a pricing structure for sellable catalog entries, and targeting of pricing towards specific markets or customer groups, as well as integration with external systems. You can use the built-in pricing provider and pricing logic, or modify these for your own purposes.

How to do it


Search is another key feature for e-commerce sites. Tasks in this area involve the creation of product-specific search, customization of the built-in Lucene-based search, as well as configuration of search indexing, facets and filtering.

You can for example create catalog-specific filtering by defining the type of entries to include in the search. You can also extend the search by replacing the search provider with Optimizely Search & Navigation, to add more powerful search features.   

How to do it

Warehouses and inventories

Warehouses and inventories are examples of components for which information is typically retrieved from external systems and displayed for related items in Commerce. Tasks in this area may involve creating a list of warehouses, getting inventories per warehouse, and picking up catalog entries from a warehouse and adding them to a shopping cart. Commerce has an IOC provider model for warehouses, a warehouse inventory listing, and the warehouse retrieval service. 

How to do it


Orders are related to many parts of the e-commerce process, and the order fulfillment process can be set up in different ways. Orders in Commerce are based on built-in workflows and related activities, which can be used as they are or customized to suit specific business procedures. Orders can be extended, and you can model orders and line items on orders and add customized properties to orders.

How to do it

Marketing and promotions

Marketing in Commerce includes campaigns and promotions. Commerce include a number of built-in promotions, but you can also create your own promotions accessing the Commerce promotion engine.

How to do it

Customers and authentication

Customer data is stored in the Commerce database, and managed from the Customers subsystem. Customers can be associated with addresses, organizations and customer groups. A contact in Commerce can be of any user type in the system - a shopping website visitor, a marketer, a merchandiser, or a system administrator.

Tasks in this area involve, for instance, retrieving customer addresses for the checkout and creating customer group-specific pricing, as well as defining user groups and permissions for Commerce users. 

How to do it

Integration with external systems

The Optimizely Service API is a service layer available for system integrators to update and retrieve information from Optimizely, ensuring a seamless integration between Commerce and external systems such as PIM, DAM and ERP systems. 

How to do it


Deployment involves the publishing of a new or updated website and its content to a testing or live production environment. Deployment typically includes export and import of data and content to staging environments, on-premise or in a cloud-based setting.

See DXP cloud services how to work with development and deployment using the Optimizely DXP cloud services.

How to do it

Do you find this information helpful? Please log in to provide feedback.

Last updated: Sep 28, 2021

Recommended reading