Do cart transform merge/expand custom products receive discounts?

A merge/expand operation is performed and a single, custom product with components is created.

Can this custom product be ineligible for any standard automatic or code-based discounts?

For example, If I have a product discount code that applies a percent discount to products in Shop All collection, will that include the cart transformed custom product?

Hey Kyle,

When you create a custom product bundle using a cart transform function, the bundle itself is treated as a single line item in the cart. This means that the individual components of the bundle may not be directly recognized as part of the original collection for discount purposes.

Do you want to ensure that product components of a bundle created with a cart transform function do get discounted?

Thanks Liam.
I want to prevent the entire bundle and its components from receiving a discount.
It seems that as long as the bundle parent product is NOT targeted by a discount code, the entire bundle does NOT get a discount.

  1. Can you confirm this?

  2. Also on the topic of bundles, can I modify the price of merged bundle components via an update operation or a product discount function?

Hi again Kyle,

So I got more context from the team on this: Both automatic and code discounts are always applied on the bundle ( the parent product) and never on the components directly. If the bundle is part of a collection which has a discount then the bundle will get discounted.

The components get their discounts calculated using a weighted algorithm. For example, let us take this bundle.Bundle price = 100
Component 1 x 3 = price 10 each
Component 2 x 1 = price 20 eachIf a discount of 30 is applied to the bundle then component 1 will get this discount.30 x (3 x 10 ) / (3 x 10 + 2 x 20)

And component 2 will get this:30 x (2 x 20 ) / (3 x 10 + 2 x 20)

Thank you for the algo explanation! I was trying to understand that from my tests.

To confirm: I cannot set an exact price of each child item in a bundle when merging? only expand?

I believe this is only with expand - correct!