Quan Mai
Feb 1, 2019
  6514
(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
“Learning by Doing – Optimizely OPAL Series” | Episode 02 is Live!

Introduction With Optimizely OPAL, we’re not just generating content—we’re designing intelligent workflows. But after working with teams and...

Ratish | Jun 14, 2026 |

Content Variations in CMS 13, Part 3: Audiences vs Audiences

Executive summary. Part 2 left the experiment running against Everyone . Real projects don't look like that. So this part wires those same CMS...

Piotr | Jun 14, 2026

Hiding Pages in the Optimizely CMS 13 Page Tree

When working with large Optimizely CMS solutions, the page tree can quickly become one of the biggest sources of editor frustration. This is...

Pär Wissmark | Jun 13, 2026 |

Designing ODP Real-Time Audiences for CMS Personalization and Experimentation

A practical look at when to use ODP Real-Time Audiences, how to build them, and how they fit into CMS personalization and Feature Experimentation.

Wojciech Seweryn | Jun 11, 2026 |

Unlock Experimentation with Content Variations in CMS 13

Part 1 argued that Content Variations is the CMS 13 feature that didn't get the keynote but should have. This is the follow-up: wiring those...

Piotr | Jun 11, 2026

umage.ai is now an Optimizely Silver Solution Partner

umage.ai is officially an Optimizely Silver Solution Partner. The badge formalises an alignment that was already there — agent-driven Optimizely wo...

Allan Thraen | Jun 10, 2026 |