Quantity pricing
How it works
With quantity pricing, the unit price depends on the quantity the customer adds to their order. SparkLayer finds the tier the quantity falls into and uses that tier's price. If the customer also has discounts, SparkLayer then takes them off the unit price.
For example:
| Quantity | Unit price |
|---|---|
| 1 or more | $14.99 |
| 5 or more | $10.99 |
| 10 or more | $8.99 |
Customers see the price breaks in the Product Detail Interface, as a table of Qty, Price and Savings. By default, the savings are worked out from the single unit price of the product or variant. To base them on the RRP (retail price) instead, see How prices are shown.
Set up quantity pricing
Quantity pricing works with prices you upload, not with an automatic pricing rule. On an automatic price list, upload prices for the products that need quantity pricing. See Price lists.
-
Prepare a CSV file with
sku,priceandqtycolumns. Add one row per price break, and always include a row for a quantity of1:example.csv sku,price,qty 123-abc,14.99,1 123-abc,10.99,5Here, SKU
123-abccosts 14.99 each from 1 unit and 10.99 each from 5 units. -
Go to Pricing,Price lists (opens in your SparkLayer Dashboard in a new tab) and click Upload next to the price list.
-
Choose the file, check the rows under Check your upload, then click Import. See Upload prices by CSV for the full steps.
| Column | What it contains | Required |
|---|---|---|
sku | The product SKU as set up in your eCommerce platform or backend system. | Yes |
price | The unit price for the SKU at the quantity in the qty column. | Yes |
qty | The quantity from which this price applies. | No (defaults to 1) |
You must include a unit price for a quantity of 1, even if customers can't buy single units because you've set up minimum quantities or pack sizes. See Quantity rules.
To change quantity pricing for a single product, use the Price editor: open the variant, then edit a price or click Add a new price to add another quantity break.
Choose how variants are counted
For products with variants (for example colour or size), you choose whether quantities are counted across all variants or per variant.
| Behaviour | What happens |
|---|---|
| Across all variants (default) | Quantity pricing applies across every variant of the product. If a product comes in Small, Medium and Large and the price break starts at 5, a customer gets the lower price for any combination, such as 1 Small, 2 Medium and 3 Large. |
| Per variant | Quantity pricing only counts the quantity of each variant on its own. For example, you can set quantity pricing that only applies to the Large size. |
To count per variant, turn off Tiered pricing across variants at Settings,Configurations,Pricing and cart (opens in your SparkLayer Dashboard in a new tab) and save. The same switch is also at Storefront,Options,Pricing and display (opens in your SparkLayer Dashboard in a new tab); changing it in one place changes it in the other.
Set up unit of measure pricing
Unit of measure pricing lets customers order in set units such as boxes, cases or pallets. You set a unit price for each unit, and SparkLayer prices any quantity left over at the single unit price.
It works like quantity pricing: customers buy more and pay less per unit. The difference is how the line total is worked out. SparkLayer splits the quantity across your units of measure, then adds up the line total. The unit price shown is the average across the total quantity.
For example, a product sells as single units, in boxes of 7 and on pallets of 150. A customer orders 320 units:
| Unit | Unit price | Units in the order | Line |
|---|---|---|---|
| Pallet (150 units) | $8.99 | 300 (2 pallets) | $8.99 × 300 = $2,697.00 |
| Box (7 units) | $10.99 | 14 (2 boxes) | $10.99 × 14 = $153.86 |
| Single unit | $14.99 | 6 | $14.99 × 6 = $89.94 |
| Total | 320 | $2,940.80 |
The unit price shown is $2,940.80 ÷ 320 = $9.19.
Upload unit of measure prices
-
Prepare a CSV file with a
unit_of_measurecolumn as well assku,priceandqty. Setqtyto the number of units in each unit of measure, and leaveunit_of_measureblank for the single unit price:example.csv sku,price,qty,unit_of_measure 123-abc,14.99,1, 123-abc,10.99,7,box 123-abc,8.99,150,pallet -
Upload it to the price list from Pricing,Price lists (opens in your SparkLayer Dashboard in a new tab). See Upload prices by CSV.
| Column | What it contains | Required |
|---|---|---|
sku | The product SKU as set up in your eCommerce platform or backend system. | Yes |
price | The unit price for the SKU at the quantity in the qty column. | Yes |
qty | The quantity for this price. For a unit of measure, the number of units it contains. | No (defaults to 1) |
unit_of_measure | The unit of measure the quantity belongs to. Use letters and numbers only, with underscores as separators, for example box, pallet or pallet_box. | No |
As with quantity pricing, you must include a unit price for a quantity of 1, even if customers can't buy single units.
You can also set up unit of measure pricing in the Price editor: add or edit a price, and enter the unit of measure and its unit price.
How unit of measure pricing shows to customers
The Product Detail Interface shows the price for each unit, for example "1+", "7 (box)" and "150 (pallet)", and a breakdown of how the unit price has been calculated. The My Cart Interface shows the same breakdown, so customers can see how the line total and unit price were worked out.
Show a quantity pricing table
SparkLayer shows your price breaks in the Product Detail Interface by default. To show the table anywhere else on your product page, add a code snippet. See Show the quantity pricing table.
Related quantity rules
Quantity rules control how customers order, rather than what they pay. See Quantity rules. To combine price breaks, pack sizes and discounts for bigger orders, follow Run volume pricing and promotions for trade customers.
- Pack sizes (also called quantity increments): make customers add items in set packs, for example packs of 3 or 6.
- Minimum quantities for a variant (for example products that come in colours), or for the parent product as a whole, across its variants.
- Maximum quantities for a variant or for the parent product.
For developers
These changes are made in code, so they're usually done by your developer or agency. You don't need them to set up quantity pricing.
Name and pluralise units of measure
Language strings for each unit of measure let the storefront pluralise quantities in messages to customers (for example "1 box", "2 boxes"). Use the key you set for the unit of measure in your price list. Add the strings to your SparkLayer Core Script:
translations: {
en: {
"unit-of-measure.unit-type.box": "{uomQuantity, plural, =1 {box} other {boxes}}",
"unit-of-measure.unit-type.pallet_box": "{uomQuantity, plural, =1 {pallet box} other {pallet boxes}}"
}
},<!-- SparkLayer Core Script: in your theme, just before </head>.
Already have window.sparkOptions? Add just the setting to it. -->
<script>
window.sparkOptions = {
translations: {
en: {
"unit-of-measure.unit-type.box": "{uomQuantity, plural, =1 {box} other {boxes}}",
"unit-of-measure.unit-type.pallet_box": "{uomQuantity, plural, =1 {pallet box} other {pallet boxes}}"
}
},
};
</script>See Languages and international for more on language strings that contain variables.
FAQs
Not from the automatic rule: quantity pricing needs prices you upload. Upload manual prices to the automatic price list for the products that need quantity pricing. See Price lists.
Yes. When you import a price list with quantity pricing, include a row for each SKU with a quantity of 1, even if customers can't buy single units.
Last updated