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#
| Field | Description | Required |
|---|---|---|
| Range Start | Minimum measurement for this tier | Yes |
| Range End | Maximum measurement for this tier (leave empty for “and above”) | No |
| Price | Regular price per unit for this tier | Yes |
| Sale Price | Discounted price per unit | No |
| Sale From | Sale start date | No |
| Sale To | Sale end date | No |
Example: flooring tiers#
| Range Start | Range End | Price | Sale Price |
|---|---|---|---|
| 1 | 99 | $5.00 | |
| 100 | 499 | $4.25 | |
| 500 | 999 | $3.75 | $3.50 |
| 1000 | $3.00 | $2.75 |
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).