How to Sell Meat by Weight in WooCommerce

Quick question before we start: how many times this month has a customer asked for “about 800 grams” of something, and you had to either round it awkwardly or take the order manually over the phone? If you run a butcher counter, deli, or meat delivery business, that scenario probably feels familiar.

Here’s the root of the problem. WooCommerce assumes everything you sell has one fixed price per item. Meat doesn’t work that way. Nobody buys “1 unit of ribeye.” They buy 750 grams, or a kilo, or whatever fits their pan and their budget that week. Out of the box, WooCommerce simply has no answer for that.

So most shop owners cobble something together. A pile of product variations covering every possible weight. Custom fields a developer has to babysit forever. Or a strange “quantity equals grams” trick that leaves customers staring at their cart wondering why it says “Quantity: 750.” It technically works, until your menu grows past a dozen cuts and the whole setup starts falling over.

There’s a much cleaner way to do this. Stick with me for the next few minutes and you’ll have it fully mapped out for your shop.

Why the usual workarounds fall apart

Three approaches show up again and again when shops try to force WooCommerce into weight based selling, and all three have the same failure point eventually.

Product variations for every weight. Say you offer 250g, 500g, and 1kg as separate variations. That’s manageable for a handful of products, but painful once you’re running dozens of cuts. And it still can’t handle a customer who wants an odd amount like 830g.

Custom fields hacked in by a developer. These are fragile by nature. A WooCommerce core update or a theme change can quietly break the pricing logic, and you often won’t notice until a customer complains about being overcharged or undercharged.

Price per gram with quantity standing in for weight. This can technically produce the right total, but it confuses nearly every customer who sees it, and it fights against WooCommerce’s normal cart behavior the whole way.

None of these were ever built for weight based goods. They’re fixed price logic stretched way past what it was designed to do. That’s exactly why a dedicated solution matters here, and it’s the part most guides skip over.

The plugin that actually solves this

This is the part worth paying close attention to, because it changes everything about how the rest of your setup goes.

The Weight Based Products for WooCommerce plugin adds a proper product type built specifically for weight priced goods. Instead of forcing your meat catalog into a fixed price mold, it gives WooCommerce a selling model that was actually designed for butchers, delis, and meat suppliers in the first place.

Why does that distinction matter so much in practice? Because every workaround above breaks somewhere. This plugin doesn’t, because weight is the foundation it’s built on, not an afterthought bolted onto a standard product. Pricing per kilogram, minimum order enforcement, tiered discounts, live stock pools, all of it comes standard rather than being something you or a developer has to invent from scratch.

Here’s what setting up an actual meat product looks like with it.

Setting Up a Meat Product

Step 1: Create the product

In WordPress, go to Products, then Add New, and select Weight Based as the product type instead of the default Simple product. Enter your price per kilogram or per pound. The plugin supports both, so you’re not locked into one unit system.

Step 2: Decide how customers will order

You get two modes here, and you can mix them across your catalog depending on the product.

Fixed Packs work well for pre portioned cuts. You define standard sizes such as 250g, 500g, 1kg, and 2kg, and they appear as clickable options on the product page with simple plus and minus buttons for quantity. There’s also a desired weight field you can turn on. A customer types in 1.3kg and the plugin works out the closest pack combination, say 1kg plus 250g equals 1.25kg, so they’re not doing mental math at checkout.

Free Weight suits made to order cuts where you’re not selling in preset sizes at all. Customers use a slider or type any amount within a minimum and maximum you set, and the price updates live as they adjust it.

Step 3: Add the options meat shops actually need

Beyond weight, most butcher orders come with a few extra decisions attached, like cut style, thickness, or a special request. This is where the plugin’s usefulness really shows. You build reusable option groups such as bone in versus boneless, thin versus regular versus thick cut, or a free text box for instructions. Set them up once, then attach them to whichever products need them, and mark any option as required so nobody checks out without making a choice.

Step 4: Enforce a minimum order weight

If you’re not willing to sell less than, say, 100g of anything, set a minimum right in the product settings. Below that threshold, presets get hidden, the page shows an “add X more to reach the minimum” message, and Add to Cart gets blocked. This is enforced on both the front end and the server, so it can’t be worked around by a determined customer editing form fields.

Step 5: Set up tiered pricing if you sell in bulk

Wholesale or bulk buyers usually expect a better rate for volume, and this is easy to build in under WooCommerce, then Weight Based Products, then Pricing Rules.

Order weightPrice per kg
Under 1 kg$28
1 kg – 5 kg$24
Over 5 kg$20
The right tier applies automatically the moment a customer’s order crosses the threshold, and the product page can nudge them along the way with something like “add 300g more to unlock the next price break.” That one small nudge alone tends to push average order size up without you doing anything extra.

Keeping track of stock

With Fixed Packs, stock is tracked per package size, the same way any normal WooCommerce product works. With Free Weight, you instead set a total pool, say 50kg of brisket for the week, and the slider’s maximum shrinks in real time as orders come in. That means you can’t accidentally oversell what’s actually sitting in the walk in.

What happens at checkout

Nothing exotic here, and that’s the whole point. Orders flow through WooCommerce’s normal cart and checkout, not some separate bolted on process you have to maintain. The cart line shows the product, the weight or pack selected, any add ons chosen, and the total price. If a customer adds the same cut with the same options twice, the plugin merges those into one clean line instead of listing duplicates that look like a mistake.

So, is this worth setting up for your shop?

If you’re still running weight based orders through variations, custom fields, or manual phone calls, ask yourself honestly how much time that costs you every single week, and how many pricing mistakes have slipped through because of it. A purpose built weight based product type replaces all of that with something that just works, out of the box, inside the WooCommerce setup you already know.

Here’s what you walk away with once it’s running:

Live, accurate per kilogram pricing on every product. Fixed packs and free weight entry, usable side by side across your catalog. Custom options for cut, thickness, and instructions, built once and reused everywhere. Automatic tiered pricing that rewards bulk buyers without extra work on your end. A checkout that’s still, refreshingly, just standard WooCommerce.

If that’s the gap you’ve been working around, go take a look at Weight Based Products for WooCommerce on the WooCommerce Marketplace. And if you’ve already tried setting up weight based selling with a different workaround, I’d genuinely like to hear how it went for you, drop a comment below and let’s compare notes.