Add a product and its sellable choices
- Go to Dashboard → Selling → My Forms, find the form, and choose Edit form. In the builder, select BUILD.
- Select the Products block on the canvas. If it has no products, choose Add Product. Otherwise open + Add → + Single Product above the product cards.
- Enter the buyer-facing name, optional description, optional Volume / Size line, and optional category.
- Expand the product card and find Variants & Pricing. Enter a label and an explicit price for at least one variant; use + Add Variant for more choices. Use
0only when the option is intentionally free. - Click the builder's top-level Save changes, wait for the save to finish, and preview the product as a buyer.
These instructions require permission to edit products. Autosave protects your recovery draft; Save changes makes the changes live. Use it after changing the product controls below, too.
A variant is a sellable choice such as Small, Blue, or Bundle of 3. Each variant can have its own regular price, stock, low-stock alert, maximum quantity per order, visibility, sale window, bulk pricing, and seller note.
Build the product card buyers see
Each product can have up to eight ordered photos. Add alternative text, select the featured photo, and preview the gallery. The featured image remains the single image used by older integrations, while the complete gallery is shown on the form. Multiple photos use a carousel with arrows, dots, touch swipe, and an enlarged viewer. The Products block can display images as Small, Medium, Large, Square, or Original.
Other buyer-facing controls include:
- Volume / Size for a short display line below the product name.
- Up to eight labeled Product links. One link appears directly, two appear side by side, and three or more appear in an expandable menu. The public menu label is limited to 24 characters; each link label is limited to 32.
- Emoji product tags and their legend.
- A product search bar that matches product names and descriptions.
- Category tabs and optional collapsible category sections.
- Individual variant display, or a compact Dropdown that still lets a buyer add more than one variant. Every selected variant appears beneath it with its own quantity. A product with only one variant is shown individually.
- Number quantity inputs with stepper buttons, or a quantity dropdown with a seller-set maximum from 1 through 100. Stock and Max/Order can lower the available maximum.
Arrange a large catalog
Use the product list beside the cards to move between products and categories. Its width is remembered for that form in the current browser.
Drag products for a manual order, or sort them by name, lowest option price, or total tracked option stock in either direction. Sort categories manually or alphabetically. Saving writes the resulting product and category order, so the public form uses it too.
For multi-select moves and edits, see Import, export, and bulk edit products.
Control what buyers can select
- Expand the product card, find Variants & Pricing, and use a variant's Published / Unpublished switch to hide one option while keeping its settings and order history.
- In the product's Visibility & tags section, use its Published / Unpublished switch to hide the complete card.
- Hide a category to hide every product in it. Products later added to that category remain hidden until the category is published again.
- In Visibility & tags, turn on Schedule and set Show after, Hide after, or both for a scheduled product window. An unpublished product stays hidden even when its schedule would otherwise be active.
Each product header has a status pill for the buyer-visible state. Before a scheduled window opens it shows Starts with the date; while active it shows the current window; after closing it shows Ended with the date. Schedule times use the timezone shown in the date picker.
Checkout rechecks current product, category, schedule, and variant visibility. Hiding something does not delete it or remove it from existing order records.
Set quantity and checkout rules
- Expand the product's Visibility & tags section and turn on Required when the buyer must add that product, even when the Products block itself is optional.
- In the same section, Fixed quantity 1 locks each selected variant to quantity one. Buyers can still select more than one variant of that product.
- Under Variants & Pricing, Max/Order caps one variant in a single order. Blank means no per-order cap.
- Settings → Limits can set minimum or maximum total item quantity, product subtotal, or final order total for new checkouts.
Product-subtotal limits use product pricing after catalog and form-wide sale pricing, but before coupons, shipping, and fees. Final-order limits use the submitted total after discounts, shipping, and surcharges. These limits do not revalidate existing orders or seller edits.
Show sold goals and MOQ progress accurately
Expand the product card, open Visibility & tags, turn on Sold goal, and enter the goal quantity to show progress such as 40/100. To add the separate progress section, choose Form Elements → Sections → MOQ Progress in the builder; select it to show all products with goals or a selected set of them. Click Save changes. Published forms refresh those counts as orders arrive and when an open form regains focus.
The sold goal and MOQ Progress block are display and reporting tools. They do not reserve stock, require the goal to be met, change totals, or block checkout. Use Settings → Limits when a real minimum checkout quantity or subtotal is required.
Understand free and no-variant products
An option with an explicit $0 price is orderable and appears as Free. A product with no saved variants is also currently shown on the public form as a selectable, no-price $0 line; the builder marks it No variants. Add an explicit variant whenever a price, SKU-like label, stock rule, or integration-friendly option record is needed.
Use low-stock and restock messages
For own stock, expand the product card and find Variants & Pricing → Stock / Low Alert. Low Alert is the seller threshold for a tracked own-count variant. After a checkout reaches the threshold, EZFormz can email the seller, and low-stock items can appear on the dashboard.
Select the Products block and open Display → Buyer Low Stock Display for the separate buyer label. Its default is 5, it shows X left at or below the selected quantity, and setting it to 0 hides that buyer label. Click Save changes after adjusting it.
At tracked zero stock with a working stock source, the buyer cannot select the variant and can choose Notify me with an email address. No buyer account is required. Signups are limited to five per IP per hour and deduplicated for the current sold-out cycle. The hourly restock process emails the buyer when the option is available again and visible on an active form. A completed alert is not automatically reused for a later sellout; the buyer signs up again for a new cycle.
For finite quantities and low-stock alerts, continue to Manage inventory and stock.
Keep private product data private
Variant seller notes are stored separately as owner-only reminders. They do not appear to buyers, collaborators, orders, CSV, Sheets, API v1, connected AI tools, or Airtable.
The Builder and dashboard show product and variant unit costs only to the owner or a collaborator with Manage Profit & Loss costs permission. Trusted API v1 and connected AI catalog access have a broader current boundary: a collaborator who can view the form can receive unit_cost in product and option reads, and one who can edit products can create or change it. Those paths do not also require Manage Profit & Loss costs. Treat API keys and connected AI access as trusted catalog access when costs are sensitive. Costs do not change checkout prices, and new orders save their applicable cost snapshot for reporting.
For sale prices, coupons, and automatic offers, use Set pricing, discounts, and coupons.
Own and shared stock can coexist on one form. Shared quantities and thresholds are managed in Inventory, and new products do not inherit another variant’s stock connection. A free variant can use either stock type. A broken shared connection stays unavailable until repaired.