Dimension
Two or three measurements with their own units, and a formula that calculates the price by size.
A single option that collects several measurements: width, height, and optionally depth. Each measurement has its own label, unit, and limits. Dimension is the only option type with a Formula, which calculates the add-on price from the values the customer enters.
Use it for made-to-measure products such as blinds, canvases, worktops, glass, framed prints, and cut fabric.
Watch it done — 1:55. Width and height fields with their own units and limits, and a formula that prices each order from the numbers the customer types.
What customers see
Two or three numeric fields on one row, each with its own label and unit.

Basic
Blocks add to cart until every axis has a value.
Hides the label.
Option values
The axis rows themselves. See below.
Guidance that stays visible — the right place for your minimum and maximum sizes.
Add-on price
The base amount the formula works from.
Formula
How the measurements turn into a charge. See below.
Show or hide based on other choices.
The axis rows
A Dimension option starts with three rows, tagged X position, Y position, and Z-Axis. They correspond to Width, Height, and Depth. Each row has its own settings:
Label
What the customer reads above that field — Width, Drop, Diameter.
Placeholder
Example text inside the empty field.
Unit
The unit shown with the field — cm, m, inch.
Default value
A starting figure.
Min / Max
The smallest and largest you can produce on that axis.
Delete the third row if your product needs only two measurements. Set Min and Max on every row you keep, so customers cannot order a size you cannot produce.
Each axis can use a different unit. For example, Width can use centimeters while Quantity of panels uses a plain count.

Add-on price and Formula
Instead of a flat charge, the price is calculated from the measurements the customer enters.
Add-on price
A number the formula can refer to as {{addon}} — typically your rate per unit of area or length.
Formula
An expression using x, y, z for the three axes and {{addon}} for the price above.
The placeholder in the field shows the expected format: x * y * {{addon}}.
x * y * {{addon}}
Price by area
60 × 90 at a rate of 0.01 → $54.00
x * {{addon}}
Price by width alone
200 at a rate of 0.5 → $100.00
(x + y) * 2 * {{addon}}
Price by perimeter, for framing
60 and 90 at 0.2 → $120.00
x * y * z * {{addon}}
Price by volume
For boxes and packing
Set your rate in Add-on price and keep the formula simple. Then test it by entering the smallest and largest sizes you allow, and check that both prices are correct.
Full detail and more worked examples: Dimension add-on formula.
Advanced
Where the help text sits.
Styling hook and field width.
Dimension has no prefix or suffix settings, because each axis has its own Unit.
Personalizer
Not supported.
Examples
A made-to-measure blind priced by area
Label / Name
Blind size
X position
Label Width, unit cm, min 30, max 240
Y position
Label Drop, unit cm, min 30, max 250
Z-Axis
Deleted
Add-on price
0.012
Formula
x * y * {{addon}}
Required field
On
Help text
Measure the recess, not the window. Widths from 30 to 240 cm.
A canvas print priced by area
Width and height in centimeters, Min 20 and Max 150 on each, formula x * y * {{addon}}.
A frame priced by perimeter
Width and height in centimeters, formula (x + y) * 2 * {{addon}}, because the cost of a frame follows the length of the molding.
Cut-to-length fabric
Delete two of the three rows. Label the remaining axis Length, set the unit to m, and use the formula x * {{addon}}.
Notes
Available on the Advanced plan.
Not supported on Shopify POS.
No Personalizer support.
Up to three axes. For more measurements, add a second Dimension option or use Number fields.
The formula cannot contain subtraction.
Each measurement is stored in the order as its own value with the axis label, for example
Width: 120.Set Min and Max on every axis. Without them, a customer can order a size you cannot produce, and the formula still calculates a price for it.
Last updated
Was this helpful?