How to charge extra for product options in Shopify
Upcharges like a larger size, a premium material, rush production or a personalization fee can lift your order value. Shopify supports some of this out of the box. Here's what works natively and when you need an app.
What Shopify does natively: variant prices
Each variant can have its own price, so "Large" can cost more than "Small". This is the most reliable way to charge extra, and it works well when you have a few options with few values. It gets hard when:
- you need more than three option types on one product (Shopify allows three, such as Size, Color and Material),
- the number of combinations explodes (5 sizes × 6 colors × 4 add-ons is 120 variants to price and keep in stock), or
- the extra is optional and independent, like gift wrap or engraving, rather than part of the item itself.
Using an options app for add-on prices
Options apps add fields that aren't variants. These can be dropdowns, swatches, checkboxes, text fields and file uploads, each with its own price. The key question is how the price gets into checkout. Older approaches added a hidden second product to the cart or used theme scripts, which shoppers can sometimes remove or bypass. Newer apps use Shopify Functions so the cart itself recalculates the price.
LemonPick uses a Shopify Function (Cart Transform): the add-on fee is recalculated on the server and stays on the same line as the product. A second function blocks checkout if a required choice is missing or invalid. To set it up:
- Install LemonPick from the Shopify App Store. Setup runs on its own: it turns on cart pricing and creates a hidden "Custom options" product that carries add-on fees.
- On the LemonPick Home page, click Edit options next to a product.
- Add your paid options. On a Dropdown or Swatch buttons option, each choice has an Add-on price (use 0 for the base choice). On a Checkbox (add-on), set Price when checked. On a text field or file upload, Price when filled in charges only when the shopper uses it.
- Click Save. Each save is kept in version history.
- If you haven't already, click Open theme editor on the Home page. The "Product options" block is added to your product template; drag it above the Add to cart button and click Save.
- Open Checkout Guard and click Run now. It builds a test cart with your add-ons selected and checks that the totals match.
Options are free on every plan. To put a price on an option you need the Starter plan ($9.99/month, 14-day free trial) or higher.
Check that the extra is actually charged
Whichever method you use, test it. Add the product with each paid choice to a cart, apply a discount code you actually run, and compare the checkout total to what you expect. Do this again after theme updates or new apps. LemonPick's Checkout Guard does this for you: it builds test carts for your products with add-ons selected, compares expected and actual totals, and flags any that don't match. It runs on demand on Free, daily on Starter and Growth, and hourly on Pro.
Tips
- Show the price in the option label ("Rush production (+$15.00)") so there are no surprises at checkout. LemonPick does this automatically.
- Keep core choices that affect inventory, like size and color, as variants, and use add-ons for extras.
- Say in your refund policy how you handle add-ons on returns.
More guides: How to add an engraving option to a Shopify product · How to add a gift wrap option in Shopify · How to add a custom text field to a Shopify product · Conditional product options in Shopify · Shopify 100 variant limit workarounds (updated for 2026)
Install LemonPick from the Shopify App Store
Free plan available. Paid plans include a 14-day free trial.