Skip to content

How Tiered Pricing Works

Every cart line gets its price from one rule, or from none. This page follows that choice from start to finish. Read it once and the rest of the plugin is easy to predict.

The plugin looks at one product and one quantity at a time. It builds a list of rules that could apply and puts them in order.

It takes the first rule whose quantity range contains the quantity and whose price is lower than the normal price. That rule sets the unit price.

The cart with a tier price, the rule name under the product and a savings row in the totals

Nothing happens on the storefront unless two things are true.

  • The licence is active.
  • Activate WooCommerce Tiered Pricing is ticked under Configuration → General.

Rules are kept either way. Switching the plugin off hides every discount without deleting a rule.

A product in Excluded Products, or in an excluded category, never gets a tiered price. The same is true of its variations and of products in a sub category of an excluded one. This check comes before any rule, so no rule can override it.

The Excluded Products field on the General tab, holding the Belt

See How to Exclude Products From Tiered Pricing.

  • A product with its own rules uses only those. Rules added under the price fields on the product edit screen replace every global rule for that product. See How to Set Rules on a Single Product or Variation.
  • Every other product uses the global rules that target it. A rule can target all products, selected products or selected categories, and it can exclude products. A category includes its sub categories.

The Tiered Pricing Rules table on a product’s edit screen, which replaces the global rules

A rule stays in the list only if all of these hold.

  • Its status is Active.
  • Today falls between its Start Date and End Date, where they are set.
  • The visitor holds one of its User Roles, or the rule has no roles. A visitor who is not logged in counts as Guest.

Rules are sorted by Priority. A lower number is checked first. Rules with the same priority keep the order they have in the Rules list, which is the order they were created or imported.

The Rules screen, sorted by priority, with the lowest number at the top

Priority and list order are the only things that decide between two rules. A rule is never compared with another on which discount is bigger.

For each rule in order, the plugin asks whether the quantity sits inside From and To. An empty To means no upper limit.

The quantity is normally the quantity of that cart line. A rule set to Across the cart uses the total of every cart line the rule targets instead, and never less than the line itself. See How to Count Quantity Across the Whole Cart.

The unit price comes from the product’s current price. When the product is on sale, that is the sale price, not the regular price.

Discount type New unit price
Percentage discount Current price minus the percentage of it
Fixed discount per unit Current price minus the amount
Fixed unit price The amount you entered

The result never goes below zero and is rounded to the store’s number of price decimals. If the result is not lower than the current price, the rule is skipped and the next one is tried. A fixed unit price above the normal price therefore never applies.

The first rule that passes the quantity test and the price test sets the price. If none does, the customer pays the normal price.

The demo sells a Beanie at a sale price of $18.00. Three global rules share priority 10.

Rule Quantity Discount
Bulk 10+ 10 to 24 5%
Bulk 25+ 25 to 49 10%
Bulk 50+ 50 and over 15%

A customer who adds 12 Beanies matches Bulk 10+. The unit price is $17.10, the line is $205.20, and the saving is $10.80. At 30 units the same customer matches Bulk 25+ and pays $16.20 each.

Add a rule called Trade pricing: 25 percent off from 5 units, for the Customer role, priority 5. For a logged-in customer it is checked first. At 12 units that customer pays $13.50, not $17.10, because priority 5 comes before priority 10.

A logged-in customer’s pricing table listing the trade tier and the three bulk tiers

The pricing table on the product page lists every tier that applies to the visitor, sorted by quantity. A tier that would not lower the price, such as a fixed unit price above the normal price, is left out. The cart uses the order in step 5.

When tiers overlap, the table shows both rows and the cart charges the one with the lower priority number.

The picture above shows it. The customer sees a 5+ row at 25 percent and the three bulk rows beneath it. The bulk rows never apply to that customer, because the trade rule always matches first.

Keep ranges from overlapping unless you mean it. How to Give Wholesale Prices to a User Role shows how to keep the table clean.

  • Product page: The table, the highlighted tier and the next tier hint.
  • Shop and category pages: The listing badge, when it is on.
  • Cart and mini cart: The tier price, the rule name, and optionally the struck-through normal price. The cart totals add a savings row.
  • Checkout: The tier price and the rule name on the line.
  • The order: The rule, the normal price, the unit price and the saving for every line, saved with the order. See Order Records.

The price is recalculated every time the cart changes. Change the quantity in the cart and the line moves to the tier for the new quantity.

  • It does not add a discount line. The unit price itself is lowered. The savings row in the totals is only a summary.
  • It does not discount past the top tier. If the highest tier has an upper limit, quantities above it pay the normal price. See How to Close the Top of Your Price Ladder.