This tutorial builds a made-to-measure blinds calculator from the Blinds template in Appify Custom Product Options. The shopper picks a color, picks a width and a height in inches, then chooses the mount and the lift. The price updates as they go.
The size price comes from your own price grid. Color, lift and extras add to it. Every setting is below, in editor order, with screenshots.
Installing the template may be all you need. The steps explain each part so you can change the grid, the colors and the extras to match your range. Want the finished calculator explained from the shopper's side first? Read our overview of the blinds calculator. Both are part of our series of template tutorials.
What you're building
Here is the finished result in our Blinds Example demo. The shopper has chosen Silver, a 24 inch wide by 36 inch high blind, inside mount and cordless lift, with a cassette valance. The summary shows how the price adds up.
| Part | What it does |
|---|---|
| Pricing table | Holds your price grid: one price for every width and height. The calculator reads it with the shopper's size. |
| Size options | Inches and Fraction dropdowns for the width and for the height. |
| Color swatches | Six colors. Each adds a share of the size price. |
| Mount and lift | Mount Type, Lift Type and Lift Position. The motor extras show only for the motorized lift. |
| Cassette valance | A Yes or No swatch. Yes adds a charge based on the width. |
| Price formula and summary | One formula adds the parts together. The summary lists them for the shopper. |
How the price adds up
The total is the size price from your grid, plus a color premium, plus the lift, plus any extras. Each part is its own line, so you can see where a price comes from and change one part without touching the others.
| Part | Silver, 24 x 36, cordless, valance | Same blind, motorized lift |
|---|---|---|
| Size price (from the grid) | 113.00 | 113.00 |
| Color premium (Silver) | 33.90 | 33.90 |
| Lift type | 27.99 | 179.99 |
| Cassette valance | 12.00 | 12.00 |
| Total | 186.89 | 338.89 |
The numbers come from the live demo. Steps 5 to 12 show where each one is set.
Every price here can be changed
You don't have to use the prices in the template. Every figure in this tutorial is an example, and you can replace all of them with your own.
- The size grid: every cell of the pricing table (Step 5), and the sizes themselves.
- Color premiums: the formula on each color (Step 8). Use a share of the size price, a flat amount, or nothing.
- Lift, remote, hub and solar prices: the formula on each choice (Steps 10 and 11).
- The valance charge: its formula (Step 12).
- The structure itself: which parts add to the price, in the total formula (Step 13).
You can also add or remove options, rename them and change what the summary shows. Installing the template gets you a working calculator in minutes. Editing the prices makes it yours.
Step 1: Install the Blinds template
In the app, go to Calculators, open the Templates tab and search for blind. Find Blinds in the list. The eye icon opens a preview, and Install to my store adds it to your shop.
The calculator template arrives as a draft with no products assigned, so your store is unchanged until you publish. Every setting below is already in place after install. The steps explain each one so you can check or change it.
Prefer to start empty? Choose New on the Calculators page, then Create from scratch, and add each part as you go.
Step 2: Set up the product in Shopify
You need one Shopify product for the blind. In our demo it is a single product with one variant. The calculator works out the price itself, so the product's own price is not added. Step 4 explains why.
Add your product images as usual. The color swatches, mount pictures and lift pictures come from the calculator, not from the product.
Step 3: Link the product to the calculator
Go to the Placement & Styling step. Keep Product pages (recommended) and assign the product, or a whole collection. Our demo is assigned to its one product with Select products.
Choose Select collections instead to cover every product in a collection, including ones you add later. The calculator only shows on the storefront after you publish it (Step 15).
Step 4: The initial price
Open Options & Pricing. At the top, Initial Price sets where the price starts. The Blinds template uses Fixed with a value of 0. The total formula in Step 13 never reads it, so it plays no part here, and the Shopify product's own price is not added either.
The shopper pays for the size they picked, not for a product price plus extras. If you want a starting amount, add VAR("BASE_PRICE") to the total formula. With Selected Product Variant, that amount is the Shopify variant price.
Step 5: The pricing table
This is the heart of the calculator. A pricing table is a grid of prices that formulas can look up. The Blinds template has one table, named blinds.
- Rows are widths. The row keys run from 10 to 100 inches, then 113.
- Columns are heights. The column keys run from 10 to 130 inches, then 145.
- Each cell is a price for that width and height. Your own grid goes here, the one from your supplier or your price sheet.
Choose a lookup mode
The Mode setting decides what the table returns when the shopper's size is not exactly one of your keys. The demo uses Interpolate, but you may price blinds another way. Pick the mode that matches how you quote.
| Mode | What it does | A blind 24 wide in a grid with 20 and 30 inch rows |
|---|---|---|
| Exact | Returns a price only when the size matches a key. Numbers match by value, so 10 and 10.0 are the same key. | No price, because 24 is not a key. Use it when you sell fixed sizes only. |
| Nearest lower | Uses the closest key that is less than or equal to the size. | Priced as 20. |
| Nearest upper | Uses the closest key that is greater than or equal to the size. | Priced as 30. This suits a supplier that charges for the next size up. |
| Nearest | Uses the closest key in either direction. | Priced as 20, because 24 is closer to 20 than to 30. |
| Interpolate | Blends between the surrounding numeric keys. On a grid with numbers on both axes it blends in both directions. | Priced between the 20 and 30 rows, 40 percent of the way from 20 to 30. |
The same applies to the height columns. Edges are handled for you: Interpolate stays at the edge value for a size beyond your biggest key, rather than guessing past it.
A worked example with Interpolate: for 24 wide by 36 high, the four surrounding cells are 99 and 109 in the 20 inch row, and 119 and 129 in the 30 inch row. The blend gives 113.00, which is the Base Price line in the demo summary. With Nearest upper the same blind would look up the 30 inch row and the 40 inch column, which is 129.
Change the mode in the table's Mode dropdown. To use a different mode for one formula only, add it as a fourth argument, for example TABLE("blinds", width, height, "nearestUpper"). The table can also hold text keys, such as a fabric name, and a table can be one column of keys and prices instead of a grid.
The table is local, so it lives in this calculator. Save it as global if you want other calculators to use the same price sheet. Our guide to using tables in formulas lists every lookup form.
Step 6: The size options
The shopper picks the size with two dropdowns per side. Width uses Inches (key INCHESA) and Fraction (FRACTIONA). Height uses a second pair, INCHESB and FRACTIONB. The template also has two Heading options that print the words Width and Height above them. A text field called Window Name sits at the top of the form (key WINDOWNAME, price 0) for the shopper's own label.
Look at the Values & Pricing table. Each choice, such as 24, has a formula that is just its number, and the Rate is 0. Option price is formula times rate, so the dropdown adds nothing to the price by itself. Other formulas read the number with OPT("INCHESA"), which returns the choice's value before the rate is applied.
- Inches offers 12 to 112, one choice per inch.
- Fraction offers 0, 1/8, 1/4, 3/8, 1/2, 5/8, 3/4 and 7/8, and defaults to 0.
- Both are required. Inches has no default, so the shopper must pick one.
- Width and Height headings take half the row each. The four dropdowns take a quarter each, so each side shows Inches next to Fraction.
- Each Fraction choice has its fraction as its formula (
1/8,1/4and so on, and0for the first) with a Rate of 0, like Inches.
Because the table interpolates, a size of 24 and 1/2 gets its own blended price. See the option types reference for the other ways to collect a size.
Step 7: The BASE variable
A pricing variable is a named value you write once and reuse. Open the Variables section. The template has a variable named BASE that looks up the size price.
TABLE("blinds", OPT("INCHESA") + OPT("FRACTIONA"), OPT("INCHESB") + OPT("FRACTIONB"))
The first key is the width (inches plus fraction), so it picks the row. The second is the height, so it picks the column. The result is one number, the size price. Both the color premium in Step 8 and the total formula in Step 13 reuse it with VAR("BASE").
Step 8: The color swatches
Select Color is a required Image swatch option with six colors. Its Values & Pricing table gives every color a formula, and the formula is a share of the size price:
| Color | Formula | What it means |
|---|---|---|
| White | 0 |
No premium. |
| Charcoal and Ivory | 0.05*VAR("BASE") |
5 percent of the size price. |
| Chocolate | 0.06*VAR("BASE") |
6 percent. |
| Ecru | 0.07*VAR("BASE") |
7 percent. |
| Silver | 0.3*VAR("BASE") |
30 percent. On a size price of 113.00 that is 33.90. |
Because the premium is a share of the size price, a bigger blind pays a bigger premium, and a small blind pays a small one. Change a color's formula to change its premium. A flat amount works too: type 12 for a 12.00 premium.
The swatch pictures are uploaded on each choice. Switch on Large preview on hover in the option's advanced settings if you want shoppers to see the fabric up close.
Step 9: Mount type and its help text
Mount Type is an Image swatch with two choices, Inside and Outside. Neither changes the price. Their job is to show the right advice.
Under the swatches, a Content option called Mount details holds a short note. It also has two value rules. When the shopper picks Inside, the rule fills the content with how an inside mount is measured. When they pick Outside, it shows the outside mount version.
How a value rule is built
A value rule says: when these conditions are true, set this option to this value. Open any option and switch to the Value Rules tab, then add a rule. Each rule has four parts.
- Conditions. They use the same condition system as visibility rules. A condition checks another option, a Shopify product option or a pricing variable, with an operator and a value. Rule conditions lists them all.
- Logic. All conditions (AND) needs every condition to be true. Any needs just one. None needs every condition to be false.
- Set to. The value the option takes. What you can set depends on the option type: a text for a text field, HTML or plain text for a Content block, a formula result for a number, a selected choice for a dropdown or swatch, or true or false for a switch.
- Apply mode. Once (auto-fill) sets the value one time when the conditions first become true, and the shopper can change it afterward. Lock while matched keeps the value set and disables the field for as long as the conditions hold. Our rules use Lock while matched, so the right text always shows for the current choice and swaps the moment the choice changes.
An option can also have a Fallback formula result, used when its formula can't be worked out because something it reads is empty. That is a safe default, not a rule.
Some ideas beyond help text: pre-select a default choice once, so the shopper can still change it, or lock a value while another option is set a certain way. You can also describe a rule in plain English to Chat with AI and edit what it writes.
The template also uses Content options for the Perfect Fit Guarantee text beside the tape measure icon, and Spacer options to add gaps. These are display only and never touch the price.
Step 10: Lift type, lift position and the help text
Lift Type is an Image swatch. The prices sit in each choice's formula. Change any of them to match your own:
| Lift type | Formula |
|---|---|
| Nylon Cord Loop | 0 |
| Metal Cord Loop | 14.99 |
| Cordless | 27.99 |
| Battery Motorized | 179.99 |
Next comes Lift Position, a Left or Right dropdown. It only matters for a cord loop, so it has a visibility rule: Show if Lift Type equals Nylon Cord Loop or Metal Cord Loop. Two conditions, with the logic set to Any. With Cordless or Battery Motorized selected, the dropdown disappears.
Two Content options follow, lift type description and Lift type note. Each is empty by default and has four value rules, one per lift type. The rule for the picked lift sets the content to that lift's description. You write the words once in the editor and the shopper sees only the one that matches.
Step 11: Remote, hub and solar panel
The motorized lift needs three extras: Remote Control, Smart Hub and Solar Panel. Each is a required dropdown. The no choice costs 0 and is the default, so the shopper sees No Remote, No Hub and No Solar Panel until they change it.
| Option | Choices and formulas |
|---|---|
| Remote Control | No Remote 0, 6 Channel Remote 19.99, 16 Channel Remote 19.99
|
| Smart Hub | No Hub 0, Smart Hub 44.99
|
| Solar Panel | No Solar Panel 0, Solar Panel 25.49
|
All three have the same visibility rule: Show if Lift Type equals Battery Motorized, logic All. A shopper who picks a cord or cordless lift never sees them, and a hidden option prices as 0. For the full picture of how these rules work, see the Visibility Rules calculator breakdown.
The rule's conditions can check other options, Shopify product options or pricing variables. See rule conditions for the full list.
Step 12: The cassette valance
Cassette Valance is an Image swatch with two choices. Yes has the formula OPT("INCHESA")*0.5. No is 0. The formula reads the width in whole inches and charges half a unit per inch. A 24 inch wide blind pays 12.00, as in the example. The demo also shows a Roll Orientation swatch (Standard Roll or Reverse Roll) just above it. It has no price.
Step 13: The total price formula
Open Total Price Formula. The template uses Per unit granularity, so the formula gives the price of one blind and the cart multiplies it by the quantity. The formula adds each part:
VAR("BASE") + OPT("COLOR") + OPT("IMAGESWA") + OPT("REMO") + OPT("HUB") + OPT("SOLAT") + OPT("CASETTE")
The seven terms are the size price, then the price of the color, lift, remote, hub, solar and valance options. The keys are COLOR (Select Color), IMAGESWA (Lift Type), REMO (Remote Control), HUB (Smart Hub), SOLAT (Solar Panel) and CASETTE (Cassette Valance). You set a key in the option's Basic settings. Window Name is a plain text field for the shopper's own note, so it adds nothing to the price and is not in the formula. A hidden option adds 0, so the motor extras only count when they show.
If you leave the formula empty, the app adds the Initial Price and every option's price instead. Write the formula when you want to control the order and see the parts.
Step 14: The price summary
The shopper sees a price summary under the calculator. Open Optional features, then Price Summary. Tick Options and Total. Under Options to show, add the items you want listed and give each a friendly label. Tick Format value as price on the Base Price row so the variable shows as money, not a bare number.
- Base Price is the BASE variable.
- Color Premium is the Select Color option.
- Lift Type, Remote Control, Smart Hub, Solar Panel and Cassette Valance are options with their own names.
Each row takes a bold, italic or indent style. The labels are yours to change, so the summary reads the way your customers talk.
Step 15: Layout and publish
The layout is Single-Step, the default. Every option sits on one page and the shopper scrolls. Choose Multi-Step if you would rather split the options into pages, such as size first and lift second.
When you are happy, press Publish. Publish is what makes the storefront use the calculator. Save only keeps your draft. See publishing a calculator for the details.
Other settings in the editor
The Blinds template leaves these switched off or at their defaults, but you will see them in the editor. Each is worth knowing about.
- Min / Max settings under Total Price Formula cap the price from below or above. Total discount takes a fixed amount or a percentage off the final price, or a calculated one. The demo has none set.
- Quantity Discount Rules give a price break for ordering several. The demo's are disabled.
- Fixed Fees add one-time charges to the order, such as a setup or measuring fee. Each shows as its own cart line, and they are never discounted.
- Price Adjustments add a surcharge, apply a multiplier or set an override when conditions are met, without cluttering the main formula.
- Languages: the demo has English, Spanish and Portuguese (Brazil) enabled, so shoppers see the calculator in their own language.
- Multi-currency is automatic when Shopify Markets is set up in your store.
- Cart edit is on, so a shopper can change their options from the cart with the Edit options button.
What the customer sees
The shopper starts with a clean form: a color, the width and height dropdowns, then the mount and lift.
Make it yours
- Swap in your own grid. Edit the cells of the blinds table, or add rows and columns for your sizes. Pick the lookup mode that matches how you quote.
- Change the colors. Add or remove swatches and set a premium for each in its formula.
- Add your own options, such as a fabric or a room name. Add Option opens the list. You can also describe what you want to Chat with AI and edit the result.
- Add quantity discounts for several blinds in one order. They can depend on quantity alone or on quantity plus area.
Frequently asked questions
Can I use my own price grid for blinds?
Yes. The pricing table holds your grid, with widths down the side and heights across the top. Interpolate mode prices sizes between your keys.
Why is the Shopify product price not in the total?
The total formula only adds the size price and the options, so neither the product price nor the Initial Price (Fixed 0) is part of the total. Add VAR("BASE_PRICE") to the formula if you want a starting amount.
How do I show the motor options only for the motorized lift?
Give Remote Control, Smart Hub and Solar Panel a visibility rule: Show if Lift Type equals Battery Motorized. Hidden options price as 0.
Can the help text change when the shopper picks a lift?
Yes. A Content option with value rules shows the text for the lift that is picked. The apply mode Lock while matched keeps it set while the choice holds.
Can I see the finished calculator first?
Yes. Try the Blinds Example demo on our store, or read the calculator overview. For how blinds work with the rest of your store, see how to sell made-to-measure blinds on Shopify.
Your price grid, on every blind you sell.
Whatever you sell, however you price it · The last options app you'll shop for