The Force Sells extension allows you to link products together, so they are added to the cart together. This is useful for linking a service or required product to another.

Plugin Version: 2.0.6
 
WordPress plugin Woocommerce Force Sells

Plugin Features

The plugin offers advanced functionality by allowing you to link specific products together, encouraging cross-selling and increasing overall sales. By establishing mandatory product relationships, it enables you to promote related items effectively. This feature ensures that when customers add one product to their cart, they are prompted to consider purchasing complementary items, enhancing the shopping experience and boosting your revenue.

It seamlessly integrates with WooCommerce, the leading e-commerce platform for WordPress, making it a valuable addition to any online store. Through its user-friendly interface, you can easily set up forced product relationships and customize the prompts displayed to customers. This flexibility empowers you to tailor the cross-selling strategy to align with your business goals and customer preferences, ultimately driving more conversions and maximizing order value.

The intuitive design of the plugin streamlines the management of related products, saving you time and effort in organizing your store. Its automation of cross-selling processes ensures that customers are presented with relevant suggestions, increasing the likelihood of them making additional purchases. This targeted approach not only enhances the customer shopping experience but also contributes to building customer loyalty and satisfaction with your brand.

Moreover, Woocommerce Force Sells compatibility with various WooCommerce themes and extensions enhances its versatility and functionality. Whether you are operating a small boutique or a large online store, it offers scalability and adaptability to meet your evolving business needs. By leveraging the power of forced product relationships, you can drive incremental sales, promote new products, and encourage repeat purchases, ultimately boosting your overall e-commerce success.

Specifications:

Release date: 11-10-2020
Last updated: 07-10-2026
Type: Paid
License: GPL 
Subject: e-Commerce for WooCommerce
Compatibility: W5.x W6.x
Includes: Plugin
Language packs: English
Developer: WooCommerce Plugins

Rating:
4.444976076555 1 1 1 1 1 (209 Votes)

Download by subscription!

You need to log in on the site and purchase a club subscription!

Share with your friends!

 

How to Set Up Woocommerce Force Sells for Mandatory Items in WooCommerce

Woocommerce Force Sells is not for a standard "buy more" recommendation. It is meant for cases where the main product must be ordered together with another product, service, fee, or required component. In this guide, we will walk through how to prepare your catalog, where to find the plugin fields in the product editor, how a standard link differs from a synced one, how to test the cart and order, and which issues most often prevent related items from being added correctly.

This article is written for store owners, WooCommerce admins, and developers who need to configure mandatory add-ons without rewriting cart logic. We will not repeat the short product description at the top of the page. Instead, we will follow a practical workflow: from choosing a product pair to confirming that the customer sees a clear cart and the store manager receives an order with separate line items for accounting.

The plugin is especially useful when the related item keeps its own price and must remain a separate order line: a repair part attached to a service, required packaging for a consumable, course materials added to training, a service fee, a starter kit, or a separate line item for bookkeeping. If the relationship needs to be flexible, optional, gift-based, or assembled by the customer, you will find a comparison with similar solutions at the end.

Cover image for the Woocommerce Force Sells guide with an example of a mandatory item in the cart
The cover illustrates the core idea: the admin links a main product to a required item, and the customer gets a clear cart without having to manually find the needed add-on.

What Problem Forced Selling Solves

WooCommerce already includes similar mechanisms: upsells, cross-sells, grouped products, bundles, product add-ons, and recommendations. Problems start when a required item is handled like a simple recommendation. The customer may miss an important product, remove it from the cart, choose the wrong quantity, or buy a service without the part that makes the service possible.

Woocommerce Force Sells solves the problem of mandatory product linking: when the customer adds the main product, the related item is automatically added to the cart as well. According to the official documentation, the setting is in the product editor under Product Data, on the Linked Products tab. That is where you will see the fields for the two relationship types: Force Sells and Synced Force Sells.

For the store, this delivers two practical benefits. First, the required item does not get lost during checkout. Second, the related product remains a standalone WooCommerce product: it can have its own price, SKU, inventory tracking, tax logic, and order line. That matters when the store needs to track a service and a part separately, a product and its required packaging, a course and its materials, or a main item and a service fee.

When This Logic Actually Makes Sense

This setup is a good fit when the extra item is not just a nice recommendation, but part of fulfilling the order. For example, a repair shop sells a screen replacement service and must add the actual screen as a product. A training center sells a course seat and attaches a materials pack. A pet supply store sells an aquarium and adds a starter kit so the customer does not end up with an incomplete setup.

Another strong use case is accounting and reporting. One product review mentioned that the plugin helped sell related items together while still tracking them separately. That is not a promise that the plugin will solve every accounting scenario, but the separate order line model is a good fit when a "bundle" cannot be reduced to a single combined price.

When the Plugin May Be Unnecessary

If the add-on is optional, it is better not to make customers remove it from the cart. For gift wrapping, engraving, card text, or choosing a service size, a product add-on is usually a better fit. For a package the customer builds from several options, Product Bundles or Composite Products make more sense. For a visual "customers also buy" recommendation, a recommendation block or cross-sells are the more logical choice.

Quick reality check: if the order cannot be fulfilled correctly without the extra item, use forced selling. If the customer needs to choose, agree, or compare options, do not make the relationship mandatory without a strong business reason.

Two Relationship Modes: Standard and Synced

The main Woocommerce Force Sells setting is the choice between a standard forced sell and a synced one. Both modes add the related product together with the main product, but they behave differently in the cart. This choice affects not just customer convenience, but also order lines, refunds, inventory handling, and support workflows.

Comparison of Force Sells and Synced Force Sells modes in WooCommerce
This comparison helps you choose the right mode: a standard relationship leaves more control to the customer, while a synced relationship keeps the required item tied to the main product.

Standard Relationship Force Sells

In the standard mode, the related product is added to the cart together with the main product, and its quantity matches the quantity of the main item. At the same time, the customer can remove the related item or change its quantity. This mode is useful when the store wants to strongly nudge the customer toward the right add-on, but does not need to block an independent decision.

Example: the customer adds a bicycle wheel, and the store automatically adds installation. If the customer is buying the wheel as a replacement part for a DIY repair, you may want to let them remove the service. In that scenario, the standard mode reduces the risk of forgetting the service without turning it into a hard purchase requirement.

Synced Relationship Synced Force Sells

The synced mode is stricter. The related product cannot be removed separately from the cart or edited independently for quantity. If the quantity of the main product changes, the quantity of the related item changes with it. If the main product is removed, the related item disappears as well. In the cart, the item is marked as linked so the customer understands why it does not behave like a separate purchase.

This mode is meant for required parts, fees, and services that must stay attached to the order. For example, if every unit of the main product must include one required component, syncing protects the store from incomplete orders. It is also easier for support: fewer manual corrections, fewer post-payment emails, and fewer situations where "the customer did not realize they needed one more item."

How to Choose the Right Mode Without Mistakes

Do not choose the mode by name alone. Choose it based on what should happen in the cart. Compare who should control the related item: the customer or the store.

Practical Mode Selection
Situation Best Fit Why
The service or product is helpful, but the customer may opt out. Force Sells The item is added automatically but remains manageable in the cart.
The add-on is required to fulfill the order. Synced Force Sells The customer cannot separate the related item from the main product.
You need separate order lines for accounting. Both modes, usually synced The related product stays a separate line item, and the mode depends on whether it can be removed.
The customer must choose a version, quantity, or bundle composition. Not Force Sells It is better to use bundles, a configurator, or product add-ons.

The short version is simple: standard mode works for aggressive adding, synced mode works for mandatory business logic. If you are unsure, set up a test product in both modes and walk through the cart as a customer. That will reveal usability issues faster than debating the setting names.

Who the Plugin Is For, and When Another Approach Is Better

The plugin is designed for stores where the product relationship is known before the purchase happens. The admin decides in advance which product must accompany the main one. The customer is not building a bundle, choosing from a dozen options, or going through a complex product wizard. They simply add a product, and WooCommerce receives the correct cart composition.

Stores and Teams That Are a Good Fit

Woocommerce Force Sells works especially well for small and mid-sized stores where the catalog is managed by one admin or a team of content managers. The setup lives in the product editor, so there is no need to create a separate product type or design a complicated configurator. That is useful when you need to quickly link dozens of main products to required items while keeping each relationship simple.

  • Service-based stores where a service requires a part, material, or separate consumable.
  • Stores with required packaging, containers, starter kits, or deposit items.
  • Digital products where a subscription or access purchase also needs a separate one-time service.
  • Courses and events where registration should automatically include learning materials.
  • Catalogs where accounting needs to see the main item and the required add-on as separate lines.

Cases Where You Should Pause

The plugin may not be the right fit if the relationship depends on the shipping country, a selected variation, the user role, a coupon, or a complex cart rule. Public feature requests for the product include requests for different related products per variation and for enabling forced selling only for a specific shipping country. That is a useful signal: those scenarios should not be treated as built-in, confirmed features without checking the documentation or support.

The plugin is also not a good substitute for product personalization. If the customer needs to enter text, choose gift wrapping, upload a file, or select a service from a list, Product Add-Ons is the more logical option. If you need to build a package from multiple components with rules and options, Force Sells will be too limited.

What to Check Before Installing It on a Live Store

Forced selling affects the cart and the order, so installing the plugin directly on a live store without testing is risky. Even if the extension has passed marketplace review, its real behavior still depends on your theme, checkout flow, payment method, cache, related products, and inventory settings.

Compatibility and Environment

The WooCommerce Marketplace listing shows the minimum requirements for WordPress, WooCommerce, and PHP, along with compatibility markers and quality checks. Do not copy those numbers into your own internal documentation as if they were permanent rules. Always review the current product page before installation. For this guide, the key principle is more important: compare the extension requirements to your current site environment first, then test the cart.

Check these points before installing:

  • Your WordPress and WooCommerce versions match the requirements on the product page.
  • Your server PHP version meets the extension requirements.
  • Cart and Checkout Blocks are enabled or disabled intentionally, not by accident.
  • Your theme does not override the cart in a way that hides linked items or system notices.
  • Your payment methods still work correctly when the cart contains multiple order lines.
  • Cache is not applied to the cart page, checkout page, or mini-cart fragments.

The Catalog and the Products You Plan to Link

Before configuring relationships, prepare the products themselves. The related item should have a clear price, published status, inventory availability, and tax logic. If the product is hidden from the catalog, that is not always a problem. Many stores do not want to show a required service item as a standalone product. But hiding it from the catalog should not interfere with purchase behavior if the product is added to the cart programmatically.

Pay special attention to price. In one product review, a user described an issue with part of the synced items not being added, and support traced the cause not to the plugin, but to the product price. That is not a universal rule, but it is a strong diagnostic clue: if a related item is not being added, do not check only the linking field. Also verify that the product itself is fundamentally purchasable.

Safe preparation step: create a test pair of products, complete a purchase using a normal cart setup, and then repeat the same flow with the forced relationship enabled. That helps you separate a catalog issue from a forced selling issue.

Backup and Staging

The official WordPress documentation recommends creating a backup before updating plugins. That matters even more for an extension that changes cart behavior. The minimum safe approach is a staging copy of the site, or at least a temporary product hidden from customers, plus a test payment and order verification in the admin panel.

If your store does not have a staging environment, start with one low-risk product and test during off-peak hours. Do not enable dozens of relationships at once. If something goes wrong, it will be harder to identify which product pair is causing the issue.

Installing the Extension and Running an Initial Check

The plugin installation process is standard for WordPress: upload the ZIP file through Plugins > Add New, click Upload Plugin, then Install Now and Activate. We are not covering purchase, licensing, or how to obtain the paid version here. This guide is about configuring an extension you already have.

Installation Steps

  1. Open the WordPress admin panel and go to Plugins > Add New.
  2. Click Upload Plugin and select the extension ZIP file.
  3. Click Install Now, wait for the installation to finish, and activate the plugin with Activate.
  4. Open any WooCommerce test product and check whether the required area appears on the Linked Products tab.
  5. Save the product without a relationship and confirm that the store's normal cart still behaves as expected.

After activation, do not go looking for a large standalone settings page if your version does not include one. The plugin's main working logic lives in the product editor. That is convenient, but it creates an important rule: admins who edit products need to understand the difference between upsells, cross-sells, and forced relationships. Otherwise, it is easy to accidentally add a mandatory item where only a recommendation belongs.

Initial Post-Activation Check

Before configuring the real catalog, open the product page on the storefront and add the product to the cart without any related items. Then enable one test relationship and repeat the action. If the cart already behaves strangely right after activation, even without relationships, the cause is probably not a specific product setup. Look instead for an extension conflict, a theme issue, or a checkout-related incompatibility.

Check more than just the cart page. Review the mini-cart, cart block, checkout, order emails, and the order screen in the admin panel. The plugin should be invisible where no relationships exist, and predictable where a relationship is enabled.

Detailed Setup in the Product Editor

Woocommerce Force Sells is configured at the level of the main product. That is the product the customer adds first, and it is the one to which you attach mandatory items. Be careful not to reverse the relationship: if a screen is added to a repair service, you should edit the repair service, not the screen.

Path to the Woocommerce Force Sells settings in the WooCommerce product editor
This interface diagram shows the path from the product editor to the Force Sells and Synced Force Sells fields on the Linked Products tab.

Where to Find the Relationship Fields

Open the product in the admin panel and find the Product Data box. On the Linked Products tab, WooCommerce normally shows the related fields for upsells and cross-sells. After activating the extension, the Force Sells and Synced Force Sells fields are added there. Start typing the name of the product that should be added with the main item, then select it from the matching results.

If the fields are not visible, check that the plugin is active, that you are editing a supported WooCommerce product rather than another post type, and that the user has permission to edit products. In some cases, interface settings, custom editors, or third-party field management plugins hide tabs or metaboxes depending on the admin role.

Setting Up a Standard Relationship

For a standard forced sell, add the product to the Force Sells field. After saving, open the public product page for the main item, add it to the cart, and check whether the related product appears. Then try changing the quantity of the related item or removing it. In standard mode, that behavior is allowed, so it is not considered an error.

A common use case for a standard relationship is an extra service or item the store recommends very strongly, but does not need to force into the order. If support often gets the question "why was this added?", improve the name and description of the related product. The customer should understand what was added instead of seeing a vague internal service item.

Setting Up a Synced Relationship

For a mandatory item, use the Synced Force Sells field. After saving, confirm that the related product is added to the cart, that its quantity follows the main product, and that separate removal or quantity editing is not available. The documentation explicitly notes that the synced product follows the main product when quantity changes or the main product is removed.

This mode should only be enabled where the business logic truly requires a hard relationship. If the customer can buy the main product without the add-on, strict syncing will feel like a forced purchase. For transparency, it helps to add a short explanation to the main product description stating what will be added and why.

What to Check After Saving

After every new relationship, walk through the full customer journey. Do not stop at the fact that the field saved in the admin panel. A practical check should include:

  • Adding the main product from its product page.
  • Reviewing the cart: product name, price, quantity, and the linked-item marker.
  • Changing the main product quantity and watching what happens to the related item.
  • Trying to remove the related item if the mode is synced.
  • Proceeding to checkout and verifying the final total.
  • Creating a test order and checking the order lines in the admin panel.

If the result is not what you want, the rollback is simple: open the main product, remove the related item from the Force Sells or Synced Force Sells field, save the product, and clear the cart page cache if the site uses caching tools. Do not delete the related product itself right away. It may already be used in other orders, reports, or relationships.

How the Cart, Quantities, and Separate Order Lines Work

To use the plugin confidently, it helps to understand that it does not merge multiple products into one new product. It adds related products to the cart alongside the main product. As a result, the final cart and order contain multiple lines. For the customer, that can feel helpful or unexpected. For the store, it is useful for accounting, inventory, and reporting.

Related Item Quantity

In both modes, the related item is added with a quantity that matches the main product. If the customer adds two units of the main product, the related item is also added with a quantity of two. In synced mode, later changes to the quantity of the main product continue to control the related item. In standard mode, the customer can adjust the related line separately.

This behavior matters for products where the required item should be added once per order rather than once per unit. The official documentation provides examples using the wc_force_sell_add_to_cart_product and wc_force_sell_update_quantity filters to force the related product quantity to one. That is a developer-level customization, so it should be applied carefully.

Independent Price and Taxes

The related product keeps its own price. That is what sets Force Sells apart from solutions where extra products are treated as free inclusions or hidden bundle components. If the main product has one price and the related item has another, the customer pays for both lines. On the admin side, this creates a clearer order: the manager sees that the purchase included not just a "bundle," but a specific service and a specific product.

Before launch, review tax classes and shipping. If the related product is physical, it may affect weight, shipping, and inventory. If it is a virtual service or fee, configure it as a virtual product so the store does not request unnecessary shipping details. This is standard WooCommerce logic, but forced relationships tend to expose these mistakes quickly.

Inventory and Status of the Related Product

The plugin should not be used as a way to sell a product that is not actually ready to be purchased. If the related item is unpublished, missing a price, out of stock, or blocked by purchase settings, the cart may not behave the way you expect. That is why each related item should be tested as an ordinary product: open its product page, check the price, availability, product type, and purchase restrictions.

For stores with large catalogs, it helps to maintain an internal relationship table: main product, related product, mode, reason for the relationship, who approved it, and the verification date in your internal system. There is no need to include dates in the article itself, but for the operational team, that table reduces the risk of forgotten mandatory items.

Practical Scenario: Repair Service and a Required Part

Let us look at a real-world scenario that reflects the plugin's purpose well. The store sells a service called "Tablet Glass Replacement." To perform the service, the product "Tablet Glass" is always required. The store needs to make sure the customer cannot buy the service without the part, while the manager still sees two separate order lines: one for the service and one for the part.

Practical example of configuring a required part with Woocommerce Force Sells
This practical visual shows the chain clearly: the main service in the admin panel, the synced part, the customer cart, and the final order line check.

Scenario Goal

The goal is to create a cart where adding the service automatically adds the required part. The customer should not be able to remove the part separately, because the order cannot be fulfilled without it. The part quantity should follow the service quantity. In the order, both items should remain separate.

Preparing the Products

First, create or verify two products:

  • Main product: the repair service, for example "Tablet Glass Replacement." If shipping is not needed, this product can be set up as virtual.
  • Related product: the part or consumable, for example "Tablet Glass." The product should have a price, published status, and correct inventory status.
  • Explanation in the main product description: the customer should understand that the part is added automatically because the service cannot be completed without it.

Before enabling the relationship, add each product to the cart separately if that fits your business model. That will help you confirm that the issue is not in the product's basic configuration.

Setup Steps

  1. Open the main product in the WordPress admin panel.
  2. Go to Product Data > Linked Products.
  3. In the Synced Force Sells field, start typing the part name and select the correct product.
  4. Save the main product with Update.
  5. Open the main product page as a customer and click Add to cart.
  6. Go to the cart and confirm that the service and the part appear together.

Expected Result

The cart should contain two lines. The main service remains its own line, while the part is added automatically and visibly linked to the main purchase. When the service quantity changes, the part quantity should change with it. When the service is removed, the part should disappear as well.

A Common Point of Confusion

If the customer sees two prices, that is not necessarily a mistake. Force Sells preserves the price of the related product. If the part is supposed to be included in the service price and should not raise the total separately, you need to rethink the catalog model: the related product may need different pricing, a different bundle type, or a separate solution for fixed packages. Do not hide the economics of the order behind a technical relationship if that will confuse the customer.

How to Verify the Result on the Site and in the Order

Verifying the result matters more than simply seeing the saved setting. The field in the admin panel may be filled out correctly, yet the customer-facing cart can still be confusing: the theme may hide the linked-item marker, the cache may show an old mini-cart, the payment method may conflict with multiple line items, and the manager may not understand why the order contains several products.

Checking the cart and order after configuring Force Sells in WooCommerce
This verification diagram connects the admin action to the public cart, checkout, and the final order lines in the admin panel.

Front-End Check

Open the site as a regular customer, ideally in a separate browser or a window where you are not logged in as an admin. Add the main product to the cart and confirm that the related item appears immediately. Then test several actions:

  • Update the quantity of the main product in the cart.
  • Check whether the related product quantity changes as expected.
  • Try removing the related item in both standard and synced mode.
  • Open the mini-cart if your theme uses one.
  • Proceed to checkout and verify the final total.

If your site uses the block-based cart, keep the general Cart and Checkout Blocks behavior in mind. WooCommerce marks extension compatibility on product pages, but the actual front-end appearance may still depend on the theme and custom blocks. If the cart behavior differs from what you expect, temporarily compare it with the classic cart on a staging copy or disable the theme customizations.

Order Check in the Admin Panel

Create a test order and open it in the WooCommerce admin panel. The order should clearly show both the main item and the related product. Check the price, quantity, taxes, shipping, discounts, and inventory deduction. If the related item matters for accounting, confirm that your order export, warehouse integration, or bookkeeping export sees it as a separate line.

Not every external service reads order composition in the same way. If you have an integration with shipping, inventory, POS, or accounting software, run a test specifically through that integration. The plugin creates the order lines inside WooCommerce, but downstream processing depends on how the third-party service reads the order.

Checking Customer Messaging

Synced products in the cart should be easy to understand. If the customer sees a related item but does not understand why it is there, support will get questions. Add a short explanation in the main product description, in the related product name, or in an FAQ block on the product page. Do not overload the cart with long text. A short phrase explaining that the item is required to fulfill the order is enough.

Success criterion: the customer understands the cart contents, the manager sees the necessary order lines, and quantity changes do not break the linked item.

Special Cases: Variations, Grouped Products, and Conditional Rules

The hardest questions start when the required relationship needs to depend on context: the selected variation, shipping country, user role, coupon, or a bundle inside another product. The key here is not to assign the plugin capabilities that have not been confirmed. The official documentation describes the basic product-level setup and separately warns about a problematic scenario involving grouped products.

Grouped Products

The Force Sells documentation notes that the fields may appear for grouped products, but the behavior will not work as expected: when the parent product is added from the grouped product page, only the parent product is added to the cart. That means you should not treat grouped products as a reliable foundation for mandatory relationships.

If you need to display several related products on one page and want the forced relationship to trigger for each of them, it is better to configure Force Sells on separate simple products and test adding them from their regular product pages. If grouped products are a core part of your store, build a prototype on a staging copy first and document the result for your team.

Variable Products

There is a feature request for different forced products for different variations, but an open request is not the same as a finished feature. If your catalog requires "add product X for variation A and product Y for variation B," do not promise the business that Force Sells handles that natively. Check the current documentation, ask support, or consider a more flexible solution.

A practical no-code workaround is sometimes to split critically different variants into separate products, if that does not damage navigation or analytics. But that decision affects SEO, filters, inventory, and customer experience, so it should not be applied automatically.

Country, Role, or Shipping-Method Conditions

The same caution applies to conditional logic: adding a related product only for a certain country, user role, or shipping method may be a real business requirement, but it is not baseline behavior confirmed by the Force Sells documentation. If the condition is critical, look at dedicated extensions for cart rules, shipping logic, or payment rules. Do not drop a random code snippet into the cart flow. Mistakes here directly affect payment and order fulfillment.

For most stores, the better approach is to keep Force Sells in the role of a simple mandatory relationship and let more complex rules be handled by tools designed specifically for conditional cart logic. The less hidden logic you have in the buying process, the easier it is for support to explain the outcome to the customer.

Safe Enhancement: One Related Product Regardless of Main Product Quantity

Sometimes the related item should be added only once, even if the customer buys multiple units of the main product. For example, an order with several identical products may need one service fee or one instruction sheet, not one copy per unit. The official Force Sells documentation provides an example using filters that force the related product quantity to stay at one.

Use this approach only if you understand the accounting and inventory consequences. For a required part that is needed for every unit, this code would be a mistake. For a per-order service fee or a single document pack, it may be appropriate.

A safe place to add the code is a child theme or the Code Snippets plugin. Do not edit WordPress core, WooCommerce core, a parent theme, or the extension files themselves. Test on a site copy before inserting anything.

// Add the related product with quantity 1, regardless of the main product quantity.
function jfox_force_sells_one_item_per_parent( $product ) {
    $product['quantity'] = 1;
    return $product;
}
add_filter( 'wc_force_sell_add_to_cart_product', 'jfox_force_sells_one_item_per_parent' );

// For synced relationships, also keep the quantity fixed at 1.
function jfox_force_sells_synced_quantity_one( $quantity, $product ) {
    return 1;
}
add_filter( 'wc_force_sell_update_quantity', 'jfox_force_sells_synced_quantity_one', 10, 2 );

After enabling the code, add two or three units of the main product to the cart. The related item should still remain at a quantity of one. Then remove the code and repeat the test: the quantity should return to the plugin's default behavior. That rollback check is essential because it confirms that the change is really caused by the filters, not by cache, the theme, or an old cart session.

If you have several relationship types and only some of them should work as "one per order," this generic snippet may be too broad. In that case, do not complicate the code by guessing. It is better to have a developer add checks for specific product IDs and test every cart scenario properly.

Troubleshooting Common Problems with Mandatory Products

Force Sells issues often look like plugin bugs, but the root cause is frequently the product itself, the theme, caching, or the selected relationship mode. Below is a practical troubleshooting map: symptom, likely cause, how to check it, and a safe fix.

Troubleshooting map for Woocommerce Force Sells cart issues in WooCommerce
This troubleshooting map shows how to move from symptom to cause: the relationship field, product status, sync mode, grouped products, cache, and payment method.

The Related Product Is Not Added to the Cart

Symptom: the main product is added, but the required item does not appear. Start with the basics: open the related product and check whether it is published, has a price, is available for purchase, and is not blocked by inventory status. Then return to the main product and confirm that the relationship was saved in the correct field.

What to do: temporarily create a new pair of simple products with no variations, discounts, or custom rules. If everything works with the clean pair, the problem is in the specific product or its conditions. If even the clean pair does not work, check whether the plugin is active, whether the theme is interfering, whether another extension is conflicting, and how the product is being added to the cart.

The Customer Can Remove the Mandatory Item

Symptom: the item is added, but it can still be removed separately. That is normal behavior for the Force Sells field. If the item is truly mandatory, configure it in Synced Force Sells. After saving, clear the cart and add the main product again. Existing cart contents do not always reflect the new setting.

When to roll back: if customers start complaining about a forced purchase after switching to synced mode, the business logic may be wrong. Go back to a standard relationship or replace it with a product add-on.

The Related Product Quantity Changes the Wrong Way

Symptom: the customer buys several units of the main product, and the related item also multiplies even though it should stay at one. By default, that is expected behavior. Use the filters from the section above only for cases where one related item per any quantity of the main product is actually correct.

What to check: make sure the related product is not a physical component required for every unit. If it is a part, consumable, or required packaging item for each product, reducing the quantity to one will create an incomplete order.

The Relationship Does Not Work Through a Grouped Product

Symptom: the fields are visible, but when the product is added from the grouped product page, the related product does not go into the cart. The product documentation explicitly warns that functionality for grouped products may not behave as expected.

How to fix it: configure the relationships on the individual products and test adding them from their normal product pages. If the grouped product is mainly being used as a storefront view, consider whether it would be better replaced with a dedicated landing page, product block, or another navigation pattern.

The Cart Shows Confusing Lines or the Customer Does Not Understand the Add-On

Symptom: technically everything works, but the customer sees a confusing product. The fix is not always code. Often it is enough to improve the related item name, the short description of the main product, and the label shown next to the item if the theme allows that output.

What to check: the related product should not be named like an internal service object. A name like "Service Fee" is clearer than "FS fee 01." For a required part, include the model, compatibility, and the reason it is being added.

The Problem Appears Only with One Payment Method

Symptom: the cart looks correct, but checkout errors appear only when a specific payment method is selected. One product review mentioned a conflict after a payment method update that support helped diagnose. Do not assume Force Sells alone is at fault.

How to test: repeat the test with a different payment method, temporarily disable custom checkout fields, and see whether both order lines are still preserved. If the error is tied to the payment extension, contact support with an exact scenario: main product, related product, mode, payment method, and the step where the failure happens.

SEO, Performance, Accounting, and Support After Launch

Force Sells works in the cart, but its impact reaches farther: product page copy, reports, inventory, support, and customer trust. A good setup should not feel like hidden pressure. It should explain to the customer why the related item is required and help the store team fulfill the order without manual corrections.

SEO and Product Page Copy

You do not need to turn the product page into a legal disclaimer. But if the related item affects the price or order composition, explain that near the main description. For search engines and AI-generated answers, a clear, specific explanation is more useful than repeating keywords. For example: "A parts kit is automatically added to this service because the repair cannot be completed without it."

That kind of wording reduces bounce and support questions. It also helps the content manager remember why the relationship exists. If the reason for the mandatory item changes, update not only the Linked Products field but also the product page copy.

Performance and Caching

The plugin itself should not require complex optimization, but WooCommerce carts are sensitive to caching. Cart and checkout pages are usually excluded from full-page cache, and the mini-cart depends on dynamic fragments working correctly. If customers see an outdated cart after you configure a relationship, check the cache plugin, server cache, and CDN.

Do not try to "speed up" the cart with aggressive caching. In an online store, cart accuracy matters more than a few extra milliseconds on the page where the customer is deciding whether to pay. If caching is necessary, follow your cache plugin's WooCommerce recommendations and test forced relationships separately.

Support and Internal Documentation

After launch, create a short internal guide: which products are linked, which mode is used, and why. A support manager should be able to quickly explain why an extra item appeared in the cart. If the team does not understand the relationship, the customer will have even less confidence in it.

For stores with large catalogs, it helps to add a publishing checklist item: "Are there any mandatory products that should be added automatically?" That prevents situations where a new main product goes live without its required part, and the mistake is only discovered after orders start coming in.

Questions to Ask Before Using Woocommerce Force Sells

Can the plugin be used for services, not just physical products?

Yes. The official materials describe use cases for services, digital products, and physical goods. The key is to configure the related product correctly in WooCommerce. If the service does not require shipping, check the virtual product type so you do not create unnecessary shipping fields.

Why is the related product added as a separate line instead of merging with the main product?

That is exactly the point of the product. The related item keeps its own price and order line. If you need one combined package with a different display logic, consider Product Bundles, Chained Products, or Composite Products.

How do I decide between Force Sells and Synced Force Sells?

If the customer is allowed to decline the related item, use Force Sells. If the item is mandatory and should follow the main product when quantity changes or the main product is removed, use Synced Force Sells.

Does the relationship work with grouped products?

The documentation warns that grouped product behavior may not match what the admin expects: when the parent item is added from the grouped product page, the related item may not be added. For a reliable setup, test individual products instead.

Can I assign different related products to different variations?

There is a feature request for that, but an open request does not mean the feature is officially supported. If it is critical for your store, check the current documentation and developer support before implementation.

Will the plugin affect store performance?

Any cart extension should be tested, but the main risk is usually not product page speed. It is the correctness of the dynamic cart. Exclude the cart and checkout from aggressive caching, then test adding products, changing quantities, and completing checkout.

Can I use the plugin only as an upsell tool?

You can add a product in standard mode, where the customer is still able to remove it, but WooCommerce offers better tools for soft recommendations. Force Sells works best when the relationship has a practical reason, not when it exists only to raise average order value.

What should I do if customers start asking about an extra item after setup?

Start by improving transparency: the related product name, the main product description, and the cart label. If customers still see the item as an unwanted add-on, reconsider the mode or replace the mandatory relationship with an optional add-on.

When Woocommerce Force Sells Is the Right Choice

Woocommerce Force Sells is worth using when a required item genuinely needs to be added to the order together with the main product, and the store needs to see it as a separate line. It is a practical tool for simple, known-in-advance relationships: a service plus a part, a product plus required packaging, a course plus materials, a subscription plus a one-time service, or a main product plus an accounting line item.

Before launch, check the extension requirements, prepare the related products, choose the correct mode, walk through the cart, and place a test order. If your scenario depends on variations, shipping country, complex conditions, or customer choice, do not force it into a mandatory relationship. More flexible tools exist for those cases.

If your use case does match the logic of a mandatory relationship, you can download the installation file and test it on a store copy or on one safe product first. The best outcome is the one where the customer understands the cart contents, the team sees a clean order, and mandatory items stop being forgotten.

By OceanTheme.org Editorial Team

 

You are not logged in to post comments.