Furniture brands that sell made-to-order pieces have an awkward relationship with Shopify. The platform's defaults assume a finished product, a fixed price, and an add-to-cart button — and a large share of a custom furniture business is none of those things. A sofa built to a client's wall length, in a fabric they chose from a swatch book, delivered in six weeks, is a conversation before it is an order. Most stores handle that conversation badly: either they force custom pieces into a variant dropdown that can't express them, or they hide everything behind a generic "contact us" form that drops the lead into an inbox nobody triages. We've built stores on both sides of this problem — including the recent [Chairs & Company relaunch](/work/chairs-and-company), where made-to-order is the core of the business — and the pattern that works is consistent. Decide what each product page is for, give custom buyers a structured way to start, and put the proof a showroom provides directly onto the site.
Why a standard Shopify setup fails made-to-order furniture
A Shopify product page is designed to answer one question quickly: do you want this, in this size and colour, at this price? That works for a ready-to-ship side table. It breaks down for anything where the buyer is choosing several independent attributes — dimensions, frame, fabric, colour, leg finish, cushion fill — because native variants only support three option dimensions, and every combination becomes a separate variant with its own price and inventory record. A sofa offered in four sizes, forty fabrics, and three leg finishes is already hundreds of combinations before you add anything else.
The workarounds are where most stores go wrong. Collapsing everything into a single "custom" variant hides the information the buyer needs to feel confident. Pushing every custom request to a contact page loses the context of which piece they were looking at. And bolting on a heavy third-party configurator often adds enough JavaScript to slow down the product page that was supposed to convert — the same performance trap we cover in our Shopify speed optimization guide. The fix starts before any app decision: deciding what job each product page actually has.
Decide the job of each page: buy now, configure, or enquire
Every piece in a furniture catalogue falls into one of three selling models, and mixing them on the same template is what makes custom stores feel confusing.
Buy now. Ready-to-ship or limited-option pieces — accent chairs, side tables, lighting, décor. These should behave like any good Shopify product page: clear price, real delivery estimate, add to cart. Don't add custom-order friction to products that don't need it.
Configure. Pieces with a bounded set of choices where you can price every combination — a sofa range in fixed sizes and a curated fabric list, for example. Here a configurator earns its place: the buyer builds the piece, sees the price update, and checks out (or pays a deposit) without talking to anyone.
Enquire. Genuinely bespoke work — custom dimensions, client-supplied fabric, a full room or project. Pricing depends on a conversation, so the page's job is to start that conversation well, not to fake a checkout.
Most made-to-order furniture brands need all three, and the store should make the distinction obvious. On the Chairs & Company store, ready pieces sell through the normal cart, while a dedicated Design Your Sofa journey and a separate custom-furniture path handle the made-to-order side — each with its own entry point in the navigation, so a buyer never has to guess which kind of purchase they're making.
Configurators: what to build natively and what to avoid
For the "configure" model, the cleanest Shopify-native structure keeps the product simple and stores the choices as data rather than as variants. Fabrics, finishes, and their swatch images live as metaobjects (our metafields and metaobjects guide covers the setup), so the same fabric library can be reused across every sofa in the range and updated in one place. The buyer's selections travel to the cart and the order as line item properties, which means your production team sees exactly what was ordered — "Arlo, 3-seater, 220cm, boucle ivory, walnut legs" — on the order itself, not in a separate spreadsheet.
Price differences are where it gets technical. The robust options are a small set of base variants (usually size) with add-on pricing for premium fabrics or finishes handled through a bundle or add-on product, or Shopify's cart transform functions on plans that support them. What to avoid is a configurator that calculates a price in the browser and passes it to checkout without the platform enforcing it.
Two rules from experience. First, visual feedback matters more than option count — a swatch on the actual product shape converts better than a dropdown of forty fabric names. Second, keep the configurator light. It loads on your highest-intent page, so it should render server-side or load only when the buyer starts configuring, not block the product page from appearing. The configurator we built for WUD Homes follows this pattern: fabric, finish, and dimension choices are visual, the price updates live, and the configuration is saved to the cart as a readable, named selection.
Enquiry flows that don't die in an inbox
For bespoke work, the enquiry form is the checkout — and it deserves the same care. A generic "name, email, message" form produces vague leads that take three emails to qualify. A structured enquiry asks for what your team actually needs to quote: the piece or category, approximate dimensions, the room, fabric preference, timeline, city, and a phone number — and it records which product page the buyer came from automatically.
Three details separate enquiry flows that convert from ones that don't:
Context carries over. If someone clicks "Make this custom" on a sofa page, the enquiry should already know which sofa. Retyping it is friction, and losing it is a worse lead.
The next step is explicit. Tell the buyer what happens after they submit — "our design team will call within one working day with options and a quote" — rather than a bare thank-you message.
Response time is part of the product. In India especially, a WhatsApp follow-up within hours beats an email reply in two days by a wide margin; the same channel logic we cover in our cart abandonment recovery guide applies here. Route enquiries straight to whoever quotes, not to a shared inbox.
Not every buyer is ready to enquire, either. A catalogue download — name, email, and phone in exchange for the full range as a PDF — captures buyers who are still comparing, and gives your team a warm list to follow up with. Chairs & Company uses exactly this alongside its custom enquiry paths.
Bring the showroom online: proof that sells custom pieces
Made-to-order furniture is bought on trust. The buyer is committing to something that doesn't exist yet, often at a high price, with a wait. In a showroom, that trust comes from touching the fabric, sitting on the frame, and seeing finished rooms. Online, you have to supply the same proof deliberately.
Finished projects. Completed homes and commercial spaces are the most persuasive content a custom furniture brand can publish. A projects section with real residences — photographed, briefly described, and linked to the pieces used — does more for a hesitant buyer than any product description.
Before and after. A comparison slider showing an empty room next to the furnished one, with shoppable hotspots on the pieces, turns inspiration directly into product discovery.
Materials up close. Macro photography of fabrics and finishes, plus a clear swatch-request option, answers the "what does it actually feel like" question as far as a screen can.
The physical store. If you have an experience centre or showroom, put it everywhere it's relevant — hours, location, and a visit or home-consultation booking on product pages, not just the contact page. WUD Homes runs a dedicated home-visit booking page for this reason; for many furniture buyers, the website's job is to get them to the showroom or the consultation, and the order happens there.
You can see all of these working together on the Chairs & Company store in the live view on our case study.
Lead times, deposits, and the delivery promise
Made-to-order buyers accept waiting; they don't accept uncertainty. State the production lead time on every made-to-order product page — "made to order, ships in 5–7 weeks" — rather than leaving it to the FAQ or the order confirmation. A vague promise that slips creates more cancellations and support load than an honest, longer one.
On payment, there are three common patterns. Full payment upfront is simplest but asks the most trust of a new buyer. A deposit with the balance before dispatch is standard for custom furniture, and Shopify's selling plans — the mechanism behind pre-order and deposit apps — let you charge part of the price at checkout and the remainder later. For fully bespoke quotes, a draft order sent as an invoice lets your team price the exact piece and the buyer pay through normal Shopify checkout, keeping the order, the payment, and the customer record in one place.
Whichever model you use, the order should carry the full specification (through line item properties or draft-order notes) and the customer should receive production-status updates. A sofa that is "in production" for six silent weeks generates anxious messages; a sofa with updates at frame, upholstery, and dispatch stages generally doesn't.
A practical build order
If you're restructuring a furniture store around made-to-order, this sequence avoids most of the expensive rework:
- Classify the catalogue into buy-now, configure, and enquire pieces, and agree on the rules with whoever does production and pricing.
- Model the data — fabrics, finishes, and size options as metaobjects, so templates read from one source of truth.
- Build the enquiry path first. It's usually the highest-value revenue and the cheapest to get right; a structured form with context and fast routing beats a configurator you don't need yet.
- Add the configurator for ranges where combinations are bounded and priceable.
- Publish proof — projects, before-and-after, materials, and the showroom — and link it from product pages, not just the homepage.
- Set the delivery promise and payment model and make both visible before checkout.
For the broader structure of a store like this, our Home & Furniture industry page covers the category's other recurring problems — long research cycles, delivery anxiety, and visualising scale — and how we approach them.
FAQs
Can Shopify handle made-to-order and custom furniture? Yes. Ready-to-ship pieces use normal products, configurable ranges use a configurator with choices stored as metaobjects and line item properties, and fully bespoke work runs through structured enquiries and draft-order invoices — all inside one Shopify store.
Do I need a product configurator app? Only for ranges where the combinations are bounded and you can price each one. For genuinely bespoke work, a well-built enquiry flow converts better than a configurator that can't express what the buyer actually wants.
How do I handle hundreds of fabric options without hundreds of variants? Keep variants for the attributes that change price and inventory (usually size), and store fabrics and finishes as metaobjects selected through the configurator, passed to the order as line item properties.
Can customers pay a deposit for made-to-order furniture on Shopify? Yes — through selling plans used by pre-order and deposit apps, or by sending a draft order invoice for a bespoke quote.
What content helps custom furniture convert online? Finished projects, before-and-after rooms, close-up material photography, clear lead times, and an easy way to visit the showroom or book a consultation.
Our take
The furniture brands that sell made-to-order well on Shopify don't try to make custom pieces behave like ready-to-ship products. They separate the three ways people buy, give each one a path that fits, and put the showroom's proof — finished spaces, real materials, a place to visit — onto the site. The technology is the easy part; the decisions about what each page is for are what make the difference. If you're planning a store like this, it's exactly the kind of work our Shopify design and development team does — and the Chairs & Company case study shows what the result looks like in production.
If any of this sounds like your situation, talk to us. We'll tell you exactly where your revenue is leaking and what it would take to fix it. Explore Strategy & Consulting →

