SaaS CMS has officially launched! Learn more now.

Magnus Stråle
Jul 6, 2016
  6268
(9 votes)

New campaign and promotion system in Episerver Commerce

It's been in development and testing with beta customer for a while and with Commerce 9.19.0 it has finally dropped the beta stamp!

A terminology issue - in the user interface we use the term "discount" and in code / APIs we use the term "Promotions".

Why a new promotion system?

Discounts are one of the most effective ways to incentivize a shopper to complete the purchase. It's therefore a central feature in any e-commerce product and needs to be easy to use, flexible and performant.

The old promotion system in Episerver Commerce is based on the rules engine, a part of Windows Workflow Foundation v3, which has been obsoleted by Microsoft. It's also using a fairly advanced and complex UI to define the promotions which is not at the usability level that we strive for. These were the primary factors driving us to re-write the promotion system.

The idea is that we (Episerver) will provide most of the basic types of promotions that will be needed, and allow complete customization for those that have needs beyond what we provide out-of-the-box. For the marketer / merchandizer that will use those promotions we have a simple "fill in the blanks" metaphor.

What is it - exactly?

The main parts are:

  • New campaign concept
  • Code-centric definition of promotions
  • New UI for managing campaigns and discounts
  • Extensible promotion engine

Let's go thru them one-by-one, starting with the campaign concept. In the old promotion system campaigns were only used to hold dates and associate a promotion with the campaign. Initially the new campaign concept is little more than that but in the near future you will see a lot more benefits with the new campaigns, such as instant tracking of order value per campaign etc. Technically it's a content type in Episerver CMS and can be imported/exported in the same way as any normal content in CMS.

Promotions consists of two parts, a promotion data that holds metadata about the promotion such as which products/categories that the promotion applies to, required quantity, type and value of the actual discount that can be awarded etc. The second part is the promotion processor which implements the actual logic of checking if the promotion condition has been fulfilled, as well as returning information about the reward (if any) that should be applied.

We have tried really hard to make it as easy as possible to create new promotion types, with a lot of the hard work being done by the underlying promotion engine. Source code for the built-in promotion types will shortly be published on GitHub.

A lot of work has also gone into the new UI to make the process of creating and managing your campaigns and discounts a quick and intuitive process. Please let us know if we've succeeded.

Finally the promotion engine that drives the whole thing. The design goals were performance, simplicity and extensibility. You can find detailed information for developers here: http://world.episerver.com/documentation/Items/Developers-Guide/Episerver-Commerce/9/Marketing/marketing/

What's next?

Removing the beta stamp doesn't mean that we're done. We will add more promotion types, more features in the UI, improve performance, add capabilities etc. Removing the beta stamp is a signal that we will not make breaking changes, we're happy with the stability and general usability of this feature.

...and please - if you have feedback let us know!

Jul 06, 2016

Comments

Please login to comment.
Latest blogs
Optimizely SaaS CMS Concepts and Terminologies

Whether you're a new user of Optimizely CMS or a veteran who have been through the evolution of it, the SaaS CMS is bringing some new concepts and...

Patrick Lam | Jul 15, 2024

How to have a link plugin with extra link id attribute in TinyMce

Introduce Optimizely CMS Editing is using TinyMce for editing rich-text content. We need to use this control a lot in CMS site for kind of WYSWYG...

Binh Nguyen Thi | Jul 13, 2024

Create your first demo site with Optimizely SaaS/Visual Builder

Hello everyone, We are very excited about the launch of our SaaS CMS and the new Visual Builder that comes with it. Since it is the first time you'...

Patrick Lam | Jul 11, 2024

Integrate a CMP workflow step with CMS

As you might know Optimizely has an integration where you can create and edit pages in the CMS directly from the CMP. One of the benefits of this i...

Marcus Hoffmann | Jul 10, 2024