Skip to main content

Options & Extras

Customers rarely order items exactly as listed. They want a large instead of a small, oat milk instead of regular, no onions, extra cheese. Option groups are how you offer these choices -- and how you charge for them when appropriate.

An option group is a named set of choices that you attach to menu items. You create each group once in the Option Library, then reuse it across as many items as you need. Change a price in one place, and it updates everywhere that group is used.

Why Option Groups Matter

Without option groups, you would need a separate menu item for every combination: "Small Latte", "Medium Latte", "Large Latte", "Small Oat Latte", "Medium Oat Latte"... That is 6 items for one drink, and you have not even added syrup options yet.

With option groups, you create one "Latte" item and attach a "Size" group and a "Milk" group. Customers pick their preferences, and the price adjusts automatically. Your menu stays clean, and managing prices is straightforward.

Key Terms

TermWhat It Means
Option GroupA named set of choices (e.g., "Size", "Milk Type", "Extra Toppings")
OptionA single choice within a group (e.g., "Small", "Medium", "Large")
Price DeltaThe amount added to the item's base price when this option is selected. A delta of +1.50 on a 5.00 item makes the total 6.50.
TypeHow the group behaves: Ingredients, Options, or Modifiers (explained below)

Option Group Types

Every option group has a type that determines how customers interact with it. Choosing the right type is important because it controls the interface customers see and the selection rules that apply.

Ingredients (Multi-Select, Removable)

Use Ingredients for the standard components of a dish that customers might want to remove. Think of the default toppings on a burger or the standard ingredients in a salad.

How it works:

  • Customers see checkboxes, all checked by default
  • Customers uncheck items they do not want ("no onions", "no pickles")
  • Each ingredient has a Can be excluded toggle that controls whether customers can remove it

When to use it: Standard components that come with the item by default. The customer is removing something, not adding it.

Examples:

  • Burger toppings: Lettuce, Tomato, Onion, Pickles, Ketchup, Mustard
  • Salad ingredients: Croutons, Parmesan, Dressing
  • Sandwich fillings: Lettuce, Tomato, Cheese
info

Ingredients do not have price deltas. They represent what is already included in the item. If you want to charge extra for adding something, use a Modifier instead.

Options (Single Choice)

Use Options when customers must pick exactly one choice from the group. This is the right type for variations where only one selection makes sense -- you cannot have a drink that is both Small and Large at the same time.

How it works:

  • Customers see radio buttons (only one can be selected)
  • One option can be marked as the default (pre-selected when the customer opens the item)
  • The group can be set as required per menu item, so customers must make a selection before adding to cart

When to use it: Variations where the customer picks one and only one. Sizes, milk types, spice levels, crust types.

Examples:

  • Size: Small / Medium / Large
  • Milk type: Regular / Oat / Almond / Soy
  • Spice level: Mild / Medium / Hot / Extra Hot
  • Crust: Thin / Regular / Thick / Stuffed
  • Cooking: Rare / Medium / Well Done

Modifiers (Quantity-Based)

Use Modifiers for extras that customers can add in quantities. Instead of a checkbox or radio button, customers see a counter with + and - buttons. Each unit adds the price delta to the order.

How it works:

  • Customers see a numeric counter (+ / - buttons)
  • You configure a minimum, maximum, and default count for each modifier
  • Each unit selected adds the price delta once (2 extra shots at +1.00 each = +2.00 total)

When to use it: Extras that can be added multiple times, or add-ons where quantity matters.

Examples:

  • Extra espresso shots (0--3, +1.00 each)
  • Extra cheese portions (0--2, +0.50 each)
  • Sugar packets (0--5, +0.00 each)
  • Bacon strips (0--3, +1.50 each)

Choosing the Right Type: Decision Table

ScenarioTypeWhy
Customer removes standard componentsIngredientsRemoval, not addition
Customer picks one from a listOptionsSingle choice, mutually exclusive
Customer adds extras with quantity controlModifiersAdditive, quantity matters
"Size: S / M / L"OptionsOne size per item
"Extra shot" that can be x1, x2, x3ModifiersQuantity-based add-on
"No pickles, no onion"IngredientsRemoving defaults
"Choose your sauce" (one sauce only)OptionsSingle selection
"Add toppings" (multiple allowed)ModifiersMultiple add-ons with quantity

Option Group Fields Reference

Group-Level Fields

FieldRequiredApplies ToDescription
NameYesAll typesThe label customers see (e.g., "Size", "Milk Type"). Keep it short and descriptive.
TypeYesAll typesIngredients, Options, or Modifiers. Cannot be changed after options are added.

Option-Level Fields

FieldRequiredIngredientsOptionsModifiersDescription
NameYesYesYesYesThe label the customer sees (e.g., "Large", "Oat Milk").
Price DeltaNo--YesYesAmount added to base price when selected. Default: 0.
ImageNoYesYesYesOptional image from the Asset Library.
Can Be Excluded--Yes----Whether the customer can uncheck this ingredient.
Default Selected----Yes--Whether this option is pre-selected (radio button).
Min Count------YesMinimum quantity the customer can select. Default: 0.
Max Count------YesMaximum quantity the customer can select.
Default Count------YesStarting quantity shown to the customer. Default: 0.

Required vs Optional (Per-Item Setting)

The Required toggle is set per menu item, not on the option group itself. This means the same "Size" group can be required on a Latte but optional on a cookie (where size might not apply).

When an Options group is set as required:

  • The customer must select one option before adding the item to cart
  • The "Add to Cart" button is disabled until a selection is made
  • If a default is set, it counts as a selection

When it is optional:

  • The customer can skip the selection entirely
  • The default option (if any) is pre-selected but the customer can deselect it
tip

Make option groups required when the choice genuinely matters (size of a drink, type of crust). Leave them optional when the choice is a nice-to-have (add a flavor shot, choose a garnish).

Understanding Price Deltas

The price delta is the amount added to (or subtracted from) the item's base price when a customer selects an option. This is how sizes, upgrades, and extras affect pricing.

How Deltas Work

If a Cappuccino has a base price of 4.50 and a "Size" option group:

OptionDeltaCustomer Pays
Small (default)+0.004.50
Medium+1.506.00
Large+2.507.00

The base price is what the customer pays for the default option. Deltas represent the difference from that base.

Modifiers Stack by Quantity

For Modifiers, the delta is multiplied by the quantity the customer selects:

ModifierDeltaQty SelectedAdded to Price
Extra Shot+1.002+2.00
Whipped Cream+0.501+0.50
Total added+2.50

If the base item is 4.50, the customer pays 7.00.

Multiple Option Groups Combine

When an item has several option groups, all the deltas add up:

SelectionDelta
Base price (Latte)4.50
Size: Large+2.50
Milk: Oat+0.50
Extra Shot x1+1.00
Customer pays8.50

Detailed Price Calculation Example

Here is a complete walkthrough for a burger with all three option group types:

Classic Burger -- Base Price: 10.00

GroupTypeSelectionDelta
Standard ToppingsIngredientsRemove Pickles, Remove Onion+0.00 (removals are free)
BunOptionsBrioche (default: Regular)+1.00
CookingOptionsMedium (default)+0.00
Premium Add-OnsModifiersBacon x1+1.50
Premium Add-OnsModifiersExtra Cheese x2+0.50 x 2 = +1.00

Calculation:

  10.00  (base price)
+ 1.00 (brioche bun upgrade)
+ 0.00 (medium cooking -- default)
+ 1.50 (bacon x1)
+ 1.00 (extra cheese x2 at 0.50 each)
= 13.50 (customer pays)
warning

If you set a default option that has a price delta greater than zero, a warning will appear. The extra cost of the default is added to the displayed item price, which may confuse customers who expect the advertised price to be the starting price. Keep deltas at +0.00 for default options.

How Price Deltas Show to Customers

On the customer's screen:

  • Options with a delta show the delta next to the option name: "Large (+2.50)"
  • Modifiers show the per-unit delta: "Extra Shot (+1.00)"
  • Ingredients do not show prices (they are free removals)
  • The total price updates in real time at the bottom of the item detail screen as the customer makes selections

Creating an Option Group

  1. Click Option Groups in the left sidebar to open the Option Library
  2. Click Create Group in the top-right corner
  3. Fill in:
    • Name -- a descriptive name customers will see (e.g., "Size", "Milk Options", "Extra Toppings")
    • Type -- choose Ingredients, Options, or Modifiers
  4. Click Create

The group is created empty. Next, add individual options to it.

warning

You cannot change the type of an option group once it has options. If you chose the wrong type, you need to delete the group and create a new one. Choose carefully at creation time.

Creating a Single Option

For simple cases where you need just one standalone choice (e.g., "Extra Cheese" as a single add-on), you can create a Single Option:

  1. Click Create Single Option on the Option Groups page
  2. Enter the Name, select the Type, and set the Price Delta
  3. Configure type-specific settings (default selected, counter limits, etc.)
  4. Click Create

A single option appears in the library as an individual choice rather than a group with multiple options inside.

Adding Options to a Group

After creating an option group:

  1. Find the group in the list and expand it by clicking its name
  2. Click the + (Add option) button in the group header
  3. Enter the option details:
    • Name -- what the customer sees (e.g., "Large", "Oat Milk", "Extra Shot")
    • Price Delta -- the price adjustment (e.g., +2.00 for a larger size, +0.00 for the base option)
    • Image -- optional image for the option (from the Asset Library)
    • Type-specific settings (see the fields reference above)
  4. Click Create

Type-Specific Settings Summary

SettingIngredientsOptionsModifiers
Price Delta--YesYes
Default Selected--Yes (radio)--
Can Be ExcludedYes----
Min Count----Yes
Max Count----Yes
Default Count----Yes

Attaching Option Groups to Menu Items

Once your option groups exist in the library, you attach them to menu items:

  1. Go to Menu in the sidebar and edit (or create) a menu item
  2. Navigate to the Options step in the wizard
  3. Switch to the appropriate tab: Ingredients, Options, or Modifiers
  4. Select an option group from the dropdown
  5. The group is linked immediately

You can attach the same option group to as many menu items as you need. A "Size" group can be linked to every drink. A "Standard Toppings" group can be linked to every burger.

tip

For a step-by-step walkthrough of creating and attaching option groups, see the Create an Option Group tutorial.

Per-Item Customization

When an option group is linked to a menu item, you can customize how it behaves for that specific item without changing the original group:

  • Custom title -- rename the group for this item only (e.g., "Choose Your Size" instead of "Size")
  • Required -- make the group mandatory for this item (Options type only)
  • Hide options -- hide specific options that do not apply (e.g., hide "XL" for a kids' menu item)
  • Override prices -- set different price deltas for this item only
  • Override defaults -- change which option is pre-selected
  • Add custom options -- add extra options that only appear on this item

These overrides only affect the specific menu item. The original option group remains unchanged for all other items.

tip

Per-item customization is powerful for handling edge cases. Instead of creating separate option groups for every slight variation, create one comprehensive group and then hide or override what you do not need on each item.

Editing and Managing Option Groups

Editing a Group

  1. On the Option Groups page, find the group
  2. Click the edit (pencil) icon in the group header
  3. Update the name (type can only be changed if the group has no options yet)
  4. Save your changes

Editing an Option

  1. Expand the option group
  2. Click the edit icon on the individual option
  3. Update the name, price delta, image, or type-specific settings
  4. Save

Reordering Options

Options within a group can be reordered via drag-and-drop:

  1. Expand the group to see its options
  2. Grab the drag handle on an option
  3. Drag it to the desired position
  4. Drop to save the new order

The order you set is the order customers see in the app. Put the most common choice first.

Deleting an Option

  1. Expand the group
  2. Click the delete (trash) icon on the option
  3. Confirm deletion

Deleting an Entire Group

  1. Click the delete (trash) icon on the group header
  2. Confirm deletion
warning

Deleting an option group removes it from all menu items that use it. Check which items reference the group before deleting. If you are unsure, consider hiding individual options instead.

Duplicating a Global Group

If a group is marked as Global (shared across merchants), you cannot edit it directly. Instead:

  1. Click the duplicate icon on the group
  2. A copy is created under your merchant that you can freely edit

This lets you start from a standard template and customize it for your specific needs.

Templates Gallery: 10 Common Option Group Setups

Use these as inspiration when building your option library. Each template shows the group name, type, and a set of options with suggested price deltas (adjust to your pricing).

1. Cup Size

Type: Options | Required: Yes

OptionDeltaDefault
Small+0.00Yes
Medium+1.00
Large+2.00

Attach to: All hot and cold drinks.

2. Milk Type

Type: Options | Required: Yes

OptionDeltaDefault
Regular Milk+0.00Yes
Oat Milk+0.50
Almond Milk+0.50
Soy Milk+0.50
Coconut Milk+0.50

Attach to: Coffee drinks, tea lattes, hot chocolate.

3. Extras (Coffee)

Type: Modifiers

OptionDeltaMinMax
Extra Shot+1.0003
Whipped Cream+0.5001
Vanilla Syrup+0.5002
Caramel Syrup+0.5002
Chocolate Drizzle+0.5001

Attach to: Coffee drinks, frappes, milkshakes.

4. Toppings (Pizza/Burger)

Type: Modifiers

OptionDeltaMinMax
Extra Cheese+1.0002
Mushrooms+0.7501
Pepperoni+1.5001
Bacon+1.5002
Jalapeños+0.5001

Attach to: Pizzas, burgers, sandwiches.

5. Spice Level

Type: Options | Required: No

OptionDeltaDefault
Mild+0.00Yes
Medium+0.00
Hot+0.00
Extra Hot+0.00

Attach to: Curries, noodles, wings, anything with variable heat. Note: all deltas are +0.00 because spice level is a preference, not an upgrade.

6. Cooking Temperature

Type: Options | Required: Yes

OptionDeltaDefault
Rare+0.00
Medium Rare+0.00
Medium+0.00Yes
Medium Well+0.00
Well Done+0.00

Attach to: Steaks, burgers (if you offer doneness choice).

7. Bread Choice

Type: Options | Required: Yes

OptionDeltaDefault
White Bread+0.00Yes
Whole Wheat+0.00
Sourdough+0.50
Ciabatta+0.75
Gluten-Free+1.50

Attach to: Sandwiches, toast, paninis.

8. Sauce

Type: Options | Required: No

OptionDeltaDefault
Ketchup+0.00
Mayo+0.00
BBQ+0.00
Garlic Sauce+0.00
Hot Sauce+0.00
No Sauce+0.00Yes

Attach to: Burgers, wraps, fries, chicken tenders.

9. Side Dishes

Type: Options | Required: No

OptionDeltaDefault
French Fries+0.00Yes
Sweet Potato Fries+1.00
Coleslaw+0.00
Side Salad+0.50
Onion Rings+1.00

Attach to: Main courses, combo meals.

10. Portion Size

Type: Options | Required: Yes

OptionDeltaDefault
Regular+0.00Yes
Large (+50%)+3.00

Attach to: Salads, bowls, pasta dishes, rice dishes.

Frequently Asked Questions

Can I make an option group required?

Yes, but the "required" setting is configured per menu item, not on the group itself. When you link an Options-type group to a menu item, you can toggle "Required" for that specific item. This means the same "Size" group can be required on a latte but optional on a cookie.

Only Options groups can be marked as required. Ingredients and Modifiers are always optional (customers can skip them).

How do price deltas show to customers?

Customers see the delta next to each option name. For example, in a Size group, customers see:

  • Small (default)
  • Medium (+1.50)
  • Large (+2.50)

The total price updates in real time at the bottom of the item detail screen as the customer changes their selections. For modifiers, the per-unit price is shown and multiplied by the selected quantity.

Can I reuse a group across items?

Yes -- this is the core design of the option system. Create a group once in the Option Library, then attach it to as many items as you need. A "Size" group can be shared across every drink. If you later change the price of "Large" in the Size group, it updates everywhere.

If a specific item needs different pricing, use per-item overrides instead of creating a separate group.

Can I have multiple option groups of the same type on one item?

Yes. For example, you can attach two different Options groups to the same item -- one for "Size" and one for "Milk Type". Customers make an independent selection from each group.

What happens if I delete an option from a group?

The option is removed from the group and disappears from all menu items that use the group. If any customers had that option selected in their cart, the selection is cleared and they will need to choose again. For in-progress orders that were already placed, the original selection is preserved in the order record.

Can I set a price delta of zero?

Yes. A delta of +0.00 means the option does not change the price. This is standard for defaults and for preference-only options (like spice level) where all choices cost the same.

What is the difference between hiding an option and deleting it?

Hiding (via per-item customization) only affects one menu item. The option still exists in the group and appears on other items that use the group.

Deleting removes the option from the group entirely, affecting all items that use it.

Use hiding when the option does not apply to one specific item. Use deleting when the option should not exist anywhere.

Best Practices

  • Name groups clearly. Customers see these names. "Size" is better than "Options 1". "Milk Type" is better than "Group 2".
  • Keep the base option at +0.00. The base price of your item should match the default selection. Use deltas only for upgrades.
  • Set sensible defaults. Pre-select the most common or base option so customers can add to cart quickly without making choices they do not care about.
  • Reuse groups across items. A "Size" group can apply to every drink. A "Spice Level" group can apply to every curry. This saves setup time and ensures consistency.
  • Group related choices together. "Milk Type" as one group is better than having Oat, Soy, and Almond as three separate standalone options.
  • Use per-item overrides sparingly. They are powerful but add complexity. Only override when an item genuinely needs different behavior.
  • Test the customer experience. Use the live mobile preview in the item editor to see how your options look before going live. Are there too many choices? Are the names clear? Is the pricing obvious?
  • Start with the templates. The templates gallery covers most common scenarios. Copy them, adjust the prices, and you are ready.