Skip to main content

Cascading Variants

Create dependent variant groups — e.g., Brand → Model. Child groups only appear when the parent option is selected.

Written by Support

Category: Products · Min plan: Pro · Slug: cascading-variants

Create dependent variant groups — e.g., Brand → Model. Child groups only appear when the parent option is selected.

Features

  • Parent-child variant groups

  • Brand → Model cascading

  • Works with color and text variants

  • Compatible with variant stock tracking

  • Compatible with combination stock

When to use

If you sell phone cases, car parts, replacement batteries, or anything where the customer flow is "pick a brand, then pick a compatible model", this add-on cleans up the variant picker:

  • Without it: every Brand×Model pair has to be its own product, or you accept long flat dropdowns where the customer can choose impossible combinations.

  • With it: Brand is shown first; once chosen, only the matching Model options are revealed.

How to activate

  1. Open Dashboard → Add-ons at /dashboard/addons.

  2. Find Cascading Variants under the Products category.

  3. Click Activate (Pro plan required).

  4. Open a product at /dashboard/products/create or /dashboard/products/{id}/edit → the Variants section now exposes a Depends on picker. It appears on the second and later variant groups only — the first group has no possible parent.

Setup walkthrough

A child group maps to one parent option, not to a whole parent group. So you create one child group per parent option:

  1. Create the parent group Brand with options Apple, Samsung, Xiaomi.

  2. Create one separate child group per brand — Apple models, Samsung models, Xiaomi models — each holding only that brand's models.

  3. On each child group, set Depends on to the matching parent option. The dropdown lists entries as Brand → Apple. Leaving it blank means the group is always visible.

  4. Save. The storefront shows only the child group whose parent option the customer picked.

Each child group can depend on exactly one parent option.

Compatibility

  • Hide/show works for color, text and image_text groups. Note that on product pages, when the customer switches parent option, an image_text option in the branch being left keeps its visual highlight even though the selection itself has been cleared, so prefer color or text inside cascading child groups.

  • Switching the parent option clears every selection below it and recalculates the displayed price straight away.

  • Stock tracking is preserved at every level: option stock, combination stock, or product stock — see Variants.

  • Multi-level cascades are supported: Brand → Model → Year. Each child group declares the single parent option it depends on.

Where the cascade applies

  • Product pages.

  • Landing page order forms.

  • The Digital theme product page, as long as the Digital Product Variants add-on is not also driving that product. See the warning below.

⚠️ Warning — Do not put cascading variants and the Digital Product Variants accordion on the same product

When the accordion mounts, it hides the standard variant picker and rebuilds the groups in its own list, and it leaves cascading child groups out of that list. The cascading add-on then shows and hides those child groups inside a picker the buyer can no longer see, so the child groups never appear at all and the buyer cannot choose a model.

The accordion mounts only when the product has at least one non-cascading group. If every group on the product is a cascading child, the accordion bails out, the standard picker stays visible and the cascade works normally. Anything in between is broken, so on the Digital theme pick one of the two add-ons per product.

📝 Note — Hidden child groups never block an order

The customer only has to pick from the groups on screen. A customer who picks Apple never sees the Samsung models group, and the order goes through without a pick from it.

Tips

  • Per-combination stock does not follow the cascade: the combination table pairs every option of every group, child groups included, so it does not shrink to the valid (Brand, Model) pairs and can reach the 1,000-combination limit. Track stock per option instead when the table gets too large.

Did this answer your question?