MeasureLab
Guides · Flooring

Guide · 7 min read

How to sell flooring on Shopify: by the m², the pack or the roll

Laminate, parquet, vinyl and carpet are priced by area but sold in packs or off the roll. Between the two sits a sum customers get wrong: room size, waste, whole packs. Get it wrong and they reorder or send boxes back. Here's how your product page can do it for them.

Three ways flooring is sold

1. By the pack: laminate, parquet, click vinyl

area + waste → whole packs

Each pack holds a fixed area, say 2.22 m². Shopify can sell packs, but the customer has to work out how many. If the product page asks for the room size and the laying pattern instead, it can add the waste, round up to whole packs and show the price.

2. Off the roll: carpet, vinyl sheet

length × roll width

Rolls come in fixed widths, often 2, 4 or 5 m. The customer pays the length cut times the full roll width, even if the room is narrower. A calculator can suggest the right width and round the length to your cutting step.

3. Cut to size: mats, runners, sports flooring

width × length × rate per m²

When each piece is cut to measure, it's plain area pricing, with a minimum for small pieces and a maximum set by your roll width. It works like the price per square metre guide.

A worked example: packs

A room of 4.20 × 3.50 m is 14.70 m². With 10% waste the customer needs 16.17 m². At 2.22 m² per pack that's 7.28, so 8 packs holding 17.76 m². At £29.95 per m² that's £531.91. Skirting boards for the room add seven 2.4 m lengths. Try your room:

14.70 m² + 10% = 16.17 m² → 8 packs (17.76 m²)
£531.91

Packs = area × (1 + waste) ÷ area per pack, rounded up. The customer pays for the area of whole packs, not of the room.

Waste, rolls, skirting and unit price

Setting it up with a calculator

Here's how it looks with MeasureLab, the calculator app we make. The same ideas apply to any calculator app.

  1. Start from the “Flooring” template. It comes with Room length and Room width in metres, an area line, a 10% waste allowance, underlay as an extra and a minimum charge.
  2. For plain area pricing, put your price per m² in the price line (area * 29.95) and adjust the allowance in Pricing rules under “Waste / overage %”.
  3. For packs, round up to whole packs: ceilto(area * 1.1, 2.22) * 29.95 adds 10% waste and rounds up to whole 2.22 m² packs. Then set “Waste / overage %” to 0 so the waste isn't counted twice.
  4. Laying pattern as a choice: to let the customer pick the allowance, add a dropdown and use its value instead of the fixed 1.1 in the formula.
  5. Skirting as an extra: ceil(2 * (length + width) / 2.4) * 8.90 counts the 2.4 m lengths for the room's perimeter.
  6. Publish, then place the calculator block on your product page in the theme editor.

The order then shows the room size, laying pattern and extras next to the line, and the price is checked again at checkout.

Questions

How much waste should I allow for?

As a rule of thumb, about 5–10% for straight laying in square rooms and 10–15% for diagonal, herringbone or awkward rooms. Let the customer pick the laying pattern and the allowance follows.

How do I round up to whole packs?

Divide the area needed, including waste, by the area of one pack and round up to the next whole number. 16.17 m² at 2.22 m² per pack is 7.28, so 8 packs holding 17.76 m².

Can customers measure in feet?

Yes, if your calculator converts units. In MeasureLab, turn on the unit switch: customers type feet or inches and it's converted before the price is worked out.

How do I price carpet off the roll?

By roll width: the customer gets a piece the full width of the roll, say 4 m or 5 m, and pays the length cut times that width, not just the area of the room.