Learning how to create a buy one get one free offer in WooCommerce involves installing a dynamic pricing plugin, setting a buy-quantity rule of one, and applying a 100% discount to the free unit. This process takes 5 to 10 minutes using standard tools, helping store owners clear stock or increase order totals without custom code.

Prepare to create your free offer

  • A live WordPress site running WooCommerce version 8.0 or newer (older versions lack current checkout block support).
  • Administrator login access to your WordPress dashboard.
  • A dynamic pricing plugin, such as “Advanced Dynamic Pricing for WooCommerce” by AlgolPlus or “BOGO for WooCommerce” (the free core WooCommerce plugin can’t handle auto-adding free items by itself).
  • At least one published simple product with inventory tracking enabled.
  • An active payment gateway in sandbox or test mode to verify cart totals.

A premium pricing extension works as a reliable substitute for a free tool, but standard WooCommerce coupon codes won’t work for automatic gifts because default coupons only discount items already placed in the basket manually. If you manage complex store networks, hire a professional developer to handle custom database hooks.

How To Create A Buy One Get One Free Offer In Woocommerce: Step-by-Step

  1. Log in to your WordPress administrative dashboard using your admin credentials.
  2. Click Plugins, select Add New, and type “Advanced Dynamic Pricing for WooCommerce” into the search bar.
  3. Click Install Now, wait 5 seconds for the download, then click Activate.
  4. Navigate to WooCommerce in your sidebar and click Pricing Rules.
  5. Click the Add Rule button near the top of the screen to open the rule builder.
  6. Type “BOGO Free Offer” into the Title field so you can identify it later.
  7. Select Cart Adjustments under the deal type menu, then set the trigger condition to “Product quantity in cart equal to 1”.
  8. Scroll down to the Get Deals section, choose “Free Product”, pick your target item from the dropdown, and set the free quantity to 1.
    • Tip: If you sell clothes, set the condition to “same item” so the customer gets the exact matching size rather than a random warehouse product.
  9. Open the Limits tab and enter “1” under “Maximum usage per customer” to stop buyers from clearing out all your stock in a single transaction.
    • Careful: Setting cart quantities incorrectly can zero out your entire shop catalog; always double-check that the 100% discount applies only to the gift row.
  10. Click the blue Save Changes button in the top right corner.

If you plan to alter your theme’s functions.php file to code this logic without plugins, hire a verified web specialist because syntax mistakes can lock your site and stop real transactions completely.

Pricing rules by shop setup

Your setup changes based on how many products you carry, your shipping rules, and your store margins.

Store Situation Setup Time and Extra Costs What Makes It Different What to Watch For
Single physical item 10 minutes; no extra software costs Identical product added to cart automatically Stock levels dropping twice as fast per order
Mixed product catalog 25 minutes; potential paid plugin license Customer picks any cheaper item as gift Profit margin loss on higher-priced variants
Variable sizes or colors 30 minutes; standard free extensions Trigger must track parent product ID Customers getting wrong attribute variations
Heavy or fragile goods 15 minutes; free tier tools Extra weight added to cart shipping calculation High shipping fees causing abandoned carts
Digital downloads 10 minutes; basic plugin Download links must generate for both files File permission delivery on the gift item

It’s safer to run your first promotion on a single item with a tight limit than to launch a store-wide deal that accidentally eats into your profits.

How to tell you did it right

A working setup displays your main product at full price in the shopping cart while the free item shows immediately below it with a line-item total of zero dollars. A broken setup either forces the shopper to find and add the second item manually, or applies a 50% discount to everything in the cart.

Promotions often fail because cached cart sessions show old pricing rules to returning visitors. This happens when your server-side caching plugin saves static versions of user cart pages. To prevent cart errors, exclude all cart, account, and checkout URLs from your cache plugin settings, clear your browser cookies, and run a test order using a private browsing window.

Store guidelines and cleanup tasks

The Federal Trade Commission publishes retail rules on promotional claims through its Guides Against Deceptive Pricing, which state that a seller can’t raise the regular price of a product right before offering a free item with it. Maintain your standard selling price for at least thirty days before attaching a free promotion to it.

Once your marketing campaign ends, open your pricing rule dashboard, toggle the status switch to disabled, and delete any test customer accounts. Record the total number of free units shipped in your accounting records so your end-of-month inventory matches your shelf count. This deal configuration stays stable until you run a major WooCommerce update, which happens regularly.

Other promotional methods

Using URL coupons

Generate a custom URL link through an add-on plugin that adds both items to the basket and applies the discount code in one click. This saves shoppers from manual entry, but it costs time to configure link tracking across email campaigns.

Manual cart checkout discounts

Set up a standard percentage coupon that deducts 50% from the order only when two qualifying items appear in the basket. It costs nothing extra and uses default WooCommerce features, but customers must remember to add both items themselves.

Scripting custom theme hooks

Add lightweight PHP functions directly to your child theme’s code to adjust cart items without installing third-party plugins. This approach saves database requests and keeps the website fast, but it requires technical coding time and manual testing whenever WordPress updates core files.

Frequently asked questions

Can I run a BOGO deal using default WooCommerce coupons?

No. Standard WooCommerce coupons can take money off a cart, but they can’t automatically inject a new, free product into the checkout. You must use a dedicated pricing plugin or custom code to force the second item into the cart.

How do I stop customers from claiming multiple free items?

Set the “Usage limit per user” setting to 1 inside your pricing rule panel. You can also uncheck the “Repeat rule” box so the promotion triggers only once per transaction, regardless of how many paid items the customer purchases.

Does a BOGO offer affect my product shipping calculations?

Yes. If your store charges shipping based on weight, the added free item increases the total parcel weight. If you want the gift to ship free, tick the “Virtual” box on that product or configure a dedicated free-shipping class.

Why didn’t the free item show up in the cart during testing?

Your browser or site cache is likely serving an older version of the checkout page. Open an incognito browser window, add the item again, and ensure your site caching plugin excludes the checkout endpoints completely.

Can customers choose a different flavor or color for the free product?

Yes, if your pricing plugin supports “Buy Product X, Get Product Y”. You configure the deal to allow a selection from a specific category rather than duplicating the exact item the shopper clicked first.

Is it possible to hide the free item until checkout?

Yes. Many pricing extensions allow you to display the gift solely on the final review step. However, showing the free gift right inside the initial cart drawer usually lowers the number of abandoned carts.

Final Thoughts

Once your promotion is live, keep a close eye on your inventory levels to ensure you don’t run out of stock unexpectedly. You’ll find that customers love these deals, so don’t be afraid to experiment with different product pairings. It’s a great way to keep your shop growing throughout the year.