Some context:
We are migrating a Shop to Headless and we encountered a problem with highly customizable products and the 100 variant limit. I would like to know your opinion on the proposed solution and if some one can think of a more elegant solution.
What we want to accomplish:
- We want to allow users to customize products in many ways (Colors, Lengths, Type of material, Measurements, Extras etc.)
- Choosing some options should result in a higher price
- Discounts should be applicable to the total price of the product (Including the extra price coming from the option selection)
The problem we have:
Since we have many options we can’t treat them as native Shopify options because that would result in more than 100 variants. We have products with more than 7 options, more than 100 variants and more than 4 options that cause extra prices
Idea to solve this problem:
-
Save possible options as JSON string in the Product Metafields
-
Have one variant per paid product option with the extra price that clients would pay for it
-
When selecting a paid option, internally add two variants to the cart (the selected variant + the variant that represents the option that highers the price)
-
Programmatically display both products as one in the Frontend and in the checkout using Shopify Functions