Skip to main content

Volume Discount — native quantity-tier discounts on the product page

Configure quantity-tier discounts that show on the product page and apply automatically at checkout, with optional subscription stacking.

What this does

Offer your customers tier-based discounts directly from the product page. Define quantity tiers (e.g. 1, 3, 6, 12 units) with a discount per tier — Subi shows the tiers and the savings on the product page, lets the customer add the chosen quantity to cart, and a Shopify Function applies the right discount at checkout. The customer can also subscribe at the same time and stack the subscription discount on top.

No more relying on quick-checkout-links or hiding Subi's widget behind FastBundle.

What the customer sees

On a product page covered by an active Volume Discount plan, Subi replaces the regular subscription widget with the volume-discount widget. The customer sees the available tiers along a savings track, the per-tier discount, and a live subtotal that updates as they bump the quantity. They can pick a tier, optionally choose a billing frequency, and Subi keeps the theme's quantity stepper in sync with the widget — change the qty in either, and the other follows.

Add to cart adds a hidden line property that tells our Shopify Function which plan to use; the discount is applied at checkout.

Volume Discount widget on the product page — quantity 2 with Buy 2 tier active, showing 10% savings and the subtotal

How to create a Volume Discount plan

  1. Go to Selling plans → New plan.

  2. Pick the Volume Discount card.

  3. Name the discount and add tiers — each tier needs a title (what the customer sees) and a value (the percentage or fixed-amount discount).

  4. Choose which products it applies to (Specific products, Collections, or All products) and pick the purchase type — one-time, subscription, or both.

  5. (Optional) Add billing intervals — every 30 days, every 60 days, etc. — each with its own subscription discount. The subscription discount stacks on top of the tier discount.

  6. Save.

Admin plan detail page showing tier table, included products, preview panel, and the Lock to tier quantities (Coming soon) row

How the discount applies at checkout

  • The Function reads the line property and matches the cart quantity for that line against the merchant's tiers.

  • Below the smallest tier minimum, no discount is applied to that line.

  • If the customer also chose a subscription billing interval, the per-interval subscription discount stacks on top of the tier discount.

  • Lines without the line property are ignored — non-VD products in the same cart are unaffected.

Cart page showing the Volume discount tag on a snowboard line with the discounted unit price and the original price struck through

Stacking with regular subscriptions

If a product has both a regular subscription plan and a Volume Discount plan, Subi shows the Volume Discount widget — the regular subscription widget is suppressed on that product. The customer still gets a subscription option through the volume-discount widget's frequency selector.

What's not in this version

  • Customer portal qty editing for VD lines — coming in the next release. For now, customers can subscribe to a Volume Discount plan from the storefront, but if they later change quantity from the customer portal the tier won't recompute. We'll ship the recompute and tier-transition banners shortly.

  • Lock to tier quantities — there's a row labelled Coming soon on the plan form. v1 always allows the customer to pick any quantity inside a tier range; the lock-to-quantities option is on the roadmap.

  • Per-line tier override in the admin, multi-currency tier pricing nuances beyond Shopify's currency-conversion defaults.

Why we built this natively

Until now, merchants who wanted volume discounts on subscriptions had three workarounds, all with downsides — quick-checkout-links (no widget), FastBundle integration (two widgets, subscription discounts invisible), or a generic automatic-discount app (no PDP visibility). The native Volume Discount plan removes those tradeoffs and lets the discount tier and the subscription option live in the same widget.

For developers

  • The SDK fetches each VD product's data on demand via Shopify's /products/{handle}.js at storefront render time, so plans aren't capped by Shopify's 128-item list.product_reference metafield limit.

  • Add-to-cart adds the line property _volume_discount_plan_id; the Function keys off this property and the line's selling plan to apply the right discount.

  • Backend exposes CRUD endpoints under the volume-discount-plan namespace; selling plans are created with 0% pricing policies and the real discount lives on the VD plan record so the Function can read it.

Did this answer your question?