Dimension add-on formula
Price a product by the measurements the customer enters, using a formula on the Dimension option type.
Dimension is the only option type that calculates its own price. Instead of a flat charge, you set a rate and a formula, and the price is calculated from the measurements the customer enters.
Use it for made-to-measure products such as blinds, canvases, worktops, glass, and cut fabric.
A 1:55 video showing a formula built end to end sits at the top of the Dimension page, if you would rather watch it than read it.
The two fields
Both are on the Basic tab, under the axis rows.
Add-on price
A number the formula refers to as {{addon}}. Usually your rate per unit of area or length.
Formula
An expression using x, y, and z for the three axes, and {{addon}} for the rate.
The field's placeholder shows the expected format: x * y * {{addon}}.
x
The first axis — usually Width
y
The second axis — usually Height or Drop
z
The third axis — usually Depth, if you kept it
{{addon}}
Whatever you put in Add-on price
Common formulas
x * y * {{addon}}
Area
Blinds, canvases, glass, printed panels
x * {{addon}}
Length
Cut fabric, trim, cable, worktop edging
(x + y) * 2 * {{addon}}
Perimeter
Frames, mouldings, edge banding
x * y * z * {{addon}}
Volume
Boxes, packing, foam inserts
x * y * {{addon}} / 10000
Area in square metres, from centimeters
When your rate is per m² and the customer enters cm
Working out your rate
The rate depends on the units the customer enters, so calculate it from a size you already price.
Check a second size
120 × 180 = 21600, and 21600 × 0.01 = $216.00. If that price is not acceptable, your pricing is not linear. See When pricing is not linear below.
When pricing is not linear
A formula multiplies, so it assumes that double the size costs double the price. Real pricing often differs, because small items have a minimum cost and large items cost less per unit.
There are two alternatives:
A minimum charge
Add a separate Switch or Radio button priced as a base fee, always applied, with the formula covering only the variable part
Size bands
Skip Dimension. Use a Radio button or Button with one value per size band, each individually priced, and a Number field for the exact measurement you need for production
Size bands are usually the better option. The customer sees a clear price for their band, and you set every price.
Worked examples
A made-to-measure blind
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}}
For a 100 × 150 blind: 100 × 150 × 0.012 = $180.00.
A frame priced by perimeter
Width and height in cm, rate 0.15, formula (x + y) * 2 * {{addon}}.
For a 40 × 50 frame: (40 + 50) × 2 × 0.15 = $27.00.
Cut-to-length fabric
One axis only, with the label Length, the unit m, a rate of 12, and the formula x * {{addon}}.
For For 3.5 meters: 3.5 × 12 = $42.00.
Notes
The formula is set per Dimension option. For two sets of priced measurements, use two Dimension options.
Each axis has its own Unit, but the formula uses the numbers only and does not convert between units. If one axis uses centimeters and another uses meters, convert the value in the formula.
Dimension is not supported in Shopify POS. For in-person orders, collect measurements with Number fields and apply the price another way. See POS limitations.
Each measurement is stored in the order as its own value with the axis label, for example
Width: 100andDrop: 150.
Last updated
Was this helpful?