How to Price Products by Size, Weight, or Area in WooCommerce With Ease

There is an entire category of products that has always been sold by measurement rather than by unit, and it predates eCommerce by centuries. Fabric merchants in ancient bazaars charged by the yard. Timber yards priced by the board foot. Grain traders worked in bushels and tonnes. The idea of a product whose price is inherently tied to how much of it you are buying rather than a fixed unit price is as old as commerce itself.
What changed is the expectation that this should work online with the same ease it works in a physical setting and for a long time WooCommerce did not have a clean answer for that. A customer wanting two and a half meters of fabric or six square feet of tile should be able to enter their measurements and see an accurate price instantly without the store owner having to manually quote every order or create hundreds of product variants to cover different size options.
What we have observed working with measurement-based product stores is that the gap between what customers expect and what the default WooCommerce setup can deliver creates real operational friction, either for the customer who has to contact the store to get a price, or for the store owner who ends up doing manual calculations for a significant portion of their orders.
This blog covers the full picture, from the types of businesses that need measurement-based pricing, to the solutions available including code-based approaches and dedicated plugins, with the WooCommerce measurement price calculator by Extendons as the recommended solution for most setups.
The Kinds of Businesses That Actually Need This
Before getting into solutions it is worth spending some time on who this problem actually affects because the range is broader than most people initially assume and the operational impact varies significantly depending on the product type.
Fabric and Textile Retailers
This is probably the most obvious category. Fabric is priced per meter or per yard almost universally and a customer buying dress fabric has a specific length requirement based on the pattern they are working from. They need to enter that measurement and get a price, not choose from a dropdown of pre-cut sizes that may or may not match what they need.
What we noticed with fabric stores that have moved to proper measurement-based pricing is that it dramatically reduces the back and forth between customers and store owners because the customer gets an accurate price immediately without needing to ask.
Flooring, Tile, and Carpet Stores
Square footage or square meter pricing is standard in the flooring industry and customers come to these stores with specific room dimensions in mind. A carpet retailer needs customers to be able to enter length and width and receive an accurate price for that area. The alternative, listing every possible square footage option as a separate product variant, is not a realistic approach for a catalogue of any meaningful size.
What makes this category particularly interesting is the box pricing dimension. Flooring tiles are often sold in boxes that cover a specific area and the calculation the customer actually needs is how many boxes they need to cover their measured area, not just a straight per-square-foot price. The ability to handle this specific calculation type is something that separates dedicated measurement pricing plugins from more generic approaches.
Glass and Perspex Cutting Services
Custom cut glass, acrylic sheet, and perspex are priced by area and often by thickness as well. A customer ordering a custom glass shelf has specific dimensions that determine the price and there is no practical way to represent every possible dimension combination as a product variant. Measurement-based pricing is the only approach that makes operational sense for this product type.
Rope, Wire, Cable, and Pipe Suppliers
Length-based pricing for industrial and craft supplies covers an enormous range of products from electrical cable and garden hose through to craft wire and decorative rope. These products are typically sold off a roll and the customer specifies how many meters or feet they need.
What we have seen with suppliers in this category is that accurate online measurement pricing removes a significant operational bottleneck because without it every order that involves a non-standard length requires manual intervention.
Timber and Building Materials
Board feet, linear meters, cubic meters for treated timber, the building materials industry has its own measurement conventions that have been in place for generations and customers in this space expect to be able to specify their requirements and receive an accurate price without a sales call.
Food Products Sold by Weight
Specialty food retailers selling cheese, deli meats, nuts, coffee, or loose-leaf tea often price by weight. A customer who wants 250 grams of a specific cheese should be able to specify that amount and see the price for it rather than choosing from a limited set of pre-packaged weights.
What we observed with food retailers specifically is that weight-based pricing also reduces waste because it allows customers to order exactly what they need rather than the nearest pre-packaged option which might be more or less than they actually wanted.
Printing and Signage Businesses
Banner printing, custom signage, and large format print services are priced by the square meter or square foot of print area. A customer ordering a custom banner for an event has specific dimensions and the price depends directly on those dimensions.
Wrapping Paper and Surface Covering Products
Surface area pricing applies to wrapping paper, wallpaper, contact paper, and similar products where the relevant measurement is the total area to be covered and the price scales accordingly.
Why the Default WooCommerce Setup Cannot Handle This Properly
Out of the box WooCommerce is built around fixed-price products and product variations. The variation system can get you partway toward measurement-based pricing by creating separate size variants, but it breaks down quickly when the measurement options are continuous rather than discrete.
A fabric store with five fabric types available in any length from 0.5 meters to 50 meters cannot represent that as product variations without creating a catalogue management nightmare. Even rounding to half-meter increments that is a hundred variants per product and the moment a customer wants an odd measurement it falls apart entirely.
What we think is worth being honest about here is that WooCommerce’s default setup was built for a model where the seller decides the product configurations and the buyer chooses from them. Measurement-based pricing requires the opposite model where the buyer specifies what they need and the price calculates accordingly.
The Code-Based Approach and Where It Works
For developers comfortable with PHP and WooCommerce hooks, it is possible to implement measurement-based pricing through custom code and for simple use cases this can be a reasonable approach before committing to a dedicated plugin.
The core WooCommerce hook that makes this possible is woocommerce_get_price_html for display purposes and woocommerce_cart_item_price for cart calculations. Custom fields can be added to the product page using woocommerce_before_add_to_cart_button and the input values captured and used to modify the price when the item is added to the cart.
A basic implementation for per-meter pricing might look something like this conceptually:
- Add a custom input field to the product page asking for the required length
- Capture that input when the product is added to the cart
- Store the measurement as cart item data using woocommerce_add_cart_item_data
- Modify the cart item price using woocommerce_before_calculate_totals by multiplying the base price per unit by the entered measurement
What we think is worth being clear about with the code approach is that getting the basic calculation working is genuinely achievable for a developer and there are plenty of code snippets circulating in WooCommerce developer communities that handle the fundamentals.
Where the code approach starts to show limitations is everything around the core calculation. Things like:
- Input validation to prevent customers from entering values outside acceptable ranges
- Unit conversion when customers might be thinking in different units from the ones the price is set in
- Fractional and decimal value handling for customers entering measurements like 1.75 meters or three-quarters of a yard
- Volume calculations that require three separate inputs for length, width, and height
- Box quantity calculations where the output is not a price per measurement but a number of boxes based on the area
- Pricing tables that show tiered rates based on measurement ranges
- Stock management that tracks inventory in the same unit the product is sold in
Each of these is solvable in code individually but by the time you have implemented all of them for a production store you have essentially built a measurement pricing plugin from scratch and you own the maintenance burden for it indefinitely.
What we observed is that the code approach makes most sense for very simple single-product setups with straightforward per-unit pricing and no complex calculation requirements. As soon as the requirements grow beyond that a dedicated plugin is the more practical investment.
The Measurement Price and Cost Calculator by Extendons
The Measurement Price and Cost Calculator for WooCommerce by Extendons is the dedicated solution we would point most store owners with measurement-based pricing needs toward and the reason comes down to the combination of measurement types it supports, the flexibility of its pricing configuration, and the practical features around stock management and input control that make it a complete solution rather than just the core calculation.
Getting It Installed
Installation follows the WooCommerce subscriptions approach:
- Log into your WooCommerce account and navigate to My Subscriptions
- Find the Measurement Price and Cost Calculator and click Add to Store
- Follow the on-screen instructions for automatic installation
- Activate from the Plugins section in WordPress admin
After activation the configuration happens at the product level rather than through a separate global settings page, which makes sense because measurement settings are inherently product-specific.
Enabling Measurement Pricing on a Product
Go to WooCommerce > Products and either add a new product or edit an existing one. In the Product Data dropdown change the product type to Measurement. This unlocks two new tabs: Measurement Settings and Min/Max Quantity Value.
Other Plugin Options Worth Knowing About
Before getting into the Extendons plugin specifically it is worth acknowledging that there are a few other approaches in the WooCommerce plugin ecosystem for measurement-based pricing.
WooCommerce Price Calculator by Barn2
Barn2’s Price Calculator allows customers to enter measurements and calculates the price based on those inputs. It supports several calculation types and integrates well with the WooCommerce product page. What we think it does reasonably well is the core calculation use case for straightforward per-unit measurement pricing.
WooCommerce Product Add-Ons with Custom Pricing
Using a product add-ons plugin with custom pricing logic can approximate measurement-based pricing for simple scenarios but it requires some creative configuration and does not handle volume or area calculations natively. It is more of a workaround than a dedicated solution.
WCFM and WCMp Measurement Extensions
For multi-vendor marketplace setups some vendor management plugins include measurement pricing as a feature for individual vendor products. These are relevant for marketplace scenarios but are not standalone measurement pricing solutions.
What we found is that none of these fully covers the range of measurement types, the flexibility in pricing structures, the stock management in native units, and the pricing table display that the Extendons solution provides, which is why we would recommend it as the primary option for most stores with genuine measurement pricing requirements.
Working Through the Measurement Settings
The Measurement Settings tab is where everything about how the WooCommerce measurement price calculator works for this product gets defined.
Measurements
This is where you select the measurement type that applies to the product. The plugin supports nine distinct measurement types and understanding which one fits the product is the most important configuration decision:
- Length: For products sold by linear measurement like rope, fabric, cable, pipe, and similar. Available units run from millimeters through to miles covering every practical linear measurement context
- Weight: For products sold by mass like food items, raw materials, and bulk goods. Units include kilograms, grams, ounces, pounds, and tonnes
- Area by Length x Width: For products where the customer enters both dimensions independently like carpet, blinds, glass, and custom cut materials. The price is calculated based on the total area of those two inputs
- Area by Square: For products where a single square measurement is entered rather than two separate dimensions
- Box: For flooring and tiling products where the customer enters the area to be covered and the plugin calculates how many boxes are needed based on the coverage per box and prices accordingly
- Volume by Length x Width x Height: For products sold by cubic measurement requiring three separate dimension inputs
- Surface Area: For wrapping, covering, and coating products priced by the total surface area
Show Product Price Per Unit
Checking this displays the price per unit alongside the total calculated price on the product page so customers can see both what each unit costs and what their specific measurement will cost in total. What we think this does for customer confidence is remove any ambiguity about how the price is being calculated.
Pricing Label
Set the label that appears next to the product price to communicate the unit being priced. For an area product this might be per sq. m or per sq. ft and for a length product it might be per meter or per yard. Getting this label right matters more than it might seem because a clear unit label is what tells the customer immediately how to interpret the price they are seeing.
Label
A custom label to display on the product page that describes what the customer should enter, something like “Enter your required length” or “Specify the area to cover.”
Entry Type
Choose between free form input where the customer can enter any valid measurement, and limited form where the input is constrained to the minimum and maximum values you define. What we observed is that limited form input is worth using for most products because it prevents orders that fall outside what you can practically fulfill and avoids the calculation errors that can come from extreme values.
Input Unit and Output Unit
The input unit is what the customer enters their measurement in and the output unit is what the pricing is calculated in. These can be different which allows for unit conversion so a customer who is naturally thinking in feet can enter their measurement in feet while the pricing is set per square meter and the conversion happens automatically.
Manage Stock
Check this to track inventory in the same unit the product is sold in. For a fabric store this means stock is tracked in meters rather than in product units which keeps inventory management aligned with how the product is actually sold. What we think is a genuinely useful feature here is that this prevents the situation where WooCommerce reports stock in units that do not correspond to how the product is being sold or consumed.
Setting Up the Pricing Table
The Pricing Table tab within the Measurement Settings is where tiered and range-based pricing gets configured and this is one of the more commercially significant features in the price calculator WooCommerce plugin.
A pricing table lets you define different price per unit rates for different measurement ranges. This enables:
- Volume discounts where larger measurements get a lower per-unit price, rewarding customers who order more
- Seasonal or demand-based pricing where specific date ranges carry different rates
- Tiered pricing structures that reflect the actual cost economics of producing or sourcing different quantities
For each range in the pricing table you set the measurement range, the price per unit for that range, and optionally a sale price per unit. If a customer’s measurement falls within a range, the corresponding rate applies automatically without any manual calculation required.
What we noticed with stores that implement pricing tables is that they also serve a useful customer communication purpose because displaying the table on the product page gives customers full visibility into how rates change at different quantities, which can encourage them to order at a threshold that qualifies for a better rate.
Configuring Min/Max Quantity Settings
The Min/Max Quantity Value tab handles the order constraints for the product:
- Minimum Price: The lowest price that applies for this product. If a customer’s measurement calculation produces a value below this minimum, the minimum price applies instead
- Minimum Quantity: The smallest measurement a customer can order. For a fabric store this might be 0.5 meters to prevent impractically small orders
- Maximum Quantity: The largest measurement allowed per order. Useful for managing stock availability and fulfillment capacity
What we think the minimum quantity setting in particular does for operational management is prevent the kind of very small orders that cost more to process and fulfill than the revenue they generate, which is a real problem for measurement-based products where per-unit margins can be slim.
The flexible measurement input support means customers can enter decimal values like 1.75 or fractional values, which covers the real-world measurement scenarios that customers actually come with, rather than requiring them to round to the nearest whole unit.
What the Customer Experience Looks Like
Once the WooCommerce measurement price calculator is configured on a product, the customer-facing experience is clean and immediate.
The product page shows the measurement input field or fields, depending on the measurement type, along with the pricing label showing the per-unit rate and the pricing table if it is enabled. As the customer enters their measurement, the total price updates in real time, so they always see exactly what they are about to pay before adding to the cart.
For area products, the customer enters length and width, and the price for that specific area calculates instantly. For box products, they enter the area to be covered, and the plugin calculates how many boxes they need and what that costs. For weight products, they enter the quantity in their preferred weight unit, and the price reflects that weight at the applicable rate from the pricing table.
What we observed is that this real-time price calculation is one of the features customers mention most positively in reviews of measurement-based product stores because it removes the uncertainty that comes with products where the price is not obvious upfront.
In Summary
Measurement-based pricing is one of those eCommerce requirements that sounds straightforward but reveals considerable complexity the moment you try to implement it properly for a real product catalogue. The history of measurement-based commerce is long, and the expectation that it should work seamlessly online is entirely reasonable, which makes getting it right worth the investment.
What we think the right approach looks like for most store owners is starting with a clear understanding of which measurement type applies to the product, then using a dedicated plugin like the Measurement Price and Cost Calculator by Extendons rather than a code-based workaround, because the edge cases and operational features around the core calculation are where the complexity actually lives.
The price calculator WooCommerce solution by Extendons covers the measurement types, pricing flexibility, stock management, input controls, and pricing table display that together make measurement-based selling work properly rather than just approximately, and for the businesses where this feature is central to how the store operates, that level of reliability is what justifies the investment in a dedicated solution.