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)
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 |
- 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.
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.
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).