How to Create a BOGO Offer in WooCommerce

How to Create a BOGO Offer in WooCommerce? Easy Steps

Did you know, 66% of online shoppers prefer BOGO (Buy One Get One) discounts over any other discount, and 93% of shoppers have actually used these at least once?

BOGO isn’t just a discount; it’s retail crack. Customers get a dopamine hit, you clear inventory. Everybody wins.

But, how to create a BOGO offer in WooCommerce?

To create a BOGO offer in WooCommerce, install a plugin like Disco. Set a rule (e.g., “Buy 1, Get 1 Free”), define target products, add conditions (cart quantity/price), and set expiry dates. Test the rule, promote via banners/emails, and track performance in WooCommerce Analytics.

In this guide, you’ll learn to craft BOGO deals so addictive, even you’ll want to shop at your store! (Fair warning: Stock up on coffee—this is fun.)

How to Create a BOGO Offer in WooCommerce?

Despite having a dedicated coupon tool, the core WooCommerce unfortunately doesn’t have the features to offer WooCommerce buy one get one free coupon. You will need to install a discount plugin for this.

There are many discount plugins available on the market. For this article, we will use the easiest-to-use plugin, Disco, to create BOGO deals.

Why Disco?
Disco is a flexible WooCommerce discount plugin that simplifies complex promotions. While its free version supports many premium features, the Pro version unlocks advanced BOGO functionality.

Key features include:

  • Create “Buy X, Get Y Free” or “Buy 1, Get 1 Half Off” rules.
  • Set conditions based on products, categories, or cart totals.
  • Apply auto-updating discounts without coupon codes.

Let’s get down to action. Here’s how to create a BOGO offer in WooCommerce using Disco.

  • Example Scenario: “Buy Any One Product and Get One Quantity for Free.”

Step 1: Install A WooCommerce Buy One Get One Plugin

First, you need to install the free version of Disco.

  • Navigate to Plugins >> Add New.
Disco discount plugin
  • Search, install, and activate the buy one get one free WooCommerce plugin Disco.
  • After purchasing the Pro version, upload it from Plugins >> Add New >> Upload Plugin.
upload plugin
  • You should have both plugins activated at the same time.
discount plugins

Step 2: Create a Buy One Get One WooCommerce Discount Campaign

  • Visit the Disco dashboard from the WordPress admin panel.
how to create a BOGO offer in WooCommerce
  • Click the Create a Discount button to get started.
name rule
  • Enter a name for your WooCommerce buy one get one free campaign.
  • Select the BOGO discount intent from the top.
BOGO intent
  • Specify the products and set the expiry time.
All Products

Step 3: Configure BOGO Rule Settings

  • From the BOGO Type dropdown, select the Buy X Get X option.
BOGO type
  • Under BOGO Rules >> Customer Buy section, set the minimum and maximum quantity that customers need to buy in order to avail of the discount.
  • Enter the quantity customers will get for free in the Get Quantity box.
  • Select the Discount Type, Free Items.
Free items

Step 4: Save and Test

  • Click the Save button to publish the WooCommerce BOGO offer.
save button
  • To test the buy one get one free WooCommerce rule, add any product to the cart. The cart page will immediately add another product for free.
how to create a BOGO offer in WooCommerce

This is how to create a BOGO offer in WooCommerce. Pretty straightforward, right?

Now let’s delve deeper into advanced strategies.

Advanced BOGO Strategies to Maximize Conversions

Basic BOGO offers work, but advanced tactics turn casual buyers into repeat customers. Below are unconventional strategies to squeeze more value from every promotion, without making your store look like a discount bin.

1. Tiered BOGO for Bulk Buyers

  • Example: “Buy 2, Get 1 Free | Buy 3, Get 2 Free”

Reward customers for buying more. The more they add to their cart, the bigger the freebie. Perfect for clearing excess stock or pushing seasonal items.

Why Use This?

  • Encourages larger purchases by rewarding volume.
  • Clears stagnant inventory faster.
  • Boosts average order value (AOV).

How To Create A BOGO Offer in WooCommerce for Bulk Purchases?

Here’s how to create the above-mentioned example BOGO offer using the WooCommerce buy one get one free plugin.

  • Create a new BOGO WooCommerce rule and select the BOGO discount intent.
how to create a BOGO offer in WooCommerce
  • Select All Products to offer this WooCommerce promotion on any product.
  • Select Buy X Get X from the BOGO Type dropdown.
  • To set WooCommerce buy two get one free as per our example strategy, enter 2 as the minimum buy quantity and 1 as the get quantity.
  • Set Free Items as the Discount Type.
add more
  • Click the Add More button to add a new row.
  • Set the final values accordingly.
bulk bogo
  • Save and test the rule. This is the result for 2 items added.
how to create a BOGO offer in WooCommerce
  • For 3 items, the cart will add 2 items for free.
how to create a BOGO offer in WooCommerce

2. Combination Bundle BOGO

  • Example: “Buy a Laptop, Get a Free Mouse”

Pair relevant products to surprise and delight. Think outside the box—like bundling a blender with a recipe eBook.

Why Use This?

  • Drives sales for low-demand products by pairing them with popular items.
  • Introduces customers to complementary products.
  • Reduces returns (bundles feel like curated value).

How To Create A BOGO Offer in WooCommerce for Combination Bundle?

This time we will create a WooCommerce buy x get y free discount. Here’s how to do buy one get one free on WooCommerce based on combination.

  • Select the BOGO intent.
  • This time, select the Few Products option.
BOGO few
  • Search and select the target product for which you are offering the discount.
select product
  • From the BOGO Type dropdown, select the Buy X Get Y option.
  • Enter 1 as Minimum Quantity and 1 as Get Quantity.
set value
  • Search and select the target product you are giving away for free.
set combination
  • Save the WooCommerce buy one get discount rule and add the laptop to the cart.
  • Disco will automatically add the mouse for free.
how to create a BOGO offer in WooCommerce

3. BOGO with Partial Discounts

  • Example: “Buy One, Get One 50% Off”

Not ready to give stuff away? Offer WooCommerce buy one get one half off instead. It’s gentler on margins but still sparks excitement.

Why Use This?

  • Preserves margins better than “free” offers.
  • Appeals to price-sensitive shoppers.
  • Works for high-ticket items (e.g., furniture, appliances).

How To Do a Buy One Get One Half WooCommerce Rule?

Here’s how to create such a WooCommerce BOGO programmatically.

how to create a BOGO offer in WooCommerce
  • Select the BOGO intent and specify the products.
  • Pick the Buy X Get X option.
  • Set 1 as the minimum buy and get quantity.
  • In the Discount Value box, enter 50 to set the 50% discount.
  • Save and test from the front.
how to create a BOGO offer in WooCommerce

4. Time-Locked BOGO Offers

  • Example: Weekend-Only “Buy 1, Get 1” Sale

Deadlines force decisions. Use WooCommerce flash sale BOGO deals to create urgency and FOMO.

Why Use This?

  • Creates urgency (scarcity = faster decisions).
  • Tests demand for new products.
  • Aligns with holidays/events (e.g., Black Friday).

How to Create a BOGO Offer in WooCommerce for Limited Time?

Here’s the walkthrough.

  • Select the BOGO discount intent and specify the products.
valid between
  • From the Valid Between calendar fields, select the start date and time first.
set start date
  • Select and set the end time and date.
set end date
  • Pick the Buy X Get X BOGO type.
set value
  • Set the buy and get values according to your strategy.
  • After you save this rule, Disco will automatically activate and end the discount as per your set timings.

5. Role-Based BOGO for Loyalty

  • Example: Elite Members-Exclusive “Buy 1, Get 1 Free”

Offer exclusive deals for VIPs or repeat buyers, perfect for stores with loyalty programs or for a membership site. Makes loyal customers feel special while protecting margins.

Why Use This?

  • Rewards loyal customers (increases retention).
  • Encourages sign-ups for loyalty programs.
  • Reduces coupon abuse.

How to Create a BOGO Offer in WooCommerce Based on User Role?

This time, we will need to use a Disco condition. The plugin offers a wide range of condition filters.

Condition filters

Disco conditions help you control who gets the discount and when. You can set rules based on user roles, products, cart conditions, user behavior and more using simple AND/OR logic.

  • After creating a new rule, select the BOGO intent from the top.
  • Specify your products and timing.
how to create a BOGO offer in WooCommerce
  • Select the Buy X Get X BOGO type.
  • Enter 1 as Minimum Buy Quantity and 1 as Get Quantity.
  • Select Free Items as your discount type.
  • Click the Add Condition.
Add condition
  • Select the User Role filter.
user role
  • Search and select your target user role.
add condition
  • Save the rule, and only Elite members can now avail of the discount.

6. Conditional BOGO with Minimum Spend

  • Example: “Spend $100, Get a Free Product”

Unlock freebies only after hitting a cart condition discount. Nudge shoppers to add more items.

Why Use This?

  • Increases cart totals to hit revenue goals.
  • Filters out low-value buyers.
  • Combines discounts with freebies for higher perceived value.

How to Create a BOGO Offer in WooCommerce Based on Cart Conditions?

To create the above example discount, follow these steps.

how to create a BOGO offer in WooCommerce
  • Select BOGO as the discount intent and specify your products.
  • Pick the Buy X Get X option.
  • Set 1 as the Minimum Get and Buy Quantity.
  • Select Free Items as your discount type.
cart subtotal
  • Add the condition Cart Subtotal.
  • Select the Greater Than Or Equal operator and set the minimum cart value.
select operator
  • After saving the rule, let’s try by adding one product to the cart.
no discount
  • As you can see, it did not add a free product because the cart subtotal hasn’t hit the required threshold.
  • The cart will apply the discount as soon as you reach $100.
how to create a BOGO offer in WooCommerce

How to Create a BOGO Offer in WooCommerce Using Code

You don’t always need a plugin to run a simple BOGO campaign. If you’re comfortable adding a few lines of code, it is possible to set up a WooCommerce BOGO without plugin.

Below is a straightforward approach you can use, even on a live store — but be sure to test first. Here’s how to create a BOGO offer in WooCommerce without a plugin.

Step 1: Open Your Theme’s functions.php File

To begin, log in to your WordPress dashboard.

  • Navigate to Appearance >> Theme File Editor.
  • On the right, click on functions.php.
  • Before editing, back up your site or work on a child theme to avoid any risk.

Step 2: Add the BOGO Offer Code

We want to create a Buy 1 Get 1 Free offer in WooCommerce, where any product qualifies, and the customer gets one additional unit of the same product free when they buy one.

Now, paste the following code at the bottom of your functions.php file:

AD 4nXcLe8mxSartKXhSys046FRUUkDeHApFr35XKqTJFbtkAt4WSj UsX zoDuXNdRPaGEnw2Z6rZs PqM23ZBbANhfXfKqjhLkWMw3
add_action('woocommerce_before_calculate_totals', 'global_bogo_offer', 10, 1);

function global_bogo_offer($cart) {

if (is_admin() && !defined('DOING_AJAX')) return;

foreach ($cart->get_cart() as $cart_item_key => $item) {

     // Skip if already marked as free

     if (isset($item['bogo_free']) && $item['bogo_free'] === true) {

         $item['data']->set_price(0); // Ensure price remains zero

         continue;

     }

     // Skip if it's already an offer-adjusted pair

     $product_id = $item['product_id'];

     $qty = $item['quantity'];

     // Check if there's already a free product for this item

     $free_item_found = false;

     foreach ($cart->get_cart() as $check_key => $check_item) {

         if (

             $check_key !== $cart_item_key &&

             isset($check_item['bogo_free']) &&

             $check_item['bogo_free'] === true &&

             $check_item['product_id'] === $product_id

         ) {

             $free_item_found = true;

             // Adjust quantity of the free item if needed

             if ($check_item['quantity'] !== $qty) {

                $cart->set_quantity($check_key, $qty);

             }

             break;

         }

     }

     // If no free item exists, add one

     if (!$free_item_found) {

         $cart->add_to_cart($product_id, $qty, 0, array(), array('bogo_free' => true));

     }

}

// Clean up free items if no matching paid product exists

foreach ($cart->get_cart() as $key => $item) {

     if (isset($item['bogo_free']) && $item['bogo_free'] === true) {

         $match_found = false;

         foreach ($cart->get_cart() as $check_item) {

             if (

                 !isset($check_item['bogo_free']) &&

                 $check_item['product_id'] === $item['product_id']

             ) {

                 $match_found = true;

                 break;

             }

         }

         if (!$match_found) {

             $cart->remove_cart_item($key);

         }

     }

}

}

Important Notes:

  • This code works site-wide — all products are eligible for BOGO.
  • It tracks matching items by product_id. So, variations will be treated separately.
  • The added free item will appear in the cart as a duplicate with a price of zero.
  • You can customize the logic to restrict BOGO to certain categories or products.

Step 3: Test the Offer

After saving the file:

  • Go to your store and add any product to your cart.
AD 4nXfH9jPhqi7GidA9ULdvMKkbQspH oA2IP9wRNZTj 8d6X Wc3WVFSiBOrrbzogjbzlHMpV0Xp fBT4Tg87HeEPhrMAUYhH OBIhlb1AZF
  • The free item should appear automatically as long as the paid one is added.
  • Remove the paid one, and the free one should disappear.

A Few Things to Keep in Mind

  • This method works well for one product. For more complex BOGO rules (like Buy 2 Get 1 or category-based offers), you’ll need to expand the logic.
  • You may also want to display a notice or banner about the deal using a custom message or pop-up.
  • This method does not create a coupon. It’s an automatic cart rule.

Note: If you want to create a WooCommerce coupon buy one get one off, you can use a dedicated plugin that can create BOGO coupons.

Best Practices for Running Successful BOGO Promotions

Here are some best practices to follow.

1. Pick Products Wisely

Focus on items with strong margins, high demand, or excess stock. For example, pair slow-moving inventory with bestsellers to clear shelves without sacrificing profit.

2. Clarity Over Cleverness

Avoid vague phrasing like “Buy More, Save More.” Instead, use straightforward language: “Buy 1 Shirt, Get 1 Free.” Confused customers abandon carts—simplicity sells.

3. Transparency Builds Trust

Disclose limitations upfront: expiration dates, excluded products, or maximum redemptions. Example: “Limit one free item per household. Excludes sale items.”

4. Promote Like It’s a Blockbuster

Don’t hide deals in a footer. Use eye-catching homepage banners, targeted emails, and social media teasers. Repurpose user-generated content— “Tag us in your BOGO haul!”

5. Measure What Matters

Track metrics like redemption rates, average order value, and profit margins. Tools like Google Analytics or WooCommerce Reports reveal if your BOGO is a hero or a flop.

6. Experiment with Variations

Test “Buy 1, Get 1 Half Off” against “Buy 2, Get 1 Free” to see which drives higher revenue. Rotate offers seasonally—think “Back-to-School Bundles” or “Holiday Duos.”

7. Leverage Urgency Tactics

Add countdown timers (“48 hours left!”) or low-stock alerts (“Only 10 bundles remaining!”). Scarcity nudges indecisive shoppers to act fast.

8. Optimize for Mobile Shoppers

Ensure offers display cleanly on phones. Giant buttons, minimal text, and instant loading prevent mobile users from bouncing.

9. Train Your Team

Equip staff to explain BOGO rules and troubleshoot issues. A confused customer service rep can tank a promotion’s credibility.

10. Post-Promo Review

After the campaign, survey customers: “What made you grab the BOGO deal?” Use insights to refine future offers.

Pro Tip:

BOGO isn’t a one-size-fits-all strategy. A luxury brand might thrive with “Buy 1, Get 1 Half Off,” while a grocery store clears inventory faster with “Buy 2, Get 1 Free.” Tailor tactics to your audience—and always protect your margins.

Wrap up

So, now you know all about how to create a BOGO Offer in WooCommerce. Remember, BOGO offers aren’t just a sales tactic—they’re your store’s secret sauce.

With tools like Disco, setting up “Buy One, Get One” deals takes minutes but delivers months of buzz. Track what works, tweak what doesn’t, and watch those conversions sizzle.

Ready to turn browsers into buyers? Your next BOGO campaign is a click away.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top