Buy one, get one free is one of those promotions that shoppers understand instantly, no explanation needed, which is exactly why it converts so well.
The trouble has always been implementing it cleanly in WooCommerce.
This is both a walkthrough of how the BOGO ruleset type in Riaco Smart Quantity Discount works, and a more honest look at when it’s actually the right tool compared to a plain discount.
Why “Free” works differently than a discount
A 50% discount and a buy-one-get-one-free deal are, in raw arithmetic, the same thing if the quantities match up, but they don’t feel the same to a shopper.
Free carries a kind of certainty and simplicity that a percentage doesn’t.
There’s no mental math, no wondering whether the discount is “worth it,” just an immediate, easy-to-picture bonus.
This is why BOGO promotions often outperform an equivalent percentage-off deal even when the actual saving is identical, and it’s worth keeping in mind when you’re deciding which ruleset type fits a given promotion.
Setting BOGO ruleset
Creating a BOGO ruleset looks similar to any other.
You create a new ruleset, choose BOGO as the type, and fill in two numbers: the buy threshold, meaning how many units the customer needs to purchase to trigger the deal, and the free quantity, meaning how many units they receive as a result.

A classic buy-one-get-one-free is a threshold of 1 and a free quantity of 1.
A buy-two-get-one is a threshold of 2 and a free quantity of 1.
You can scale this up for clearance pushes too.
A threshold of 2 with a free quantity of 2 is effectively half off for anyone buying in pairs, framed in a way that reads as far more generous than “50% off.”
On the product page, a BOGO deal table will be displayed so users can easily view available Buy One, Get One offers.

How the cart Behaves in practice
Once active, my plugin RIACO Smart Quantity Discount watches the cart in real time.
When a customer’s quantity of the qualifying product crosses the threshold, it automatically adds the free units as a separate cart line, tagged and priced at zero.

Add more of the qualifying product and the free quantity recalculates upward.
Remove some and it recalculates downward.
Drop below the threshold entirely and the free item disappears on its own.
None of this requires a coupon code, and none of it requires you to babysit the cart to make sure the math still holds after a customer changes their mind about quantity.
The free line item is deliberately locked down: it can’t be removed independently of its parent item, and its quantity can’t be edited directly, since either would let a customer keep the free bonus while dropping the purchase that earned it.
This holds true across both the classic WooCommerce cart and checkout shortcodes and the newer block-based checkout, so the experience doesn’t differ depending on which checkout your theme happens to use.
The margin math on a BOGO deal
Take a 20 dollar product with a 9 dollar cost, so 11 dollars margin at full price.
A buy-one-get-one-free deal means a customer paying for one unit takes home two, so your effective revenue on the pair is 20 dollars against a combined cost of 18 dollars.
It is a margin of 2 dollars across both units, or roughly 10% margin on the pair rather than the usual 55%.
That’s a meaningful hit, and it only makes sense in specific situations: clearing inventory that’s tying up cash anyway, where even a thin margin beats an unsold unit sitting in a warehouse, or introducing a customer to a second product in your catalog, where the “cost” of the free unit is really a customer acquisition or cross-sell expense rather than a straightforward loss.
Compare that to a buy-two-get-one-free structure on the same product: a customer paying for two units takes home three, so revenue of 40 dollars against a cost of 27 dollars, leaving 13 dollars margin across three units.
It is a smaller percentage than full price, but a much gentler hit than the buy-one version, while still carrying the psychological punch of a free item.
Where BOGO tends to work best
Three situations come up again and again.
Clearing overstocked inventory without permanently marking the price down, since a BOGO deal can be switched off the moment stock normalizes without leaving customers confused about why the “sale price” went back up.
Introducing customers to a newer or secondary product by pairing it as the free item with a bestseller, which functions more as a sampling program than a discount.
At the moment, this Buy X and Get Y for Free is not supported on the free version of the plugin.
And short seasonal promotions where the simplicity of “buy one get one” outperforms a percentage that requires a moment of mental math to appreciate.
Honest caveats
BOGO deals are not mutually exclusive with price discounts in this plugin.
A cart item can have its price reduced by one ruleset and still trigger a free item from a separate BOGO ruleset.
That flexibility is useful, but it also means you should double check your rulesets aren’t accidentally combining in a way that gives away far more than intended.
If two different BOGO rulesets could both apply to the same product, only the first one to apply wins.
The plugin won’t stack two free-item promotions on the same item, but it also means you can’t rely on the “better” BOGO deal automatically winning the way price discounts do.
If you’re running more than one BOGO promotion at a time, use the conditions box to keep them scoped to different products rather than letting them overlap and depend on evaluation order.
At the moment, there’s also no built-in limit on how many free items a single customer can claim across multiple orders, and no start or end date scheduling.
A BOGO ruleset runs until its status is manually switched off, so it’s worth putting a reminder somewhere to turn it off rather than relying on the plugin to expire it for you.
Finally, be upfront with yourself about the accounting.
A BOGO promotion is a real cost, not a marketing trick that pays for itself by magic.
It works when the volume or exposure it generates is worth more to you than the margin given up on the free units, and that calculation is worth doing with real numbers before launching rather than after.
RIACO Smart Quantity Discount is free to install from the WordPress plugin directory.
