How to Sell Fabric, Rugs and Curtains by Size on Shopify

Illustration of a fabric bolt with a tape measure, a rolled rug and a curtain panel beside a product calculator card, headlined Sold by Size, Priced on the Page

Fabric, rugs and curtains have one thing in common on Shopify: the customer decides the size.

To sell them by size, put a calculator on the product page. The customer enters their yardage or their measurements and picks a fabric. The page reads your rate for that fabric, applies your rules, and shows the price before they add to cart.

Appify Custom Product Options builds that calculator from a plain-English description. Below is how each product works, with examples, and what happens after the order.

Why don't Shopify variants work here?

Variants are fixed choices you create in advance. A customer who wants 3.5 yards of linen, or a rug 7 feet by 9, needs a price for a size you never listed.

So stores sell a handful of set sizes, or quote by email. Neither lets the customer buy the size they actually need, right now.

How do you sell fabric by the yard?

  • A yardage field. A Length field in yards or metres, with a minimum and a step. Set the step to 0.25 and the stepper moves in quarter yards.
  • A fabric choice. Image swatches show each fabric, with a large preview on hover.
  • A rate per fabric. A pricing table holds the price per yard for each one.
  • The formula. Yards times the rate for the fabric picked.

With made-up prices in dollars: linen at 18 a yard, cotton at 12. A customer picks linen and enters 3.5 yards, so the price is 3.5 × 18 = 63.

If you only cut whole yards, a rounding function turns 3.2 yards into 4. A minimum price keeps a tiny cut worth your time.

Selling cut pieces by length and width? Use a Dimensions field instead. A pricing variable called AREA multiplies the two, and the formula charges AREA times the rate for the fabric.

Selling fabric on the roll? Some customers know how many yards they need, and others know how many rolls. A two-way calculator takes either one and fills in the other, and the roll count goes into the cart as the order quantity, so they buy whole rolls, the way you stock them. The box or area demo shows the same setup with flooring boxes.

How do you price rugs by size?

You can price rugs by area and material, or from a supplier size grid.

Area times a rate

  • Width and length go in a Dimensions field, each with the smallest and largest size you make.
  • AREA is a pricing variable: width times length.
  • The rate comes from a table keyed by the material.

With made-up prices: wool at 9 a square foot, jute at 6. A 5 by 8 foot wool rug is 40 square feet, so 360. The same rug in jute is 240.

A supplier size grid

If your supplier prices by width and length in steps, the grid goes into a two-key pricing table. Set the lookup mode to Nearest upper and an in-between size is priced at the next size up. Interpolate blends between sizes instead.

Wall-to-wall carpet by the room

A rug has a size. Fitted carpet has a room, and plenty of rooms aren't one rectangle. A Room map lets the customer measure the room the way it's shaped: start from a rectangle or an L, or walk it wall by wall, and add every room in the job.

An L-shaped room measured in the Room map: walls of 10, 8, 16, 14, 6 and 6 feet, with the long sides filled in automatically, for a 60 foot perimeter and 164 square feet
An L-shaped room: four lengths typed, 164 sq ft worked out.

The price comes from the total area of every room, times the rate for the carpet they picked, with your waste added in. The perimeter is there too, for gripper or edging priced by the foot. A square footage calculator for real rooms walks through it.

Rules that fit rugs

  • Oversize surcharge: a price adjustment adds a flat charge once AREA passes a size you choose.
  • Minimum price: a floor on the total, whatever the size.
  • Shipping weight: a weight formula, like area times the weight per square foot.
  • Quantity breaks: a discount by quantity and a size like area.

How do you sell curtains with multiple options?

A curtain order can include width and drop, fabric, lining and heading style, and sometimes a rod.

1. Width and drop

Two number fields, each with a minimum, maximum and step. A Limit rule can change the largest width when a given fabric is picked.

2. Your price

If you price from a width and drop grid, put it in a pricing table, one per fabric group. The formula reads the table for the fabric the customer picked. How to sell made-to-measure blinds walks through a grid like this step by step.

If you price by a formula instead, like fabric used times a rate, that works too. A choice such as your fullness can carry its own number, and the formula reads it.

3. Lining and heading style

Show heading styles as image swatches, so the customer sees the pleat they're choosing. A lining choice can carry its own formula, priced from the width.

A Show if rule keeps choices out of the way until they matter, like tieback options only when the customer asks for them. A hidden option is left out of the price and the cart.

4. Rods and tracks

Link your existing rod or track products to a choice. They're added to the cart as normal Shopify products, at their live price and with their own inventory.

5. Steps for a long order

A multi-step layout walks the customer through measurements first, then fabric, then lining and extras. Nobody meets every field at once.

One calculator, your whole rate card. A rate per fabric, an AREA variable, a size grid with the lookup mode you choose, surcharges and a minimum, all on one native cart line. No size ever becomes a new variant.

What pricing rules can go around the price?

All three products share the same toolkit:

  • Fixed fees: a cutting or making-up fee, flat or by formula. Discounts never reduce it.
  • Pricing variables: named values like AREA or FABRIC_RATE, written once and reused in any formula or rule.
  • Minimum and maximum price: set on the total, or with MAX() inside a formula.
  • Quantity discounts: by quantity, or by quantity and a size.
  • Value rules: fill in a choice from other choices, and the customer can still change it.
  • Custom SKU: built from the fabric and the size.

Let Chat with AI build it

Chat with AI sits beside the editor on every tab. Type how you price:

"I sell fabric by the yard. Customer picks fabric type and enters yardage. Price per yard depends on the fabric."

It adds a fabric dropdown, a number input for the yardage and a table-based pricing formula.

  • Start from your price sheet: attach a CSV or Excel file and it builds the rate tables.
  • Add your fabric photos: attach them and say which choice each belongs on.
  • Write formulas in plain English: Describe with AI turns "width times length times the rate for the material" into a formula. Explain formula turns any formula back into words.
  • Change it later: a new fabric, a new rate or a new lining, just ask.

What if a price comes out wrong?

Click Price looks wrong? under the preview price. The Troubleshoot tab runs the formula for those exact choices and shows the value of every step, from the area to the rate it looked up.

Or tell Chat with AI the number it should be: "a 5 by 8 wool rug should be 360." It opens Troubleshoot with those choices filled in.

What happens after the order?

The cutting room gets the details. Every measurement and choice is saved on the order.

A wrong measurement is easy to fix. An Edit options button in the cart reopens the calculator, so the customer changes the drop without starting over.

Reorders keep every measurement. Shopify's own Buy again button only re-adds the product and drops every option. Here's why.

The Appify Reorder block and a Reorder this item email link put the same curtain or cut back in the cart, measurements and all.

Abandoned carts come back whole. A Restore your cart link rebuilds every configured item, sizes included.

Selling abroad? Prices convert automatically with Shopify Markets, and each calculator can run in up to 10 languages.

See it running

Our window coverings demo on our Shopify demo store includes a curtain calculator and curtain rods. Enter a width and drop, change the heading and fullness, and watch the price update.

Comparing apps first? See the best Shopify apps for measurement-based pricing.

For more ways to combine sizes and options, read how to price custom products with multiple options and dimensions. Not sure whether your rates belong in a formula or a table? Formulas vs pricing tables helps you choose.

FAQ

Can customers buy fabric in fractions of a yard?

Yes. Set the yardage field's step to 0.25 or 0.5 and allow decimals. The exact amount is saved on the order.

Can each fabric have its own price per yard?

Yes. A pricing table holds a rate per fabric, and the formula reads the rate for the one the customer picked.

Can I use my supplier's rug or curtain price grid?

Yes. Attach the spreadsheet to Chat with AI and it builds the pricing table. Sizes between steps can round up, round down or blend.

Can customers measure a whole room for carpet?

Yes. With a Room map, they start from a rectangle or an L, or walk each wall, and add every room. The price comes from the total area.

Can I charge extra for large rugs?

Yes. A price adjustment adds a flat charge once the area passes a size you set.

Can I sell curtain rods with the curtains?

Yes. Link your rod products to a choice and they go in the cart as normal Shopify products at their live price.

Will every size create a new variant?

No. Options and pricing live outside Shopify's variant system, and the calculated price is charged at checkout on one cart line.

Every yard, rug and curtain, priced to size.

Install Free on Shopify

Whatever you sell, however you price it · The last options app you'll shop for