Skip to content

Number and slider

Two types collect a number: Number, which the customer types, and Slider, which they drag between two bounds.

Both are available on every plan, including Free, and formula pricing is the reason they exist — a number the customer supplies is the natural input to price per centimetre.

Their pricing rules are not identical, and the difference is deliberate:

Number Slider
Flat fee Yes No
Percentage of product price Yes Yes
Formula Yes Yes
Quantity tiers Yes Yes
Per character No No

A slider is answered from the moment it renders — the customer cannot decline it. A flat fee on a field nobody can leave blank is not an add-on, it is an unconditional surcharge nobody opted into, so it is not offered. What remains prices the value the customer chose, which is the only thing a slider expresses.

Neither type offers per character: billing by the digit count of a number is not something a merchant means to do, and offering it invites a mis-click that overcharges every order.

A typed value, with optional minimum, maximum and step. It can be genuinely empty: a customer who types nothing has not answered.

Use it when “no answer” means something different from “the default value”.

A value dragged between two bounds. A slider always has a position, so it always has an answer — the customer can add to cart without touching it and still produce a value.

Use it when any value in the range is acceptable and you want the customer to explore it. Do not use it for something that should be a deliberate decision, because an untouched slider still submits its starting value.

Set both bounds on every numeric option. An unbounded number field accepts 999999, and a formula multiplying that by a per-unit price produces a cart line neither of you intended.

The step controls what values are allowed. A step of 0.5 on a length in centimetres allows 12.5 but not 12.3.

A Length (cm) number option, bounded 10–200, with a formula rule:

length_cm * 0.40
Customer enters Added
10 £4.00
55 £22.00
200 £80.00

The variable name comes from the option’s label, lowercased with non-letters turned into underscores — Length (cm) becomes length_cm. See Formula.