For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

Field
Holds

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}}.

Symbol
Means

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

Formula
Prices by
Use for

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.

1

Pick a size you already know the price of

For example, a 60 × 90 cm canvas that you sell for $54.00.

2

Divide the price by the formula's result without the rate

For an area formula: 60 × 90 = 5400. Then 54 ÷ 5400 = 0.01.

3

Put that number in Add-on price

0.01, with the formula x * y * {{addon}}.

4

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.

5

Check your smallest and largest allowed sizes

Enter the minimum and maximum you allow on each axis, and check that both resulting prices are acceptable. A very small size can produce a price close to zero.

A rate such as 0.0001 is normal. It is a price per square centimeter. Set Min and Max on each axis so a customer cannot enter a size that produces an incorrect price.

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:

Approach
How

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

Setting
Value

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: 100 and Drop: 150.

Last updated

Was this helpful?