Hey there, we noticed you didn't complete your Advanced Coupons purchase.

We're excited to have you join the Advanced Coupons family! Complete your checkout now & save!
If you have any questions, please reach out to our support team!

How To Offer A WooCommerce Free Product With Purchase (Free Offer, Shipping, & More!)

How To Offer A WooCommerce Free Product With Purchase (Free Offer, Shipping, & More!)

Using WooCommerce coupon codes to offer a WooCommerce free product with purchase can be incredibly powerful for boosting your revenue.

A free offer gives customers things like:

  1. Free shipping
  2. Free products; or
  3. Bonuses/Gifts

The free offer might also be something that is given to the customer automatically. Or more commonly, activated with a coupon code.

In this article, we will cover:

  • WooCommerce free gift coupons – so you can give a free product with the purchase and how to use a coupon to add a free product to the cart
  • How to give a free product automatically based on cart conditions
  • WooCommerce free shipping – free shipping coupons and WooCommerce shipping coupons that discount shipping
  • How to grant automatic free shipping over an amount
  • Troubleshooting free shipping coupons that aren’t working
  • Video tutorials showing exactly how to create these free offer coupons in WooCommerce

WooCommerce Free Product With Purchase

WooCommerce gift coupons – using a coupon to give away a free product – can be a very effective way to incentivize your customers to make their purchases or purchase a bigger amount.

It can generate a huge amount of interest in your products and can be a fantastic incentive.

It’s also a low-cost way to get people interested in new and exciting products via product samples.

Reasons you might want to give away a free product with a coupon:

  1. A promotion or deal (satisfy some condition and get a free product, eg. orders over $50 get a freebie)
  2. As exposure for a new product
  3. Giving customers sample sizes of related products (great for upselling on their next order)
  4. Bundling of supporting products where you still want to sell those items separately

In WooCommerce, it’s traditionally been very hard to give away free products with a purchase based on the condition that they’re buying certain items.

Can you give away a free product using the default WooCommerce settings?

Actually, it’s pretty much impossible with just the default WooCommerce.

The reason is that the default coupons can only restrict the usage of the coupon. It doesn’t let you define additional actions to take after the coupon has been applied which is what you really need to pull this off.

The closest I figured that you can come with just the default WooCommerce features is to create a coupon that gives a 100% product discount and restrict it to so that it only applies if that particular product is in the cart.

But that is very inconvenient for the customer because they need to know which specific product and they need to add it to the cart themselves.

It also isn’t great for the store owner since they can’t also restrict it so that it only applies when a specific product is in the cart. Or whether the user is logged in/out, whether they’re a guest or not, or whether they’ve purchased a particular product in the past.

In short, it’s too restrictive to use in a real-life store scenario. So, what is the solution?

How To Offer A WooCommerce Free Product With Purchase

If WooCommerce can’t provide this feature natively, what is the solution?

It’s a tricky requirement, but our plugin Advanced Coupons for WooCommerce can handle this with its “Add Products” feature.

Add products with a coupon and optionally override or discount the price (click to zoom)

Advanced Coupons adds lots of extra features to your standard WooCommerce coupons, but there are three very important (and versatile) features in particular that we’ll be using in this guide today:

  1. Add Products – this feature lets you add a product to the customer’s shopping cart when a coupon is applied. You can also choose to override the price which is very important here.
  2. Auto Apply – this feature, as the name suggests, automatically applies the coupon to the customer’s shopping cart.
  3. Cart Conditions – this feature lets you determine when it should allow the coupon to be applied. Used in conjunction with the above two, it gets very powerful indeed.

I filmed a quick video screencast to show you exactly how to set up a coupon that not only gives away a free product to the customer but also lets you set it up to be auto-applied either on every order or only in some cases (by using Cart Conditions).

Subscribe to Advanced Coupons

Before we go through the setup, first make sure that your website has a WooCommerce-compatible theme. You may encounter a problem in the process when your theme is not compatible. Check the link to get some WordPress themes for online store that you can use.

Step 1: Set up your free product.

Using the “Add Products” feature is as simple as selecting what specific product to add, by searching for it by name, then defining how many of that item is given and whether you want to override the price.

But the first step is to create or select the product that you want to give when the coupon is applied.

In my example in the video, I just created a product titled “Free Product” and gave it an indicative price of $10.

WooCommerce Free Product With Purchase Step 1
Create a product (click to zoom)

Step 2: Create a coupon.

Next, I created a coupon in WooCommerce.

Create and save the coupon (click to zoom)

You’ll notice in the screenshot here there are probably a lot more tabs down the left-hand side of my interface than you might see in your WooCommerce interface. These extra tabs are added by Advanced Coupons for WooCommerce.

Step 3: Set up the “Add Products” settings.

Now the important bit, configuring which product to give when the coupon is applied and in what quantity and what price.

Hit the “Add Product +” to add a product to the table. Searching and selecting the product is easy, just search by name. Then set the quantity you want to give.

The price is where it gets interesting (and fun!)

You can choose from either leaving the price as is (ie. no discount), overriding the price to a specific amount, discounting the product’s price via a percentage amount, or discounting the product’s price by a fixed amount.

You can override the price to 0.00 or just discount, up to you. (click to zoom)

Give a free product automatically in WooCommerce

Having WooCommerce apply coupons automatically can be a great way to increase the uptake of your special deals and get more orders.

If you run a store, you’re probably aware that the easier you make your special deals to redeem for your customers, the better they will respond.

An automatically applied free product or gift offer means:

  1. Less friction
  2. Fewer support questions
  3. Surprise factor
  4. Less work for the customer

We have a full guide on how to have coupons apply automatically in WooCommerce here but it’s very simple to do in Advanced Coupons:

Step 4: Set to auto-apply.

All you need to do is set the checkbox on the right of the screen.

Auto apply product sample WooCommerce
Enable auto-apply feature (click to zoom)

A coupon that is auto-applied means that the system will check to see if the “Cart Conditions” has been satisfied. If you want to apply your free product to every single order, regardless of what they’re buying or what their cart subtotal is, then you can stop here.

The next section will show you how to create rules for when your coupon is allowed to auto-apply.

Additional restrictions you can apply when giving free products

Adding a free product is just the beginning.

Beyond that, you can also use the coupon for other things such as giving a further discount or applying restrictions to when they can use the coupon.

You can also do things like:

  1. Have the coupon automatically apply when it detects that it’s eligible
  2. Present the user with a notice when the coupon is eligible to be applied. Also, provide them with a 1-click button to apply it
  3. Restrict the usage of the coupon based on other factors such as their subtotal amount whether they have certain other products in the cart, or whether they have ordered something before.

This last point will be of great importance to you if you want to give away a product but only if they’re ordering something else specific.

In my example though, I’m going to show you how to apply the coupon only when the cart subtotal is over a certain amount. You might want to do this if you know that most of your products are $50 or less and you want to encourage people to order multiple items in one order.

In this case, you’d set your free product to be given only when they purchase over $50 worth at once.

Using Cart Conditions

Here’s how the cart conditions would look for that type of rule:

Cart Condition to test for cart subtotal more than $50 (click to zoom)

You can build up cart conditions with amazing flexibility because it works like a “rules engine”. Meaning you can group and daisy chain conditions and groups of conditions together. All of these things need to be true before that coupon (and therefore the free product) can be applied to the customer’s cart.

For example, adding an extra condition like testing the user role:

Cart Condition to test for cart subtotal of more than $50 AND that the customer is a Guest (click to zoom)

Or even this one where we allow usage in two distinct scenarios:

Cart Condition to test for “Guests with over $50 cart subtotal” OR “Registered Customers with over $25 cart subtotal” (click to zoom)

As you can see when you start chaining multiple conditions and condition groups together you can get some pretty powerful rules happening.

Examples Of Free Product Deals

The deals you can run with free products are limited only by your imagination.

Here are a few ideas that our customers are using in practice:

  1. Giving away a free product on a customer’s second order
  2. Give a free product when the customer’s cart subtotal reaches a certain amount (to encourage larger orders)
  3. Sample product giveaway when a customer buys a specific related product (great for getting them to experience a new product so you can upsell them on a full-size version on their next order)
  4. Giving free samples of new products for any wholesale order
  5. Promotion where a customer buys a high-priced item (eg. a laptop) and they get a free add-on item (eg. a portable mouse)
  6. Adding support products that are required to give away when the main product is purchased (but still having the support product available for straight purchase on the store as well, meaning inventory is tracked for the giveaway items too)… hint: use the auto-apply feature for this!

There are also product deals called BOGO deals (which stands for Buy One, Get One) and the “get” part of the deal could potentially be a free product.

See our full WooCommerce BOGO coupon guide for how to implement this.

How To Offer WooCommerce Free Shipping

So, you want to create a free shipping offer for your WooCommerce store?

In this section, I’ll show you how to create a simple free shipping offer using WooCommerce’s built-in coupon functionality. Then I’ll expand on that by showing how to do a free shipping coupon.

After that I’ll show you how to create an even more advanced version of a shipping coupon with functionality like scheduling your coupon to automatically run during certain dates, adding restrictions (like only offering free shipping for certain products), letting users apply the free shipping offer by clicking a button or URL, and a whole lot more.

Ready to go? Read on!

How To Create A Free Shipping Offer Using Native WooCommerce Functionality

For basic uses, you can create a free shipping offer using built-in WooCommerce functionality.

This method works in a pinch, but there are some limitations when it comes to scheduling your coupon, restricting access, and offering other features to incentivize shoppers to make a purchase.

In the next section, we’ll show you how the Advanced Coupons plugin can help you fix those limitations.

For now, though, here’s how to create a free shipping coupon in WooCommerce…

Step 1: Enable the free shipping method.

To get started, you need to create a shipping method for your free shipping discount.

To do that, go to WooCommerce → Settings. Then, click on the Shipping tab and edit the shipping zone for which you want to create your free shipping offer:

WooCommerce Free Shipping Coupon Edit shipping zone
Shipping zones (click to zoom)

Then, click the Add shipping method button:

WooCommerce Free Shipping Coupon Add New Shipping Method
Add shipping method (click to zoom)

In the popup, choose Free shipping from the drop-down and then click Add shipping method:

WooCommerce Free Shipping Coupon Choose free shipping
Free shipping (click to zoom)

Then, edit the new free shipping method that you just created:

WooCommerce Free Shipping Coupon Edit free shipping method
Edit shipping method (click to zoom)

In the pop-up interface, use the Free shipping requires… drop-down to select A valid free shipping coupon. Then, save your changes:

WooCommerce Free Shipping Coupon require free shipping coupon
Free shipping settings (click to zoom)

Step 2: Create a free shipping coupon.

Next, you’re ready to create the actual free shipping coupon that shoppers can use to take advantage of the free shipping method that you just created.

To do that, go to WooCommerce → Coupons and click Add coupon:

how to create a WooCommerce free shipping code
Add coupon (click to zoom)

In the next screen, enter the coupon code that you want to use at the top and then check the box for Allow free shipping:

WooCommerce Free Shipping Coupon Have coupon offer free shipping
Allow free shipping (click to zoom)

If desired, you can then use the Usage restriction and Usage limits tabs to restrict access and usage of your coupon. For example, you could only let shoppers use the coupon for orders of $50+.

Once you’re finished, click the Publish button to make your coupon live:

WooCommerce Free Shipping Coupon Usage restrictions
Set usage restriction (click to zoom)

Then, customers will be able to apply the coupon in their carts or during checkout:

Example of WooCommerce free shipping coupon
Example of WooCommerce free shipping coupon (click to zoom)

How To Create A More Advanced WooCommerce Shipping Coupon

Advanced Coupons is a WooCommerce plugin that lets you run more intelligent coupon campaigns.

While you can use it to create any type of coupon, it also works perfectly with free shipping coupons and will let you create some interesting types of offers.

Here are some of the things that you’ll be able to do with this plugin that you can’t do with the default WooCommerce coupon functionality:

  • Schedule start/end dates for your free shipping coupons. While the native functionality lets you set an expiry date, there’s no way to schedule a start date. With Advanced Coupons, you can set up time-sensitive campaigns to run automatically.
  • Automatically apply the free shipping coupon in shoppers’ carts based on a variety of conditions that you can choose.
  • Restrict coupons to certain user roles. For example, you could create a special free shipping coupon that’s only available to paying members at your site.
  • Show coupon notifications with a “click-to-apply” button. For example, you can display a notification when the user meets the conditions to use the free shipping coupon.
  • A whole lot more!

Advanced Coupons for WooCommerce adds functionality to the native WooCommerce coupon feature. So to get started, you’ll repeat the same steps that you saw above to create your basic free shipping coupon.

Only now, you’ll have a whole heap of new options in the regular WooCommerce coupons interface, contained in a bunch of new tabs on the side:

Coupon data
Coupon data (click to zoom)

Here are some of the things that you can do with these extra features in the context of a free shipping offer coupon.

1. Create a start/end date for your free shipping coupon.

To schedule your free shipping coupon to only run during certain dates, go to the Scheduler tab. There, you can enter a Coupon start date and Coupon expiry date. You can also customize the messages that appear if a shopper tries to use the coupon before or after it’s live:

WooCommerce scheduler
WooCommerce scheduler (click to zoom)

Below, you can see how the message appears when a user tries to enter the coupon before the deal starts:

Message when free shipping not active
Message when free shipping is not active (click to zoom)

2. Give shoppers a one-click apply button when they meet certain conditions.

If your free shipping coupon has restrictions, such as a minimum order amount, Advanced Coupon’s One-Click Apply Notification feature is a great way to give your shoppers a little extra motivation to finish their order once they qualify for the free shipping coupon.

Instead of forcing them to remember to apply the coupon, this feature will pop up a notification as soon as the customer meets the criteria. Then, the shopper just needs to click the link to automatically apply the coupon in their cart:

One-click apply free shipping button
One-click apply free shipping button (click to zoom)

To create your own notification, go to the One-Click Apply Notification tab. Then, check the box to enable the feature and enter the text you want to use for the button and message:

configure one-click apply functionality
One-click apply notifications (click to zoom)

3. Restrict free shipping coupons to certain user roles.

Want to limit who can take advantage of your free shipping coupon by user role? You could offer targeted free shipping coupons to:

  • Members at your membership site or online course
  • Vendors at your multi-vendor marketplace
  • Guests
  • Any other user role!

To enable this functionality, go to the Role Restrictions tab and check the box for Enable Role Restrictions.

Then, you’ll be able to choose exactly which roles can use this coupon, as well as enter an error message that displays to other user roles:

Enable role restrictions
Enable role restrictions (click to zoom)

4. Create a URL that applies free shipping when visited.

For another way to make it easy for shoppers to access your free shipping deal, you can use Advanced Coupons’ URL Coupons functionality.

With this feature, you can share a special URL that automatically applies the free shipping coupon when people visit it.

This is especially great if you’re promoting your free shipping deal on social media. All you do is share the link to your social followers and they’ll be able to take advantage of the deal right away.

To configure this feature, head to the URL Coupons tab. There, you can get the URL, as well as add a custom redirect and message. For example, you can automatically redirect people to their carts and give them a success message like this:

Cart subtotal
Cart subtotal (click to zoom)

5. Give free shipping automatically over a subtotal.

The last example I want to show you is how to give free shipping automatically when the customer has gone beyond a certain subtotal in their cart.

To do this you need the cart condition called “Cart Subtotal”:

Example of cart subtotal condition of MORE THAN $150 (click to zoom)

You will also need to specify the auto-apply to be enabled:

Auto apply product sample WooCommerce
Enable auto apply click to zoom

Now when the customer places more than $150 in their cart (or whatever amount you specify) they will receive their free shipping via this automatically added coupon. And when their subtotal drops below $150 the system is smart enough to remove the offer automatically as well.

6. Get creative with cart conditions.

We’ve highlighted a few specific situations above, but the powerful thing about Advanced Coupons is that it lets you create your unique situations using its Cart Conditions feature.

Here, you can add a variety of conditions to your free shipping offer, including:

  • Product quantities
  • Order subtotal or quantity
  • Customer logged in status
  • Customer user role
  • Within X hours of the last order or registration date
  • Whether the customer has ordered something specific before

You can mix and match these rules to create your own custom scenarios:

Cart condition (click to zoom)

For example, you could offer free shipping on certain products or certain quantities of products. Or, you could offer free shipping as a special loyalty perk for customers who reorder within a certain timeframe.

Troubleshooting: WooCommerce Free Shipping Coupon Not Working

WooCommerce Free Shipping Coupon Not Working

There are several potential causes for a free shipping coupon not to work. We’ll cover them one by one.

Potential Cause #1: No free shipping defined

If you want your free shipping coupon to actually work you need to make it possible to get free shipping. No free shipping enabled = no possible way for the system to grant you your free shipping.

Potential Cause #2: Coupon has been restricted

WooCommerce has coupon features that restrict the number of usages of the coupon. This will also apply to coupons that just grant free shipping.

You can restrict coupons based on the following:

  • Total use the coupon has had
  • Times a single customer has used it
  • Max number of items it can apply to
WooCommerce Coupon Not Working Usage Limits
WooCommerce coupon not working usage limits (click to zoom)

Firstly, ensure that the settings on your coupon are correct in the way you want them.

Next, make sure that your customer hasn’t hit one of those restrictions already. If they have that would explain why it’s not working.

Potential Cause #3: Coupon is in draft status

If the coupon is working for you as an Administrator or Store Manager user role, but not working for Customer roles or Guests then it’s likely the coupon is not in Published state.

The only way to change the status of a coupon is via the Publish box on the top right of the screen when you’re editing the coupon.

Check Coupon Is Published
Coupon is published (click to zoom)

Potential Cause #4: Plugin Conflict

If you’re confident that it’s not a configuration issue with the coupon itself, another plugin may be causing a code conflict.

This can be especially true in the case of a WooCommerce free shipping coupon not working because many plugins alter the way shipping works in the system.

In this case, it’s advisable to do a “general debug” which should help you isolate what is happening.

To do a general debug you should:

  1. Disable all other plugins except WooCommerce
  2. If possible switch to one of the default themes (like TwentyEighteen)
  3. Check to see if the issue is still present
  4. If the issue is no longer present, start re-enabling plugins one by one, testing in between for the problem
  5. Continue until you isolate which plugin or theme causes the malfunction

If you can eliminate the problem plugin, do so. Otherwise, it’s time to reach out to that plugin’s author. Ensure you give them all the evidence that points to their plugin being the cause.

When To Use Free Offers In WooCommerce

Whether you are giving a free product or a gift or even if you are giving free shipping to your customers, people always appreciate getting something for free. So, in this article, we shared 4 ways to offer a WooCommerce free product with purchase:

  1. Set up your free product.
  2. Create a coupon.
  3. Set up the “Add Products” settings.
  4. Set to auto-apply.

We also shared 2 steps to create a free shipping offer using native WooCommerce functionality:

  1. Enable the free shipping method.
  2. Create a free shipping coupon.

Finally, we shared 6 ways to create a more advanced WooCommerce shipping coupon:

  1. Create a start/end date for your free shipping coupon.
  2. Give shoppers a one-click apply button when they meet certain conditions.
  3. Restrict free shipping coupons to certain user roles.
  4. Create a URL that applies free shipping when visited.
  5. Give free shipping automatically over a subtotal.
  6. Get creative with cart conditions.

Do you have any questions about this article? Let us know in the comments!

author avatar
Josh Kohlbach CEO

46 thoughts on “How To Offer A WooCommerce Free Product With Purchase (Free Offer, Shipping, & More!)

  1. I would like to add a coupon when the customer buys 5 of one item, they will get one additional same item free. (I figured out how to do that). But now I want when that same coupon code is applied, when they add 10 of the item, they will get 2 additional of the same items for free. If they add 15 of the item, they will get 3 additional of the same items for free. How do I do that please?

    1. Hey Barbara, in the additional settings you can set the deal to be “repeating”, this will make ensure that it triggers each time it matches the trigger product quantities.

      Hope this helps!

  2. Please if you add that free product, is that product visible online or it is hidden? I wanna do buy 2 get one free, but that free product is not specific product. They will get whatever we will have on stock. So I do not know how to do that 🙁

    Let say buy 2 chocolates and you will get 1 free, but not the specific one. If I create product: FREE CHOCOLATE, will it be visible online like free chocolate to it will be visible just in ADMIN?
    Thank you,

    1. Hey Katarina,

      Feel free to contact our support for clarification but personally what I would do is add a product to the store called “Mystery Product” (or something like this) and use that in the BOGO.

      Hope this gives you some ideas!

  3. Hello,
    I am trying to set up a way to have a customer be notified of a matching pair of earrings, when they put a certain necklace in their cart; and vice versa.
    AND if they buy both (the matching set), then both items are discounted by 20%.
    How do I do that, please?

  4. I would like to add a free product selection. E.G. customers goes to cart or checkout and can select one free product out of a selection. How can I do that?

    1. Hi Max, you’d be looking at a BOGO coupon for this. Select Combination of Products as the Apply type and set up a page with those products on it (hint: you can use the product block in Gutenburg) and then link the BOGO message to that page.

  5. There’s some great info in this post. I’m looking forward to discussing some of these options with my clients to help them grow their e-com stores. Cheers!

  6. Have just discovered this plugin today! Very excited about the multicurrency options! Love the cart conditions too. Well done guys 👍

  7. Hi,
    I want to add free product matching the attribute of the product in the cart (e.g., add a free black t-shirt if the user has bought a black shoe). Is this possible? If so, can you post a demo video?

  8. Hi!
    I noticed when I put certain cart restrictions for the BOGO deal (for example orders above 50 $), the customers can still remove certain products from the cart later (so the cart restrictions aren’t met anymore), but the BOGO deal still remains in the cart. They get a notice that they can’t use the coupon anymore, but the BOGO deal doesn’t disappear… Do you have any advice on how I could fix this?
    Thank you!

    1. Hey Jasmina, do you have a Cart Condition which matches the BOGO? The coupon will only remove if the Cart Conditions of the coupon are not matched anymore. It doesn’t check the Get rule of the BOGO. Some stores actually deliberately leave off the Cart Conditions and like having the BOGO coupon apply even though the BOGO Get rules aren’t matched yet so we have to cater both.

      Feel free to reach out to support if you need help configuring your deal 🙂

      1. Hi! Thank you for your quck answer ❤️
        Yes, I have the correct cart condition, the coupon is not applied, but the free product remains in the cart…
        Thank you, I will contact you for more support 😊

  9. Hi there, Great Plugin!

    Can I offer free shipping on quantities that are a certain price.
    For Example: When they click Any product worth $10 or more – buy 2 and get free shipping?
    and will this appear on the front-end product page, not just checkout?


    1. Hey Raymond, you could probably do this with Cart Conditions feature by checking the cart subtotal or using the product quantities in cart feature. For the Buy 2 get free type deals we recommend you use WooCommerce BOGO deals which is available in both the free and premium plugin (for more advanced BOGO options)

  10. Wow – too much info for my little brain but maybe this is an instance where you learn by doing rather than by reading

  11. Creating a free shipping coupon in WooCommerce enhances the customer experience. Advanced Coupons offers valuable features for scheduling, user roles, and creative marketing. Free offers in WooCommerce are a smart way to build customer loyalty and improve the shopping experience.

  12. Hi Barbara, follow these steps using the Advanced Coupons for WooCommerce plugin:
    Install and Activate Plugin:
    Go to Plugins > Add New in your WordPress dashboard.
    Search for Advanced Coupons for WooCommerce.
    Install and activate the plugin.
    Create a Coupon:
    Navigate to WooCommerce > Coupons.
    Click Add Coupon and enter a coupon code (e.g., BUY5GET1FREE).
    Configure Coupon Settings:
    Under the General tab, set Discount Type to Fixed Cart Discount and Coupon Amount to 0.
    Set Up Free Product Offer:
    Go to the Bogo (Buy One Get One) Deals tab.
    Add a BOGO rule:
    Buy Quantity: 5
    Get Quantity: 1
    Repeat the rule for:
    Buy Quantity: 10, Get Quantity: 2
    Buy Quantity: 15, Get Quantity: 3
    Publish the Coupon:
    Click Publish to activate the coupon.
    Now, when customers apply the coupon and purchase multiples of five items, they will automatically receive the corresponding free items.
    Hope this helps

Leave a Reply

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