How to Create WooCommerce Buy X Get Y Free Offers (Step-by-Step Tutorial)

By Priyanka Okidi 16 min Read

Table of Contents

    Want to move products quicker, increase revenue, and bolster customer satisfaction in your online store? In this tutorial, I’ll walk you through everything you need to know about setting up WooCommerce buy X get Y free promotions that work.

    Why run WooCommerce buy X get Y free promotions featured image

    Trying to work out how to set up buy x get y deals in WooCommerce?

    “Buy X get Y free” deals are one of the most powerful types of promotions you can run in an ecommerce store. They’re proven to encourage larger purchases, delight customers, and inspire them to make repeat orders.

    Even though buy X get Y offers are known to boost revenue, WooCommerce doesn’t ship with built-in support for adding them. Fortunately, you can set them up with the help of a plugin.

    buy X get Y free WooCommerce - product detail page B2G2

    In this guide, I’ll walk you through everything you need to know to run effective buy X get Y free offers in your WooCommerce store:

    • How WooCommerce buy X get Y free deals work.
    • Strategic benefits of running buy X get Y free promotions.
    • A step-by-step walkthrough of how to set up WooCommerce buy X get Y free deals based on quantity or product combinations using the powerful Dynamic Pricing and Discount Rules plugin.
    • Best practices to maximize conversions, protect margins, and avoid mistakes while running buy X get Y free promotions.
    • Answers to the most common questions store admins ask when setting up WooCommerce BXGY promotions.

    Plugin used in this tutorial

    WooCommerce Dynamic Pricing and Discount

    Apply advanced discount conditions to drive more revenue with our intuitive and easy-to-use plugin.

    14-day, no-questions-asked money-back guarantee.

    WooCommerce Dynamic Pricing and Discount Banner

    What is a WooCommerce buy X get Y free offer?

    buy X get Y free WooCommerce - product page B1G50 off

    A WooCommerce buy X get Y free offer is a type of promotion where you reward customers for purchasing a certain product (or quantity of products) by giving them another item for free or at a discounted price.

    Buy X get Y free offers are not limited to identical products. You can define the conditions and configure these promotions so that the customer gets:

    • The same product they bought (e.g., buy 1, get 1 free – same SKU).
    • A different product (e.g., buy a t-shirt, get a hat for free).
    • A product from a specific category (e.g., buy any 3 sweaters, get 1 pair of shoes for free).

    You’ve probably seen them in action across stores in various niches. For instance:

    • Buy 2 t-shirts, get 1 free.
    • Buy a laptop, get a mouse free.
    • Buy 3, get the 4th at 50% off.
    • Buy from category A, get an item from category B free.

    Why run WooCommerce buy X get Y free promotions?

    Here are the top benefits of offering buy X get Y free deals in WooCommerce.

    They help move surplus inventory

    Unsold stock sitting on shelves in your warehouse — whether that’s last season’s collection or a product that didn’t quite hit the mark — ties up capital unnecessarily.

    Pairing slow-moving stock with bestsellers helps move them without diminishing your brand value through heavy markdowns.

    They foster product discovery

    Buy X get Y offers are a low-cost way to seed interest in new launches, product categories with low awareness, or private-label items you want to promote over branded alternatives.

    They enable you to introduce customers to a product they wouldn’t normally try without forcing them to spend more money upfront. Once you’ve gotten the products into the hands of existing customers who already trust your brand, they’re more likely to come back and buy it again without the promo.

    They strengthen customer loyalty

    Offering customers extra products for free makes it seem like a reward (an added value), rather than a basic price cut. This builds goodwill, especially with repeat customers, and gives them one more reason to choose your store over competitors.

    It boosts revenue

    Buy X get Y deals push customers to add more items to their shopping carts. You’re not giving something away for free; you’re nudging customers to spend more to qualify for the reward.

    And because they usually involve offering the lowest-priced item free, the margins often still work in your favor. In terms of total revenue, you gain more than you lose from giving something away. This translates to higher average order value (AOV) and more revenue, especially when the promo has a threshold.

    Plus, when paired with urgency (through limited quantities or fast approaching deadlines), customers are more incentivized to place orders immediately to avoid missing out on the deal.

    Introducing a powerful WooCommerce buy X get Y free plugin

    As noted, WooCommerce’s built-in coupon system doesn’t give you nearly enough flexibility when it comes to running buy X get Y free promotions. WooCommerce is powerful, but it’s designed to be lean — advanced discount strategies like buy X get Y free just aren’t part of the core.

    Enter: WooCommerce Dynamic Pricing and Discount Rules.

    buy X get Y free WooCommerce - product detail page B2G2

    WooCommerce Dynamic Pricing and Discount Rules is an advanced plugin that enables you to create robust buy X get Y free offers with multiple conditions.

    Thousands of high-performing WooCommerce store admins use it to power discounts based on quantity, category, product combinations, cart total, user role, country, and more.

    You can create unlimited rules, and they can be as simple or complex as needed. For example:

    • Buy 1 product, get the same product free (BOGO on specific SKUs).
    • Buy 2 items from the “T-Shirts” category, get 1 accessory free.
    • Buy 3 specific SKUs, get a fourth SKU at 100% off (but only for logged-in users).
    • Buy 1 unit of any item, get 50% off the 2nd.

    The WooCommerce Dynamic Pricing and Discount Rules plugin works with specific products, product variations, categories, or across your entire store. It gives you complete control over what counts as a qualifying item (X), what’s given away or discounted (Y), whether the offer is limited to certain users, locations, dates, or cart totals, and more.

    buy X get Y free WooCommerce - cart page B2G2

    The best part? The buyer’s journey is seamless — when a customer qualifies for a deal, the free product is automatically added to their shopping cart complete with a “free” label. (Note: For BXGY deals where “Y” is a discounted product e.g. buy 1 get 50% off, customers must add the discounted products to their carts).

    Top features

    Advanced buy X get Y logic

    There’s no limit to the number of buy X get Y free rules you can create; whether you’re working with simple products, variable products, specific categories, or all products. Plus, each WooCommerce BXGY rule can have its own conditions.

    Usage limits

    Setting restrictions on how customers can redeem the BXGY offer helps protect your margins. You can set order-based limits with a maximum number of paid-for and free items per order. For example, only 5 free products per transaction, even if the cart qualifies for more (to prevent customers from abusing the offers).

    Another option is to set customer-based limits. For example, restricting offers to first-time buyers only (to drive customer acquisition) or users who have previously spent a minimum amount (to reward repeat customers for their loyalty).

    Additional targeting parameters

    You can prescribe additional criteria to control who sees or qualifies for each WooCommerce BXGY deal:

    • By location: If you only want to offer buy X get Y Free to customers in a specific area, state, or country.
    • By user role: To create deals just for specific customer cohorts.

    You can combine multiple conditions to create a highly targeted promotion.

    Custom product page messaging

    Advertising the offer directly on the product display page is a great way to promote it. WooCommerce Dynamic Pricing and Discount Rules lets you control the text and style of the custom promotional messages to be displayed on product detail pages.

    Scheduling

    Planning a campaign ahead of time? This WooCommerce BXGY plugin lets you set start and end dates for each rule and day-of-the-week restrictions (e.g., run the deal only on weekends or every Friday).

    This means you can schedule promotions in advance, run weekly deals automatically, or time your offers around product launches and holidays on autopilot.

    Note: Dynamic Pricing and Discount Rules is a full-featured discount plugin. In addition to buy X get Y promotions, it also handles percentage-based discounts, bulk quantity discounts, minimum quantity discounts, and others. Head to this page to view its complete feature list.

    How to create WooCommerce buy X get Y free offers

    Setting up buy X get Y offers with WooCommerce Dynamic Pricing and Discount Rules is pretty straightforward and takes less than ten minutes from start to finish.

    For this tutorial, I’ll show you how to create two kinds of buy x get y deals: “BOGO” and “Buy 1 get 50% off”. The same guidance applies for rules with various quantities, such as “buy 2 get 1”, “buy 3 get 3”, “buy 4 get 4” buy 2 get 50% off…and so on.

    How to create a WooCommerce buy 1 get 1 free deal

    If you’d rather watch a video about creating buy X get Y free offers, press “play” below. Otherwise, read on for step-by-step instructions (with screenshots).

    Youtube Video Thumbnail

    Step 1: Create the BOGO rule

    1. Download and activate the Dynamic Pricing and Discount Rules’ free or pro plugin on your site.
    2. After activation, you’ll find the plugin options under DotStore Plugins → Dynamic Pricing and Discount Rules in your site’s admin panel. Press “Add New Rule” to start creating your BOGO offer.
    3. Turn on the “Status” button to activate this rule.
      WooCommerce buy X get Y free - BOGO admin 1
    4. Give your rule a clear name, such as “BOGO – Buy 1 Get 1 Free”.
    5. In the “Select discount type“ dropdown menu, choose BOGO (Buy 1 Get 1 Free) as the discount type.
    6. Next, define whether to only enable it for first orders and logged-in customers.
    7. You can also specify whether to apply the deal to already discounted products (products marked as on sale with the “Edit Product” section in WooCommerce core).
    8. If you’d like to add a custom message, tick the “Enable discount message” checkbox and add it to the corresponding field. You can also adjust the styling settings if needed. For instance, “Buy 1 sweatshirt, get another absolutely free — offer auto-applies in cart!”.
    9. Press the “Advanced settings” button underneath the “Select discount type” option to reveal additional options. From here you can define the start date, end date, time, and days of the week for this rule to be active.
      WooCommerce buy X get Y free - B1G1 admin 2

    Step 2: Customize the BOGO rule

    1. Define how the buy 1 get 1 rule should be added:
      • To apply this BOGO rule to single or variable products, navigate to the “BOGO Discount by product” section and press “+ Add rule”.
        WooCommerce buy X get Y free - BOGO admin 3
      • To apply this BOGO rule to product categories, navigate to the “BOGO Discount by category” section and press “+ Add rule”.
    2. Select the product(s) that will trigger the BOGO deal in the “Buy Products” field.
    3. Set additional conditions:
      • Buy Min. Quantity: This is a BOGO deal, so set this to “1” (the customer must buy at least one to qualify).
      • Buy Max. Quantity: Set this to “1” (this defines an upper limit of products the customer can buy).
      • Get Free Qty: Set this to “1” to give one free item for each qualifying purchase.
    4. In the “Get free product” section, select the product to be given for free. For a classic BOGO, this will be the same as the “Buy” product. Or you can set up “buy a, get b free” with different products.
    5. Optional: You can add extra rules in the “Discount Rules for checkout” section, such as location, payment gateway, shipping method, etc.
    6. Review your settings to ensure everything is correct.
    7. Press “Save“ to activate this BOGO rule.

    Head to your store’s front end as a customer and add the qualifying product(s) to your cart. The free product should automatically appear in the cart, reflecting the BOGO deal. Here’s an example of the product page:

    buy X get Y free WooCommerce - product detail page BOGO

    And the cart page:

    buy X get Y free WooCommerce - cart page BOGO

    How to create a WooCommerce buy 1 get 50% off deal

    Step 1: Create the buy 1 get 50% off rule

    1. Download and activate the Dynamic Pricing and Discount Rules’ free or pro plugin on your site.
    2. Upon activation, you’ll find the plugin options under DotStore Plugins → Dynamic Pricing and Discount Rules in your site’s admin panel. Press “Add New Rule” to start creating your BOGO offer.
    3. Turn on the “Status” button to activate this rule.
      WooCommerce buy X get Y - B1G50 off 1
    4. Give your rule a clear name, such as “Buy 1 Get 50% off”.
    5. In the “Select discount type“ dropdown menu, choose “Adjustment” as the discount type.
    6. Update the percentage discount in the “Adjustment value” field.
    7. Prescribe the full-price items in this deal in the “Type of apply” field: whether a product or category.
    8. Select the discounted items available in the “Get Product” or “Get Category” field.
    9. Press the “Advanced settings” button to reveal additional options. From here you can define the start date, end date, time, and days of the week for this rule to be active.
      WooCommerce buy X get Y - B1G50 off 2
    10. Next, define whether to only enable it for first orders and logged-in customers.
    11. If you’d like to add a custom message, tick the “Enable discount message” checkbox and add it to the corresponding field. You can also adjust the styling settings if needed. For instance, “Buy 1 sweatshirt, get second at 50% off — offer auto-applies in cart!”.
      WooCommerce buy X get Y - B1G50 off 3

    Step 2: Customize the buy 1 get 50% off rule

    1. Navigate to the “Discount Rules for checkout” section.
    2. Optional: You can add extra rules in the “Discount Rules for checkout” section, such as payment gateway, location, shipping method, etc.
      WooCommerce buy X get Y - B1G50 off 4
    3. Review your settings to ensure everything is correct.
    4. Press “Save“ to activate this buy 1 get 50% off rule.

    Head to your store’s front end as a customer and add the qualifying product(s) to your cart. The price of the discounted product should automatically lowered in the cart, reflecting the B1G50% deal. Here’s an example of the product detail page:

    buy X get Y free WooCommerce - product page B1G50 off

    Best practices for promoting Buy X Get Y Free offers in WooCommerce

    These tips will help you run buy X get Y promotions that deliver real results for your ecommerce store — no matter your niche.

    1. Choose products for the WooCommerce BXGY free campaign strategically. Instead of picking random products for your offer, select them based on inventory level (to clear out overstock), to boost profit margins (after factoring in costs for the freebies), or to upsell potential (get customers hooked on new items).
    2. Add banners, popups, a sticky bar, homepage sections, or product page highlights with custom messaging to promote the offer wherever appropriate throughout your website.
    3. Use auto-add-to-cart logic to make sure the free product shows up automatically in the cart for customers who qualify for the BXGY free offer.
    4. Set usage caps to control costs. This can be in the form of maximum quantity limits per order (e.g., “get 1 free item per order”), cart value thresholds (e.g., only eligible if the cart is $50+), or limit per customer (e.g., first-time users only).
    5. To protect your profit margins, limit eligibility with the help of smart conditions. For instance, only applying the deal to specific SKUs or categories, or setting up user role or location-based restrictions.
    6. Offer the same or lower-priced items for free to avoid losing money on each order.
    7. Add urgency with limited stock notices and offer end dates (e.g. “Offer ends Sunday at midnight”) to drive shoppers to buy immediately.
    8. Once the campaign is live keep tabs on important KPIs, such as redemption rates (how often the free item is actually triggered), AOV during the campaign to periods without the offer, cart abandonment rate (before and during the campaign), and repeat purchases after the promo.

    FAQs about running WooCommerce buy X get Y free offers

    Does WooCommerce have a built-in buy X get Y free feature?

    No, WooCommerce doesn’t offer the buy X get Y free feature out of the box. WooCommerce’s core plugin is purpose-built to be lightweight. It handles basic product management, coupons, checkout, and order functionality.

    If you want to set up advanced discount rules like buy X get Y free deals, you’ll need to use a plugin like Dynamic Pricing and Discount Rules for WooCommerce by The Dotstore or add custom code snippets.

    Which plugins can I use to create buy X get Y free deals?

    WooCommerce Dynamic Pricing and Discount Rules by The Dotstore is a powerful plugin that enables you to create advanced, rule-based discount campaigns, including WooCommerce BXGY offers based on product, category, subtotal, or user role.

    Available in both a free and pro version, it auto-applies the free product to the cart, lets you add unlimited rules with usage limits, scheduling, custom product detail page messaging, and much more.

    Can I offer a percentage discount on the free product instead of making it free?

    Yes, instead of giving the product away for free, you can offer a percentage-based discount on the “Y” item instead, such as 50% off deal. With a plugin like WooCommerce Dynamic Pricing and Discount Rules, you can create flexible buy x get y offers that apply partial discounts, not just 100% off.

    Can I restrict buy x get y free offers to certain countries?

    Yes, you can target buy x get y free deals by specific countries or shipping zones with the help of a plugin like WooCommerce Dynamic Pricing and Discount Rules.

    This enables you to run localized promotions while keeping costs predictable. For instance, if you only want to run the promo in countries where shipping is cost-effective, you’re running country-specific campaigns or you need to comply with regional pricing, logistics, or tax rules.

    Create your first WooCommerce buy X get Y free offer now

    Buy x get y free promotions are handy for moving dead stock, introducing new product lines, and boosting revenue within a short span.

    As noted, the buy x get y free isn’t an inbuilt feature in WooCommerce but as you’ve seen in this guide, it’s incredibly easy to implement with the right plugin.

    WooCommerce Dynamic Pricing and Discount Rules is a powerful plugin that enables you to create unlimited buy X get Y free offers with various advanced conditions.

    With it, you can:

    • Give away the same or a different product for free.
    • Offer a percentage discount instead of a full freebie (e.g. buy 2, get 1 at 50% off).
    • Set usage limits per order or per customer (ideal for first-time buyer promos).
    • Apply advanced targeting rules location, user role, cart subtotal, or product combinations.
    • Schedule promotions to run automatically (e.g. for weekends, holidays, or flash sales).
    • Show custom messaging in a prominent spot on product detail pages to clearly explain the deal.

    And most importantly? The plugin auto adds the free item to shoppers’ carts to make the ordering process as seamless as possible.

    Plus, you’re not limited to BXGY offers, WooCommerce Dynamic Pricing and Discount Rules can handle bulk quantity rules, tiered pricing, role-based pricing, percentage or flat-rate discounts by product, category, or user group, and more.

    Ready to get started? Download WooCommerce Dynamic Pricing and Discount Rules’ free or pro version and launch your first buy x get y free deal in under 10 minutes.

    WooCommerce Dynamic Pricing and Discount

    Apply advanced discount conditions to drive more revenue with our intuitive and easy-to-use plugin.

    14-day, no-questions-asked money-back guarantee.

    WooCommerce Dynamic Pricing and Discount Banner
    Author Image

    Priyanka Okidi

    Priyanka is a writer for WordPress and eCommerce companies. She loves breaking down complex ideas into simple concepts.

    Unlock Dynamic Pricing for Every Customer Scenario 🏆

    Try the plugin 100% risk free!

    WooCommerce Dynamic Pricing and Discount Banner
    Blog Sidebar Free Guide Image
    0 Shares facebook twitter linkedin
    Author Pic

    Written by Priyanka Okidi

    Priyanka is a writer for WordPress and eCommerce companies. She loves breaking down complex ideas into simple concepts.