How To Specify Free Shipping On Certain Product Woocommerce

How to Offer Free Shipping on Specific Products in WooCommerce (Boost Sales & Conversions!)

Offering free shipping is a powerful way to attract customers and increase sales. But sometimes, offering free shipping across the board isn’t feasible. Maybe you have heavy items, or your profit margins are tight on certain products. That’s where the ability to specify free shipping on *certain* WooCommerce products comes in handy. This guide will walk you through different methods, catering to both technical and non-technical users, so you can offer targeted free shipping promotions and boost conversions.

Why Offer Free Shipping on Select Products?

Think about it. Have you ever added an item to your cart, gotten to the checkout, and then balked at the shipping costs? High shipping costs are a major cause of cart abandonment. Offering free shipping on *specific* products can:

    • Increase Sales: A product with “FREE SHIPPING” clearly displayed is immediately more appealing.
    • Promote Specific Items: Clear out older inventory or push newer product launches by highlighting their free shipping offer. For example, you might offer free shipping on your new line of eco-friendly cleaning supplies to encourage customers to try them.
    • Improve Average Order Value (AOV): Use it as an incentive! Offer free shipping on a specific product only when paired with another (non-free shipping) product.
    • Compete More Effectively: If your competitors are offering free shipping on similar items, you’ll need to match or beat that offer to stay competitive. Imagine you’re selling handcrafted jewelry. Your competitor offers free shipping on their silver necklaces. You can match that and even *exceed* it by offering free shipping on your entire silver *collection*.
    • Reduce Cart Abandonment: As mentioned earlier, surprise shipping costs are a huge turn-off. Free shipping reduces that friction at checkout.

    Method 1: Using WooCommerce’s Built-in Features (Simple Products)

    For simple products (products without variations), the easiest method is to use WooCommerce’s built-in “Shipping Class” functionality, coupled with a “Free Shipping” shipping zone.

    Here’s how:

    1. Create a Shipping Class:

    • Go to WooCommerce > Settings > Shipping > Shipping Classes.
    • Enter a name for your shipping class, like “Free Shipping Products” or “Promo Shipping”. The “Slug” field is automatically generated but can be customized.
    • Click Save Shipping Classes.

    2. Assign the Shipping Class to Your Target Product(s):

    • Go to Products > All Products and edit the product you want to offer free shipping on.
    • Scroll down to the Shipping tab in the Product Data meta box.
    • In the Shipping Class dropdown, select the shipping class you created (e.g., “Free Shipping Products”).
    • Click Update.

    3. Create a Free Shipping Shipping Zone:

    • Go to WooCommerce > Settings > Shipping > Add shipping zone.
    • Give your shipping zone a name (e.g., “Free Shipping Zone”).
    • Select the specific regions or countries where you want to offer free shipping (e.g., United States). This is VERY important! Don’t leave it blank unless you intend to offer free shipping globally on these products.
    • Click Add shipping method within that zone.
    • Choose Free shipping and click Add shipping method.
    • Edit the Free shipping shipping method you just added.
    • In the “Free Shipping Requires…” dropdown, choose “A valid free shipping coupon” (more on this in a moment) or “A minimum order amount” or “A minimum order amount OR a coupon” and set the minimum order amount to 0 (zero). MOST IMPORTANTLY: In the “This rule only applies to Shipping classes” option select your created “Free Shipping Products” class. This tells WooCommerce that this free shipping method applies only if products with that class are in the cart.

    4. (Optional but Recommended): Create a Coupon for Free Shipping

    While you can set the minimum order amount to 0, this means that *any* product with the “Free Shipping Products” shipping class will automatically qualify for free shipping, regardless of what else is in the cart. A coupon offers more control.

    • Go to WooCommerce > Coupons > Add New.
    • Give your coupon a name (e.g., “FREESHIPPINGPRODUCT”).
    • In the General tab, select the “Allow free shipping” checkbox. Leave the “Coupon amount” at 0.
    • In the Usage Restriction tab, consider limiting the coupon to individual use to prevent stacking with other coupons. This is dependent on your business rules.
    • Crucially, in the “Shipping classes” option, select your created Shipping Class. This links the coupon directly to the shipping class, ensuring that free shipping is only applied when a product with that shipping class is in the cart *and* the coupon is used.
    • Click Publish.

    Example: You sell coffee mugs and t-shirts. You want to offer free shipping on your “Funny Coffee Mugs” line.

    1. Create a shipping class called “FreeMugs”.

    2. Assign that shipping class to all the “Funny Coffee Mugs” products.

    3. Create a shipping zone, let’s say for “United States Only” (you only want to offer this promotion in the US).

    4. Add a “Free shipping” method to the “United States Only” zone, and select “A minimum order amount” and set it to $0.

    5. And most important step: in the “This rule only applies to Shipping classes” option select your created “FreeMugs” class.

    Now, whenever a customer adds a “Funny Coffee Mug” to their cart (and ships to the US), they’ll get free shipping! If the customer buys only t-shirts, they will not get free shipping.

    Method 2: Using a Plugin (For Variable Products and More Complex Scenarios)

    While the built-in method works well for simple products, you might need a plugin for more complex scenarios, such as:

    • Variable Products: Offering free shipping on only *specific* variations of a product.
    • Advanced Conditional Logic: Offering free shipping only when certain products are purchased together, or when the cart total reaches a certain threshold *and* includes a specific product.
    • Easier Management: Some plugins offer a more user-friendly interface for managing free shipping rules across multiple products.

    Several WooCommerce plugins can help with this. Popular options include:

    • Advanced Coupons: Offers more advanced coupon features, including the ability to trigger free shipping based on specific products in the cart.
    • WooCommerce Table Rate Shipping: (Can be used, albeit is more of a roundabout way) Can be configured to offer a flat rate of $0 for shipping based on the products in the cart.

    Example using Advanced Coupons:

    Let’s say you want to offer free shipping on *only* the “Large” size of your “Eco-Friendly Water Bottle” (which is a variable product).

    1. Install and activate Advanced Coupons.

    2. Go to WooCommerce > Coupons > Add New.

    3. Give your coupon a name (e.g., “FREESHIPPINGWATERBOTTLE”).

    4. In the General tab, select the “Allow free shipping” checkbox.

    5. In the Conditions tab:

    • Add a condition: Product Variation.
    • Select your “Eco-Friendly Water Bottle” product.
    • Specify the “Large” variation.

    Now, the coupon “FREESHIPPINGWATERBOTTLE” will *only* apply free shipping if the cart contains the “Large” variation of the “Eco-Friendly Water Bottle”.

    Important Considerations for Plugins:

    • Reviews & Ratings: Check the reviews and ratings of the plugin before installing.
    • Compatibility: Ensure the plugin is compatible with your version of WooCommerce and any other plugins you’re using.
    • Documentation: Look for plugins with comprehensive documentation.
    • Support: Choose a plugin with responsive developer support in case you run into issues.

    Method 3: Custom Code (For Advanced Users)

    If you’re comfortable with PHP, you can use custom code to achieve highly specific free shipping rules. This is the most flexible option but requires coding knowledge.

    Example: The following code snippet hooks into the `woocommerce_package_rates` filter to set the shipping cost to zero if a specific product ID (e.g., `123`) is in the cart.

     /** 
  • Apply free shipping to a specific product.
  • * @param array $rates Array of available shipping rates.
  • @return array Modified array of shipping rates.
  • */ function my_custom_free_shipping( $rates, $package ) {

    $product_id_to_free_shipping = 123; // Replace with your product ID

    $has_free_shipping_product = false;

    foreach ( $package[‘contents’] as $cart_item ) {

    if ( $cart_item[‘product_id’] == $product_id_to_free_shipping ) {

    $has_free_shipping_product = true;

    break;

    }

    }

    if ( $has_free_shipping_product ) {

    $free_shipping = array();

    foreach ( $rates as $rate_id => $rate ) {

    if ( ‘free_shipping’ === $rate->method_id ) {

    $free_shipping[ $rate_id ] = $rate;

    break;

    }

    }

    if ( ! empty( $free_shipping ) ) {

    return $free_shipping;

    } else {

    unset($rates);

    }

    return $rates;

    }

    return $rates;

    }

    add_filter( ‘woocommerce_package_rates’, ‘my_custom_free_shipping’, 10, 2 );

    How to use this code:

    1. Important: Back Read more about How To Charge Two Different Taxes In Woocommerce up your website! Custom code can cause issues if implemented incorrectly.

    2. Add the code to your theme’s `functions.php` file (child theme recommended!) or use a code snippets plugin. Code snippets plugins are generally safer for beginners.

    3. Replace `123` with the actual product ID of the product you want to offer free shipping on. You can find the product ID on the product edit screen in your WooCommerce dashboard.

    Explanation:

    • The code loops through the items in the cart.
    • It checks if any of the cart items have the specified product ID.
    • If the specified product is in the cart, it checks if the free shipping method available and returns the shipping methods or unset rates.

Important Note: Always test custom code thoroughly in a staging environment before deploying it to your live website. Consider consulting with a developer if you’re not comfortable working with code.

Conclusion

Offering free shipping on select products is a smart strategy for boosting sales and improving the customer experience in your WooCommerce store. By understanding the different methods available – from built-in shipping classes to plugins and custom code – you can tailor your free shipping offers to maximize their impact and profitability. Remember to always test your configurations thoroughly to ensure they are working as expected! Good luck!

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

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