Quan Mai
Feb 1, 2019
(3 votes)

New feature in Commerce 13: Exclude catalog items per promotion

In Commerce 10.1, we added a feature to allow you to exclude items from the promotion engine. Some items - such as gift cards - can be seen as "money" and should never be discounted, or used as a condition to calculate other discounts. That is a very nice feature, but our partners - as always, keep asking for more - for example, Joel from Avensia wrote this lengthy post to explain what they need https://world.episerver.com/forum/developer-forum/Episerver-Commerce/Thread-Container/2017/11/exclude-specific-catalog-entries-from-a-promotion/ and proposed a few solutions.

Basically, you might need to exclude certain catalog items from a specific promotion. A scenario I can think of, is that you want to have a 20% site-wide off, but a specific supplier said no (which is not uncommon for luxury brands). So you have to exclude items from that supplier.

That is solved in Commerce 13 with a new property in each and every builtin and custom promotion:

You can drag and drop catalogs, categories and entries to make them excluded by this specific promotion.

You can also set it using APIs by using new `ExcludedCatalogItems` property:

promotionData.ExcludedCatalogItems = new List<ContentReference>() { catalogLink, categoryLink, entryLink };

Note that the exclusion is always recursive. So if you add a category to ExcludedCatalogItems, all subcategories and their subcategories will be excluded.

Commerce 13 is on its way and can be released in a month or so (as always, don't take my words as promises)

Feb 01, 2019


Sebbe Feb 1, 2019 02:42 PM

Cool! And when will commerce 13 be out? :)

Quan Mai
Quan Mai Feb 5, 2019 09:19 AM

@Sebbe: I expect it to be out in 1 month, but that is not fixed. 

Please login to comment.
Latest blogs
Optimizely SendGrid SMTP host is deprecated

SendGrid is a services for sending email that is included in Optimizely DXP. Previously smtp.episerver.net was the recommended SMTP server to use,...

Tomas Hensrud Gulla | Dec 4, 2022 | Syndicated blog

Hosting Optimizely CMS 12 on Docker Engine

Since Optimizely CMS can now be deployed as a Docker container, here is a demonstration of building, running and scaling an Optimizely CMS 12 site ...

Stefan Holm Olsen | Dec 4, 2022 | Syndicated blog

How to use CacheTagHelper with content areas in Optimizely CMS 12

I might be going out on a limb here - if you have a better solution, feel very free to share it!  Upgrading your Optimizely web application from .N...

Andreas J | Dec 2, 2022

The 1001st Piece in your 1000 Piece Puzzle: .NET Default Interface Functions

I was recently working with a client who wanted a reasonably large subsystem added to Optimizely that would add automated management to their...

Greg J | Nov 28, 2022 | Syndicated blog

Video Demonstration, creating a CMS12 Alloy Sample Site

Hey All Below you will find a quick video demonstration on how to install a local version of Alloy Sample based on CMS12 / .Net 6. As you will see ...

Minesh Shah (Netcel) | Nov 28, 2022

How to create an admin user I Optimizely CMS – with Episerver CLI

In this blog post I’ll show how to create an admin user for Optimizely CMS in a new environment where you don’t have access to the admin interface.

Ove Lartelius | Nov 28, 2022 | Syndicated blog