xpay✦ Commerce
Directory
WooCommerce plugins
Markup by Attribute for WooCommerce
Markup by Attribute for WooCommerce
This plugin adds product variation markup by attribute to WooCommerce and adjusts product variation regular and sale prices accordingly.
4.5
(28 ratings)Will this break my store?
What the WordPress.org registry says about keeping Markup by Attribute for WooCommerce running.
Tested to 7.0.2
Tested against the WordPress branch in use today.1 month ago
At least 3.7 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.7.4.3
Your host must be running at least this version.5.7
1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how Markup by Attribute for WooCommerce is looked after — not on how many stores run it.
96
out of 100Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
Not enough dataMerchant satisfaction
11 / 15Listing transparency
10 / 10Ratings
4.5
28 ratingsVarying Prices on Product Variations is Tedious and Error-Prone
Want to add $5 to every blue product you sell? Maybe you sell jewelry with birthstones, and some stones cost more than others. If all “X-Large” products cost 7.5% more, you’d have to manually calculate and change every “X-Large” variation of every product.
Markup by Attribute Adds ‘Markup’ to Attribute Terms
Markup by Attribute solves this by letting you add a markup (or markdown) to global attribute terms. If the attribute is ‘Color,’ you can add “+5” to Blue while leaving Green and Yellow alone. When you set regular and sale prices, every blue product will automatically be $5.00 more.
This plugin does one thing – it adds pricing control to WooCommerce’s global product attributes. If your products vary in price based on options like size, color, or material, Markup by Attribute lets you set those price differences once at the attribute level rather than manually adjusting each product variation.
Key Features
- Fixed value markups (like $5) or percentage markups (like 5%)
- Positive markups for price increases, negative for decreases
- Integrates with WooCommerce’s existing ‘Set regular price’ and ‘Set sale price’ bulk actions
- Shows price differences in the dropdown options to help customers make informed decisions
- Provides itemized price breakdowns in variation descriptions
- Quick bulk update tools to reapply markups when values change
- Support for both regular and sale prices
- Option to show or hide markup details in various places
Use Cases
- Size-based pricing: Charge more for larger sizes, less for smaller sizes
- Material upgrades: Add costs for premium materials
- Add-on services: Pricing for monogramming, gift wrapping, etc.
- Attribute-driven costs: Any situation where product options consistently affect pricing
New in Version 4.6
- Removed the “Preserve Zero Prices” setting — markups now always apply to zero-priced variations
- Simplified zero-price handling with automatic price floor (prices never go negative)
- Improved code clarity with refactored price-handling methods
No – and this is by design. Markup-by-Attribute only applies markups when you take specific action:
1. When you use WooCommerce’s Set regular prices or Set sale prices bulk action
2. When you use one of the “Reapply markups” tools
This intentional workflow gives you control over when prices change. You might want existing inventory to keep old prices while new products use updated markups.
Bottom line: Setting a markup is step 1. Applying it to products is step 2.
After changing a markup value, you have several ways to update the affected products:
1. For new products or variations, Markup-by-Attribute is incorporated into the Set regular price bulk action to set the variation price with the appropriate markup.
2. For existing products:
– Use the “Reapply Markups” bulk action to update multiple products at once
– Click the refresh icon next to individual products to update them one at a time
– In the product editor, use “Reapply markups to prices” in the variations bulk actions
If you change a markup value for an option, you can quickly update affected products in one of two ways.
1. There is a Reapply Markups bulk action on the ‘All Products’ product list. You can even select all items on the page, and Markup-by-Attribute will find items with markups and update the prices and descriptions.
2. There is a refresh icon beneath the attributes of individual products on the ‘All Products’ product list. You can filter the list by selecting the attribute in question and then click “⟳ Reprice” on the products that you want to reapply the markup to.
Additionally, a “Reapply markups to prices” option in the product’s variation bulk actions. While this only works on the product you are editing, it does provide a method that is faster than setting the prices again.
Nothing. Products have to have their prices set again (“Set regular prices” in the variation bulk actions), or you can do a bulk reapplication of the markup to many products at once (see above).
Not automatically changing the variation prices is important if a shop has existing inventory they want to sell at the original markup and new products that require the new markup. You can select which products retain their old prices and which ones are repriced with the new markup.
Yes! Usually, attributes like ‘Size’ will have a percentage markup, whereas attributes like stitching a logo on a shirt will be fixed in price. Combining both the size markup and the logo markup on the same product is perfectly valid. But what if you want to add a percentage and a fixed-price markup to two of the same attributes? For instance, anything that is plaid gets marked up by 5%, but anything yellow is reduced by $1. You can do this, too.
Any option listed under any attribute is calculated independently of any other. Any combination of positive or negative amounts or percentages is all valid.
Fixed-amount markups are added to (or subtracted from) sales prices, just as they are for regular prices. However, percentage markups can be calculated on sale prices in one of two ways.
1. The markup is calculated on the regular price and then applied to the sales price.
2. The markup is calculated on the sale price before being applied to the sale price.
You decide which way you want the percentage markups calculated with the Sale Price Markup option on the Markup-by-Attribute settings page.
The #1 reason: You’ve set markups but haven’t applied them to products yet.
Markup-by-Attribute requires TWO steps:
1. Set the markup on the attribute term (✓ You probably did this)
2. Apply it to products using bulk actions (← This is usually the missing step)
On the product page: Use WooCommerce’s Set regular prices or Reapply markups to prices bulk actions on the Variations tab.
On the product list: Use the Reapply Markups bulk action or the refresh icon next to individual products.
Other common issues:
– Variations with “Any” attributes when those attributes have markups
– Expecting automatic price updates (this plugin requires deliberate action)
If none of these solve it, check the support forums.
Then do nothing. Prices, descriptions, and option drop-downs for products will remain at whatever value they were set to last time you ran the Set regular price or Reapply markups to price bulk variation actions.
Yes. However, the developer only speaks American English. I can provide translations via OpenAI’s ChatGPT or Anthropic’s Claude. But I would prefer it if a native speaker translated the text. The .POT file is found in the /languages folder of the plugin. If you don’t have access to your server, you can also find it on GitHub.
What’s a .POT file? If you’d like to help but don’t know how to use a template file, don’t worry. A .POT file is a text file that contains all the English phrases found in Markup-by-Attribute. You can simply open it and translate what you read there. Send me the translations, and I will incorporate them in the next release.
Many thanks to Zjadlbymcos on GitHub for his Polish translation and @silentstepsch for several variations of German.
Thanks! The donation button assumes $5.00 USD. But please don’t hesitate to adjust that amount up or down as you feel it’s appropriate. I’m a retired guy who’s living off his savings, so every little bit helps.
If you use Markup-by-Attribute and want to see me continue support for it, I encourage you to encourage me with a small donation.
Categories
Plugin details
Tags on WordPress.org
