Take the community feedback survey now.

Quan Mai
Feb 1, 2019
  6072
(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

Comments

Sebastian Enberget
Sebastian Enberget Feb 1, 2019 02:42 PM

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

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 CMS Mixed Auth - Okta + ASP.NET Identity

Configuring mixed authentication and authorization in Optimizely CMS using Okta and ASP.NET Identity.

Damian Smutek | Oct 27, 2025 |

Optimizely: Multi-Step Form Creation Through Submission

I have been exploring Optimizely Forms recently and created a multi-step Customer Support Request Form with File Upload Functionality.  Let’s get...

Madhu | Oct 25, 2025 |

How to Add Multiple Authentication Providers to an Optimizely CMS 12 Site (Entra ID, Google, Facebook, and Local Identity)

Modern websites often need to let users sign in with their corporate account (Entra ID), their social identity (Google, Facebook), or a simple...

Francisco Quintanilla | Oct 22, 2025 |

Connecting the Dots Between Research and Specification to Implementation using NotebookLM

Overview As part of my day to day role as a solution architect I overlap with many clients, partners, solutions and technologies. I am often...

Scott Reed | Oct 22, 2025

MimeKit Vulnerability and EPiServer.CMS.Core Dependency Update

Hi everyone, We want to inform you about a critical security vulnerability affecting older versions of the EPiServer.CMS.Core  package due to its...

Bien Nguyen | Oct 21, 2025

Speeding Up Local Development with a Fake OpenID Authentication Handler

When working with OpenID authentication, local development often grinds to a halt waiting for identity servers, clients, and users to be configured...

Eric Herlitz | Oct 20, 2025 |