Pricing Tables

Pricing Tables

Pricing tables let you define different rates based on measurement ranges. Customers buying larger quantities pay a different price per unit, and the active tier highlights in real time as they enter measurements.

Overview

A pricing table is a list of rules where each rule defines:

  • A measurement range (e.g., 1-50 sq ft, 51-100 sq ft)
  • A regular price per unit for that range
  • An optional sale price per unit
  • Optional sale date range (start and end dates)
When a customer's calculated measurement falls within a range, that tier's price is used.

Setting up pricing rules

  • Go to the Measurement tab on any product.
  • Scroll down to the Pricing Rules section.
  • Click Add Rule.

Rule fields

FieldDescriptionRequired
Range StartMinimum measurement for this tierYes
Range EndMaximum measurement for this tier (leave empty for "and above")No
PriceRegular price per unit for this tierYes
Sale PriceDiscounted price per unitNo
Sale FromSale start dateNo
Sale ToSale end dateNo
Scroll to see all columns →

Example: flooring tiers

Range StartRange EndPriceSale Price
199$5.00
100499$4.25
500999$3.75$3.50
1000$3.00$2.75
Scroll to see all columns →
In this example:
  • Orders under 100 sq ft pay $5.00/sq ft.
  • Orders of 100-499 sq ft pay $4.25/sq ft.
  • Orders of 500-999 sq ft pay $3.75/sq ft (or $3.50 during a sale).
  • Orders of 1,000+ sq ft pay $3.00/sq ft (or $2.75 during a sale).

Sale prices

Each pricing tier can have its own sale price. Sale prices are independent of the regular WooCommerce sale price.

Always-on sale

Set a Sale Price without any dates. The sale price applies indefinitely until you remove it.

Scheduled sale

Set Sale From and Sale To dates. The sale price only applies within that date range.

  • Before the start date: regular price is used.
  • During the date range: sale price is used.
  • After the end date: regular price is used again.
Tip: You can schedule different sales on different tiers. For example, run a sale on the 500+ tier during a promotion while keeping smaller tiers at regular price.

Frontend display

Pricing table

When a product has pricing rules, a table is displayed on the product page showing all tiers:

  • Range column: measurement range with unit (e.g., "1 - 99 sq ft")
  • Price column: per-unit price. If a sale is active, the regular price appears with a strikethrough and the sale price appears next to it.

Active tier highlighting

As the customer enters measurements, the pricing table highlights the active tier with a purple left border and a subtle background color. This updates in real time as the measurement changes.

Pricing table with no calculator

The pricing table also works as a standalone display using the [mpwc_pricing_table] shortcode. See Shortcodes.

How tier selection works

The plugin matches the customer's calculated measurement against the pricing rules:

  • Rules are checked in order from first to last.
  • The first rule where the measurement is >= Range Start and <= Range End is selected.
  • If Range End is empty, any measurement >= Range Start matches.
  • If no rule matches, the product's base price is used.
Important: Make sure your ranges don't have gaps. If you have tiers for 1-50 and 100-500, measurements of 51-99 will fall back to the base product price.

Pricing modes

Pricing tables work in two modes depending on the product configuration:

Price per unit mode

The default mode. The tier's price is multiplied by the calculated measurement.

Example: 150 sq ft at $4.25/sq ft = $637.50

Quantity mode

When Measurement Per Unit is configured, the plugin calculates how many product units are needed instead of a per-measurement price.

Example: Each box covers 25 sq ft. Customer needs 150 sq ft → 6 boxes at the 100-499 tier price.

Managing rules

Reordering

Rules are evaluated in order. Drag the handle on the left of each rule to reorder.

Removing

Click the Remove button on any rule to delete it. This takes effect when you save the product.

Bulk updates

Use the Import/Export feature to copy pricing rules between products.

Best practices

  • No gaps in ranges. Make sure the end of one tier matches the start of the next.
  • Use "and above" for the last tier. Leave Range End empty on the final rule.
  • Start ranges at 1 (or your minimum order size), not 0.
  • Test with boundary values. Enter values at exact tier boundaries to verify correct pricing.
  • Keep tiers reasonable. 3-6 tiers is typical. Too many tiers can confuse customers.
  • Use sale dates for promotions. Schedule sales in advance rather than manually toggling prices.

Troubleshooting

Wrong tier selected

  • Check for overlapping ranges (two tiers that match the same measurement).
  • Check for gaps between ranges.
  • Verify Range Start and Range End values are correct (not swapped).

Sale price not showing

  • Check if the current date is within the Sale From / Sale To range.
  • Make sure the Sale Price field has a value (not just dates).
  • Clear your browser cache.

Pricing table not displayed

  • Confirm the product has at least one pricing rule saved.
  • Check that the Measurement Calculator is enabled for the product.
  • The pricing table only appears on single product pages (not shop archives).