How can I enable product customization with 4 values in my online store?

Hello everyone,

on my shop I need to dare the possibility for the user to customize the product by choosing some values (4 different values).

I cannot set the variants because I exceed the limit of 100 variants and I would like to dare the user to choose through 4 drop-down menus in the product.

How can I do?

Can Metafields help me with this?

Thank you all

Are these dropdowns fixed? If yes, just update the form and have these four fields included on your product page.

Make these fields as required so users cannot checkout without selecting them.

Thanks Lucid_Polygon for your reply
Seems like the best solution.

My problem is that these drop-down menus don’t have to appear on all products, but only on selected products.
Also on the products in which it must appear, the choices must be different. I’ll give you an example.
Product 1: dropdown: A, B, C, D
Product 2: dropdown: 1, 2, 3, 4,
Product 3: no dropdown
How can I choose which products to show the drop-down menu on?

Thank you

  • Either you go with making a custom template per group of products that has the same dropdowns
  • Or you make one template but use conditions like for example:
    • If Product is tagged A: Show options, ABC
    • If Product is tagged B: Show options, DEF
  • You can use a tag inside a product to tag them.

Thank you
In your opinion, it is not possible to use metafields to choose which product to publish the dropdowns on?

  • You can store the dropdowns in meta fields and use them as well.
  • But if 10 products have the same options, you will be duplicating this information 10 times over which is not a good coding practice.

How can I create a model like in your example?
Or you make one template but use conditions like for example:
If Product is tagged A: Show options, ABC
If Product is tagged B: Show options, DEF

This is a made-up example for your use case for you to get a general idea. (Untested).

{% if product.tags contains 'group1' %}  
    {% assign options = "A,B,C" | split: ','%}
{% endif %}
{% if product.tags contains 'group2' %}  
    {% assign options = "D,E,F" | split: ','%}
{% endif %}