How Variants Work
Variants are built from Variant Options — brand-level axis definitions (e.g., “Color”, “Size”). On the product, you select which options apply, then define each combination as an individual variant row.Linking a Variant to an Existing Product
A variant normally points at a product you already have rather than owning its own commercial data. Set Linked product on the variant row and everything downstream — SKU, inventory, fulfilment, payouts,merchant_product_ids, postback matching — keeps
resolving through that product’s code, exactly as it did before.
This is the difference from Shopify, and it is deliberate. In ElasticFunnels the product
code is the identity the whole system is keyed on, so a variant that owned a separate
price and SKU would need all of that duplicated. Linking keeps one source of truth:
- The variant is presentation — which option values it represents, what order it appears in, which one is selected by default.
- The linked product stays the sellable thing, unchanged.
Worked example: pack sizes
A supplement sold as 1, 3 and 6-bottle packs, where each pack is already its own product:
The dashboard product list shows one MenoSoothe row instead of three, the storefront
renders one page with a picker, and add-to-cart still submits
menosoothe-3.
Leave Linked product empty for a standalone variant that carries its own price, SKU
and inventory. Mixing both styles on one product is supported — each variant resolves
independently.
Field resolution order
For every commercial field the variant’s own value wins when set, and the linked product fills in the rest:Default Variant
Every product with variants has exactly one default — the variant used when no selection is made. If you do not flag one, the lowest Position wins. This guarantees a product can always be added to a cart without an explicit choice.Setting Up Variant Options
Before adding variants to a product, create the variant option definitions:- Go to Settings → Products → Variant Options
- Create a new option (e.g.,
Colorwith values: Red, Blue, Green) - Repeat for each dimension (e.g.,
Sizewith values: S, M, L, XL)
Adding Variants to a Product
- Open the product and go to the Variants tab
- In Variant Options, check the options that apply to this product (e.g., Color and Size)
- In Product Variants, click Add Variant for each combination
- For each variant row, fill in:
- Code — Unique variant identifier
- Price — Variant-specific price
- One field per selected option (e.g., Color, Size)
Per-Variant Pricing
Each variant has its own Price field. If left blank, the product’s base price is used at checkout.Variant Option Values (option_values)
Each variant stores its option selections as option_values — a map of option slug to selected value:
variant.option_values.
Variant Attributes
Product Attributes withapplies_to = variant or applies_to = both can store values per variant. These appear in each variant row in the Variants tab and are managed independently.
To set up variant-scoped attributes:
- Go to Settings → Products → Product Attributes
- Create or edit an attribute and set Applies To to
VariantorBoth - Open any product → Variants tab — variant rows will include inputs for these attributes