Skip to main content
A web component is the <dkl-volume-picker-radio-groups> tag written directly into your theme’s Liquid. On a product page it needs zero attributes — it clones a pre-staged carrier and renders the picker server-side.

Usage

On a product page, add the <dkl-volume-picker-radio-groups> web component — it renders the first eligible PRODUCT_VOLUME discount server-side:
It renders the first eligible PRODUCT_VOLUME discount server-side — including the light-DOM radio cards, which join the product form. If the product has no eligible volume discount, no carrier exists and the tag hides itself.

Multiple volume discounts on one product

Each eligible discount has its own carrier, keyed by its discount id. An attribute-less tag clones the first eligible discount; data-discount-id targets a specific one (the discount- prefix is optional). Place one tag per discount to show several — they can’t collide:

Reacting to changes

<dkl-volume-picker-radio-groups> emits discount-kit-live:volume-discount:tier-change when a tier is selected or deselected. To run your own code on a tier change, listen for that event — it bubbles, so you can listen on document. See the Events page for the full payload shape, and Listen for tier changes in the examples below for a working listener.

Examples

For the full list of data-* attributes you can set, see Styling & Data Attributes.
Override attributes + tokens
Pair with <dkl-price>
Listen for tier changes
Example event payload

Next steps

Styling & Data Attributes

Every data-* attribute, --dkl-* token, CSS part, and light-DOM class.

App block

The no-code, theme-editor placement.