Skip to main content

Variants & combinations

Color, text, image-text and multiple-choice variants, per-option price pills, combination stock, variant styles, cascading variants and the offer popup.

Written by Support

Variants let one product cover multiple options — colors, sizes, capacities, brands, models. Customers see a clean picker on the product page; you keep one product record instead of a duplicate per colour. This page is the deepest reference in the Selling section because variants quietly drive most of the dashboard work for fashion, electronics and digital products.

Video

The vocabulary

Concept

What it is

Variant group

One dimension of choice — Color, Size, Storage, Brand. A product can have several.

Variant option

One value inside a group — Red, XL, 64GB, Apple.

Combination

A specific cross-pair — Red + XL. Used when each pair has its own SKU and stock.

Price pill

The small pill on an option showing its price adjustment relative to the base price.

A product with 3 colours × 4 sizes has up to 12 combinations. You don't have to use combinations — most products track stock at the option level or at the product level instead (see §Stock modes).

The four variant types

The type is chosen once per group — every option inside that group renders the same way:

Type

What customers see

Use when

Color

A filled circle in the option's hex colour (or a large image card, see Show as card)

The colour is the whole story (Red, Blue, Black).

Text

A text pill (S, M, L, XL)

Sizes, materials, capacities, generic options.

Image-text

A card with a thumbnail and the option name underneath

Brand logos, model thumbs, anywhere a tiny image clarifies the text.

Multiple choice

The same image-text cards, but the shopper can toggle several options on at once

Optional extras — engraving, accessories, add-on services.

Two things that only apply to Multiple choice (also called selectable) groups: they are always optional, and they never appear in the combination-stock matrix.

The image-text type is newer than color and text. Use it whenever you have more than ~5 text options — the thumbnail prevents customers from misreading similar names ("iPhone 14 Pro" vs "iPhone 14 Pro Max"). When the option is bound to a product image, clicking it can scroll the product gallery to that image (see §Click-to-gallery).

Creating a variant group

Go to Dashboard → Products at /dashboard/products, then either:

Scroll to the Variants card, then:

  1. Click Add variant group.

  2. Type a group name (e.g. Color, Size, Brand).

  3. Pick the type (Color, Text, Image-text or Multiple choice).

  4. Click Add option for each value.

Both groups and options can be drag-reordered, and the storefront renders them in that order. Dragging requires a desktop-sized screen with a mouse — there is no touch reorder, and the drag handles are not rendered on small screens. Reordering while combination stock is on regenerates the matrix.

Adding options

Each option carries:

Field

What it does

Name

The label customers see (Red, Small, Apple).

Color code

Hex value, only for color type — drives the swatch.

Linked image

Available on color, image-text and multiple choice options. Pick one of the product images already uploaded above — see §Click-to-gallery.

Show as card

Colour groups only. Renders that colour as a large image card instead of a circle — see below.

Price adjustment

A delta on top of the base price. Can be positive (+200), zero, or negative.

Stock

Stock for that option. Only visible when Track variant stock is on and combination stock is off.

SKU

Per-option SKU, shown alongside the option stock field under the same condition.

The price pill — it's a delta, not the absolute price

This is the most common mistake when setting up variants:

If your base price is 2 500 DZD and the XL costs 2 700 DZD, the price adjustment for XL is +200, not 2700.

The pill shows the adjustment, never the total: +200 renders as a green +200 DZD pill, -150 as a red -150 DZD pill, and an option whose adjustment is 0 shows no pill at all. The product's running total recalculates as soon as the shopper picks an option.

The one surface that shows each option's full price is the Digital Product Variants addon.

The "Show as card" toggle {#show-as-card}

Show as card appears only on Colour groups. Turn it on to render that colour as a large image card instead of a 40 px circle — useful for fashion, jewellery and brand selectors. It needs a linked product image; without one the option falls back to the plain circle.

You never need it elsewhere: image-text and Multiple-choice options are always cards, and text options are always pills.

Required and optional groups

Every Colour, Text and Image-text group is mandatory — the shopper must pick one option from each, and the server rejects an order that arrives without a pick (a guard that mainly catches browser tabs left open before you added the group). There is no per-group "required" switch.

For a genuinely optional group — engraving, add-on accessories — create it with the Multiple choice type. Those are always optional and let the shopper tick several options at once.

Click → gallery scroll {#click--gallery-scroll}

When an option is bound to a product image, clicking it on the storefront can move the gallery to that image:

  • On the carousel gallery the slide always changes.

  • On the stacked gallery the scroll only happens on screens 768 px and wider. On phones the page deliberately stays put, because the gallery sits above the variants and scrolling would pull the shopper away from the order form.

Once a product exists, re-opening it and linking an image creates a stable link to that photo, so later reordering or replacing pictures does not break which thumbnail the option shows. Variants configured on the initial Create screen can only remember the image's position — reorder your photos afterwards and the option may end up pointing at a different one. The link becomes stable the first time you save from the edit page.

The gallery scroll itself always jumps to the image's current position in the gallery.

Stock modes {#stock-modes}

There are three stock modes. They are mutually exclusive and chosen explicitly with the switches in the Pricing & stock card — there is no fallback from one to another:

Mode

How to enable

What you get

Product stock

Both variant switches off

A single quantity on the product.

Option stock

Track variant stock on

A quantity and SKU per option. Product-level tracking switches off automatically.

Combination stock

Track combination stock on as well

A quantity and SKU per (Colour × Size) pair. The per-option stock inputs disappear.

The storefront still shows a single product-level total — it sums the option or combination counts for display — but the count that actually gates a sale is the one from the mode you enabled.

Once the shopper picks a variant, the quantity stepper is capped by that option's (or that combination's) stock, not by the product total, and the server re-applies the cap when the order is submitted. The one exception: multi-quantity offers are not reduced this way — a bundle whose quantity exceeds the selected variant's stock is rejected instead.

When to enable combination stock

⚠️ Warning — Prerequisites

The Track combination stock switch only appears once the product has at least two variant groups and Track variant stock is already on. If you can't find it, add the second group or turn on variant stock first. Switching it on hides the per-option stock inputs and generates the matrix immediately.

Use it when:

  • Different (Color × Size) pairs really do have different stock (a Red XL pile that runs out before the Red M pile).

  • You need a per-pair SKU for inventory or accounting.

Otherwise leave it off. Combinations explode quickly: 4 colours × 5 sizes = 20 SKUs to manage. 4 × 5 × 3 storage tiers = 60.

🛑 Important — 1 000 combinations is a hard limit

Above 1 000 the matrix refuses to generate and shows a "too many combinations" message. If a payload somehow arrives with more rows, the server keeps only the first 1 000 and drops the rest without warning. Split the product or drop a dimension — support cannot raise the cap.

When combination stock is on, the Combination matrix card appears below the variant groups. Click Generate combinations to build the grid, then fill it in. The matrix gives you:

  • A bulk-edit toolbar above the grid to set the same stock across many rows at once.

  • A stock and SKU field per row.

  • A per-row enable/disable switch, so an impossible pair can be turned off.

  • Multiple choice (selectable) groups are excluded from the grid — a notice on the card says so.

What shoppers see on a combination product

Options are re-classified on every click, and there are two different "unavailable" looks. Merchants routinely report the second one as a bug:

Appearance

Meaning

Red strike-through, not clickable

Out of stock in every combination.

Dimmed with a grey slash, still clickable

In stock somewhere, just not with the shopper's current other picks. Clicking it swaps the conflicting pick so the shopper can't dead-end.

Reordering images and the variant gallery {#image-reorder}

The product image grid (above the variant section) is where merchants spend most of their time:

  • Drag-and-drop to reorder on desktop.

  • Long-press for ~250 ms on mobile to enter reorder mode (with a small haptic tick).

  • The chevron < and > buttons on each image card nudge it one slot left/right — handy for slow drag on mobile or precise placement.

  • The primary image is locked to position 1 — reordering the rest doesn't move it. Click the star on another thumbnail to make it primary.

The order is saved with the product, and is what the storefront uses for the gallery and for the option-to-image binding.

Where variants render

Variants are painted by several different surfaces, each with its own picker. Check the one your shoppers actually use before you conclude something is broken:

  • The shared product page — Ariana, Bloom, Brico, Prestige, Promobi, Showcase and Starter themes. Everything on this page describes that surface.

  • The Digital theme's own product page, which has its own variant picker and repeats it in a sidebar and a dropdown.

  • The add-to-cart modal that opens from a product card on the home, catalogue and category pages — shoppers can pick variants without ever opening the product page.

  • Landing pages, which have their own variant picker and their own card styles.

Variant styles

/dashboard/themes has a Variants tab with 12 CSS re-skins of the picker. They restyle the shared product page's picker only — not the Digital theme's product page, not landing pages, and not the add-to-cart modal.

Style

Plan

Look

Clay

Pro

Soft 3D clay shapes with a micro-press on click.

Minimal

Pro

Plain buttons, thin borders, a discreet selection ring.

Softplay

Pro

Soft pastels, rounded shapes, a small bounce on selection.

Stacked

Pro

One option per full-width row — good for offers and bundles.

Editorial

Unlimited

Fashion-magazine feel: serif numbering, hairlines.

Material

Unlimited

Material 3 — state layers, soft elevation.

Offer

Unlimited

Offer rows with a radio and a pink highlight — built for bundles.

Brutal

Enterprise

Thick borders, hard offset shadows, neo-brutalist.

Glass

Enterprise

Frosted glass, light transparency, a selection sheen.

Lux

Enterprise

Cream paper, gold hairline, serif selection.

Mashrabiya

Enterprise

Arabic geometric patterns with a gold hairline.

Pixel

Enterprise

90s pixels, monospace, hard shadow.

Cascading Variants (addon)

Some catalogs have dependent options — Brand → Model. Selecting Apple should only show iPhones, not Samsung Galaxies. Install the Cascading Variants addon to enable parent-child groups:

  • Picking a parent option reveals that option's child group.

  • Picking a different parent option hides the previously revealed child group and any grandchild groups below it, and clears whatever was selected inside them.

  • The parent group's own options always stay visible — cascading operates at group level, and it supports more than two levels (Brand → Model → Variant).

  • Because it hides and reveals whole groups, it works with any group type, and it is compatible with combination stock. Multiple-choice (selectable) groups are not supported as a cascade parent.

One rough edge: on the product page the visual "selected" highlight is cleared only on colour and text options, so an image-text child group can keep a highlighted card after you switch parents — the selection itself is still discarded. Landing pages clear all three types correctly.

Activate it from /dashboard/addons — requires the Pro plan or higher.

Offer Variant Popup (addon)

When you sell multi-quantity offers ("Buy 3, get 1 free"), the customer needs to pick variants for each piece. DZBuild already does that with a built-in in-page accordion; the Offer Variant Popup addon replaces it with a modal:

  • Responsive popup, one piece at a time.

  • Two settings, both on by default and both configured from the addon's card on the addons page (there is no separate management page): Auto-advance to next piece and Show variant images.

  • Compatible with combination stock.

Activate it from /dashboard/addons — available on all plans, including Free.

Digital Product Variants (Digital theme only)

If your store uses the Digital theme, the Digital Product Variants addon transforms the variant selector into a sleek 2-step accordion:

  • Each option shows the final price (base + adjustment) directly on the card — the only surface in DZBuild that does.

  • Single-selection across all groups (no multi-pick).

  • Smooth keyboard-accessible animation matching the Digital theme.

  • Zero per-product setup — activate and it applies everywhere.

Requires the Pro plan or higher and the Digital theme.

Tips

  • Set the price pill as a delta, not the absolute price. Most setup mistakes come from typing 2700 instead of +200.

  • Use image-text once you pass ~5 options in a group. Thumbnails kill misreads on similar names.

  • Don't enable combination stock unless you really need it. 4 × 5 = 20 SKUs is a lot to keep in sync.

  • Cards are great for fashion and brands, overkill for sizes.

  • You don't have to mark anything required — colour, text and image-text groups are mandatory by default, and the server rejects an order that arrives without a pick.

  • The primary image is pinned to slot 1 automatically — you can't drag it out of place. Click the star on a different thumbnail if you want another photo to lead.

  • Test the popup on a phone. Multi-quantity offers should always be checked in mobile width — the popup is more critical than the inline selector.

What's next

Did this answer your question?