WooCommerce variable product: how to avoid 256 variations when only some attributes affect price/image?
11:56 26 Nov 2025

I have a WooCommerce shop with products that all follow the same structure, but I am stuck on how to model the attributes and variations without ending up with a huge number of combinations per product.

Each product has these options

Color with 4 values

Surface or finish with 2 values matt and glossy This does not change the price or the product image

Power with 4 values for example 26W 39W 52W 65W This does change the product image, the price, and the size

Kelvin CCT with 4 values for each power for example 2700K 3000K 3500K 4000K This does not change the product image or the price, but each Power × Kelvin combination has its own product code or SKU

Dimming with 2 values yes and no This does not change the product image, it only adds a price surcharge

Right now I have modeled all of these as attributes that are used for variations, which gives me

4 (Color) × 2 (Surface) × 4 (Power) × 4 (Kelvin) × 2 (Dimming) = 256 variations per product

This is very hard to maintain. For example

When I change the price for one power level I have to update many variations

When I change a product image for one power level I also have to touch many variations

In reality I only have 4 distinct product images, one for each power, not 256

I am using WordPress with WooCommerce and I am looking for a better way to structure this.

What I need functionally

The customer should still be able to select

Color

Surface or finish

Power

Kelvin

Dimming

Orders should contain all of these selections

Only Power and maybe Dimming should influence price and image

Every Power × Kelvin combination should be able to have its own SKU or product code

One more requirement is that this shop needs to work well for both B2B and B2C customers. Because of that I have tried to stay away from extra product addon plugins for now and would prefer something that is close to WooCommerce core or at least easy to maintain for both customer types.

My questions

What is the recommended way in WooCommerce to model this so I do not end up with 256 variations per product

Does it make sense to use variations only for the Power × Kelvin combinations and then use something else for Color Surface and Dimming, for example custom fields or attributes that do not create new variations

If that is the right direction, how would you typically implement this so that

the frontend still shows nice dropdowns or buttons for all options

and the order reliably stores every selected value

Given these constraints what would you do in my situation Any concrete examples or best practice patterns for a setup that serves both B2B and B2C customers would be very helpful

wordpress woocommerce product-variations