Skip to main content
An item is one line the link adds to the cart. A preset holds up to 100 items, and they land in the cart in the order the Items card shows. Use the arrows beside a line to move it up or down.

The item list

Each line shows the item’s name, a Subscription or Custom tag where it applies, a short sum of what it adds (for example 2 × $16.20 · 10% off $18.00), and its line total. Problems show on the line too, such as Out of stock or Sold one at a time, using the same rules as the health checks. Click the arrow at the end of a line to open its settings. One line is open at a time. The bin removes the line.

Store products

Click Add store product to open Choose a store product. Before you type, it suggests 12 products in alphabetical order. Type to search by name or SKU. Choose one and click Use product, or double-click it. A variable product shows Variable in place of a price, and a subscription product carries a Subscription tag. The picker offers published simple and variable products, and with WooCommerce Subscriptions active, their subscription equivalents. It doesn’t offer grouped, external or composite products. None of them can be added to a cart by product ID, and a preset has no product page to post a form from. To swap the product on a line, open it and click Change in its Product panel.

The item panels

An open line is split into panels. Which ones you see depends on the item.

Variations

Choose a variable product and its Variation panel asks you to answer every attribute. Until you do, the line isn’t priced and the preset can’t be saved. The panel’s badge says how many answers are missing, No match if your answers match no variation your store sells, or Complete once they do. This isn’t optional. A variation with an attribute left as “Any” passes WooCommerce’s own catalogue checks, then fails at add_to_cart() with “Size is a required field”. A preset has nobody to ask at cart time, so the answer has to be set when you build it.
If you later delete a variation or change its attributes, the preset’s stored answer can stop matching. The health checks say so when you open the preset. If the variation is gone and the preset is live, the listing marks it Needs attention.

Quantity

Quantity, in the Pricing panel, is how many the link adds, up to 9,999. Under In the cart you also decide whether the customer can change it once it’s in the cart.
Quantity rules cap what one claim holds. Purchase limits are separate: they cap how many times the offer can be claimed at all.

Products sold one at a time

If a product is marked Sold individually in WooCommerce, a customer can have one per order however many the preset asks for. Set the quantity above one and the cart trims the line to one, and charges for one. The editor warns you about this. The item’s line says Sold one at a time, and the health checks raise a warning (see Health checks). Set the quantity to 1 and the preset quotes what the customer will actually pay.

Removable

By default, removing one item of a preset from the cart removes the whole preset, and says so. That’s deliberate. The price was quoted for the set. If a customer could delete the expensive half of a discounted pair, they’d keep the discount without the bundle. Turn on Customer can remove this item on a line to exempt it. This suits an optional extra that sits alongside a fixed core. WooCommerce’s Undo? link brings the whole preset back, not one line of it. See Cart behaviour.

Coupons

Each item decides whether store coupons can discount it. The default is no. A preset price is already a discount, and stacking a coupon on top usually isn’t what you meant. Turn on Allow coupon discounts on this item where you do want it, for example a full-price add-on inside an otherwise discounted set.
This is per item, so one preset can have coupon-able and coupon-proof lines side by side.

When an item cannot be added

Products go out of stock, get deleted, or stop being purchasable. What the link does then is a store-wide setting under Settings → Cart behaviour → Unavailable items: Skip is the default, and the right answer for most stores. A customer who wanted five things shouldn’t leave with none because one was out of stock. Refuse is for sets that only make sense whole: a machine and the one cable that fits it. The wording in each case is yours to change. See Cart notices and wording.
A product sold one at a time isn’t one of these cases. Nothing is refused and nothing is skipped. The line is added with its quantity trimmed to one, and the customer gets the item_qty_capped notice explaining it. The Unavailable items setting doesn’t apply to it.

Custom items

A custom item is a line that isn’t a product in your catalogue at all: a setup fee, a deposit, gift wrap, a one-off service. Click Add custom item to add one. It carries its own:
  • Name and Regular price
  • Description, shown to the customer on the cart line
  • Image
  • Shipping, if it ships. Turn on This item needs shipping for Weight, Dimensions L × W × H and Shipping class
The name shows everywhere: the order screen, emails and receipts. The description and image only show in the cart and at checkout. Its Discount type offers None, Percentage and Fixed amount. There’s no Custom price, because the item already has its own price. Nothing is added to your catalogue. The item never appears in search, in a category, or in your products list. On the free version, Add custom item is locked with a Pro tag, and the Items card shows a locked preview of the form with example values.

How they reach the cart

WooCommerce can’t put a line in a cart without a product behind it, so custom items ride on a single hidden carrier product. There’s one for your whole store. It’s virtual, hidden from the catalogue, and excluded from search and sitemaps. The line is then renamed and repriced for that item. Two custom items in one cart are two lines on the same carrier product, priced independently. See The carrier product.
On the free version, a custom item made on Pro stays with the preset but isn’t added to the cart. Its line says Not added on the free version., its fields are locked, and it’s left out of the pricing summary and the unit count. The health checks say how many items won’t be added, so the total you see is the one the cart will charge. If every item in a preset is a custom item, the save is blocked, because the link would have nothing to add.

Item discounts

Each item can carry its own discount, and the preset’s total is the sum of its discounted lines. Pricing and discounts covers this in full.
Last modified on September 28, 2026