Setting up attribute-based pricing in WooCommerce normally means generating a variation for every possible combination of attributes. Four sizes, three materials, two colours — that's twenty-four variation records before you've sold a single item, and every price change means editing them one by one. This tutorial takes the opposite approach: define a small set of pricing rules once, attach them to a product, and let the price calculate at runtime. No variation records, no combinatorial bloat.

By the end you'll have a configurable product whose price updates live as customers select options, with the chosen attributes flowing correctly through cart, checkout, and orders. The walkthrough uses PriceBlueprint for WooCommerce, a free plugin on WordPress.org, but the underlying model — rules instead of combinations — applies regardless of the tool. For the reasoning behind why this scales better, see the rule-based pricing guide.

What Attribute-Based Pricing Means

In the variation model, each combination of attribute values is a stored record with its own price. In the rule-based model, each attribute value carries a price modifier, and the product price is the base price plus whatever modifiers the customer selected. "Size XL adds $10" and "Material Oak adds $25" are rules; an XL Oak item is simply base + 10 + 25. Adding a fifth size adds one rule, not a multiplied set of combinations — the variation bloat article covers why that math gets ugly fast.

Before You Start

You need WooCommerce 6.0+ and at least one global attribute defined, since blueprints are built from global attributes rather than per-product custom ones. Global attributes live under Products → Attributes.

Set Up Global Attributes

Create the attributes that drive your pricing — for a chair that might be Size, Material, and Finish — then add terms to each (Size: S, M, L, XL; Material: Pine, Oak, Walnut). These terms are what your rules will reference, so name them the way customers should see them. Skip this step and the blueprint editor will show you a notice with a direct link to add attributes instead of an empty dropdown.

Step 1 — Create a Price Blueprint

Go to Products → Price Blueprints → Add New. Name the blueprint after the pricing logic, not a single product — "Standard Furniture Pricing," for example — since you'll reuse it across every product that shares this logic.

Add Attribute Rules

Select an attribute, then assign a price add-on to each of its terms. A typical furniture blueprint looks like this:

Attribute valuePrice add-on
Size: M+$0.00
Size: L+$8.00
Size: XL+$15.00
Material: Pine+$0.00
Material: Oak+$25.00
Material: Walnut+$40.00

The Zero Add-On Base Option

Size M and Material Pine are set to +$0.00 on purpose — every attribute needs a baseline value that doesn't change the price, so the product starts from a sensible configuration. Zero is a fully supported add-on and the correct way to define your base option.

Step 2 (Optional) — Generate Rules Automatically with Quick Setup

Already have a product with the right attributes assigned? Use Quick Setup to generate a blueprint from that product's attributes in one click — it reads the terms and creates a rule for each, which you then adjust. New to the plugin? The Welcome screen also has a one-click Import Demo Data button that installs a sample blueprint and linked product so you can see the whole flow before building your own.

Step 3 — Create a Configurable Product and Assign the Blueprint

Add a new product as usual. In the Product data dropdown, set the type to Configurable Product. Open the PriceBlueprint tab and select the blueprint you created — that single assignment links the product to your pricing rules. No variations to generate.

Set the Base Price

Enter the product's base (regular) price in the standard WooCommerce price field — the figure the attribute add-ons apply on top of. For a chair with a $120 base, an XL Walnut configuration resolves to $120 + $15 + $40 = $175.

Step 4 — Verify the Live Price on the Product Page

Open the product on the front end. You'll see a selector for each attribute and a price that recalculates as selections change. This happens over AJAX, so it works fine even with full-page caching plugins like WP Rocket or LiteSpeed Cache — the cached HTML loads instantly and the price request runs on top of it.

Step 5 — Check Cart, Checkout, and Orders

Add the configured product to the cart and confirm the selections and price carry through. PriceBlueprint records the chosen attribute values at every stage — cart, checkout, the WooCommerce admin order screen, order emails, the Thank You page, and My Account. It's also HPOS-compatible, so it works whether or not your store uses High-Performance Order Storage.

Reusing One Blueprint Across Many Products

This is where the model pays off. Create a second product, set it to Configurable Product, and assign the same blueprint. Both products now share the same pricing rules. When Oak goes up by $5, you edit one rule and every linked product reflects it immediately — no per-product editing. A store with eighty products on one pricing structure maintains one blueprint instead of eighty catalogs.

A Worked Example: Pricing a Chair

With a $120 base price and the rules above, the configurator resolves prices like this:

ConfigurationCalculationFinal price
M / Pine120 + 0 + 0$120.00
L / Oak120 + 8 + 25$153.00
XL / Walnut120 + 15 + 40$175.00

None of these is a stored variation — each is computed at runtime from four rules, and adding a new size or material adds one rule, not a multiplied record count.

Sale Prices and Troubleshooting

Configurable products support sale prices the same way a simple product does, including scheduled dates — shop listings show the strikethrough pair, and the configurator stays sale-aware as selections change. If the blueprint editor shows no attributes, you have no global attributes yet (it'll link you straight to the screen to add them). If the front-end price doesn't update, confirm the product type is Configurable Product and a blueprint is assigned on the PriceBlueprint tab.

Conclusion

Setting up WooCommerce attribute-based pricing with rules takes a blueprint, a product type, and one assignment — it replaces the entire variation-generation step. The real payoff shows up later: pricing logic is defined once and reused everywhere, so a price change is a single edit instead of a sweep through hundreds of records.