Skip to main content

Third-Party App Conflicts

If bundles stop working correctly at checkout — items aren't expanding, discounts aren't applying, or bundle items revert to a single parent product — a third-party app may be interfering with the cart data that MOD Bundles needs.

Updated over a month ago

How MOD Bundles Works at Checkout

When a customer adds a bundle to their cart, MOD Bundles stores the bundle configuration as a cart line attribute called _component_selections. This attribute contains the details of every item the customer selected — product IDs, quantities, pricing info, and more.

At checkout, Shopify runs our Cart Transform function, which reads _component_selections to:

  1. Expand the single bundle line into individual component items

  2. Apply the correct bundle discount to each item

  3. Transfer any custom properties to the expanded items

If _component_selections is removed or modified by another app, the Cart Transform has nothing to work with and the bundle will not function correctly.


Symptoms of a Third-Party App Conflict

You may be experiencing this issue if:

  • Bundle items don't expand at checkout (customer sees the parent product only)

  • Bundle discounts aren't applied

  • Checkout shows full price instead of bundle price

  • Bundles work on one store but not another (with different apps installed)

  • Bundles suddenly stopped working after installing a new app


What Causes This

Some apps modify the cart before checkout — for example, cart optimization apps, upsell apps, subscription apps, or custom cart drawer apps. These apps may:

  • Strip cart line attributes they don't recognize (including _component_selections)

  • Rebuild the cart with new line items, dropping attributes in the process

  • Override cart properties with their own data

  • Re-add items to cart programmatically without preserving the original attributes

Any of these actions can remove the data MOD Bundles needs.


Cart Line Attributes That Must Be Preserved

The following cart line attributes are essential and must not be removed or modified by other apps:

Attribute Key

Purpose

_component_selections

Required. Contains the full bundle configuration — component product IDs, quantities, pricing, and metadata. Without this, the bundle cannot be processed at checkout.

_bundle_type

Optional but recommended. Identifies the type of bundle (Mix & Match, Pack Builder, or Collection Bundle).

Note: Both attributes are prefixed with an underscore (_), which is Shopify's convention for hidden line item properties — they won't appear to customers in the cart or at checkout. Some apps may incorrectly strip all underscore-prefixed properties. This will break bundle functionality.


How to Diagnose the Issue

Step 1: Check if Attributes Are Present

  1. Add a bundle to your cart

  2. Open your browser's developer tools (right-click → Inspect → Console)

  3. Run this in the console:

fetch('/cart.js')  .then(r => r.json())  .then(cart => {    cart.items.forEach(item => {      console.log(item.title, item.properties);    });  });
  1. Look for _component_selections in the properties of the bundle line item

  2. If it's missing, something is stripping it

Step 2: Identify the Conflicting App

  1. Temporarily disable other apps one at a time (especially cart-related apps)

  2. After disabling each app, clear your cart and add a bundle fresh

  3. Check if _component_selections is now present

  4. The app that, when disabled, restores the attribute is the one causing the conflict

Step 3: Test in a Clean Environment

  1. Open an incognito/private browser window

  2. Disable any browser extensions

  3. Add a bundle and check the cart attributes

  4. This rules out browser-side interference


How to Fix It

Option 1: Configure the Other App

Most well-built apps have settings to control which cart properties they modify. Look for:

  • "Preserve cart attributes" or "Keep line item properties" settings

  • Allow-list or exclusion list where you can specify attributes to keep

  • Cart modification settings that can be turned off or scoped

Contact the other app's support team and ask them to preserve cart line attributes prefixed with an underscore (_), specifically _component_selections.

Option 2: Change the App Load Order

If both apps modify the cart, the order matters:

  1. Go to Settings → Apps and sales channels in Shopify admin

  2. Check the priority/order of cart-modifying apps

  3. MOD Bundles' Cart Transform should run after any app that modifies cart items

Option 3: Use the App's API or Hooks

If the conflicting app provides JavaScript hooks or events for cart modifications, you may be able to intercept and preserve the attributes. This is an advanced solution — contact our support team for guidance specific to your setup.

Option 4: Remove or Replace the Conflicting App

If the other app cannot be configured to preserve cart attributes, you may need to consider an alternative app that doesn't interfere with cart line properties.


Information to Share with the Other App's Support Team

If you need to contact the other app's developer, here's what to tell them:

Our store uses MOD Bundles, which relies on a cart line attribute called _component_selections to process bundles at checkout via Shopify's Cart Transform API. Your app appears to be removing or overwriting this attribute when it modifies the cart. Could you ensure that existing cart line item properties (especially those prefixed with _) are preserved when your app makes changes to the cart?


Common Apps Known to Modify Cart Data

While we can't maintain a complete list, these categories of apps are most likely to cause conflicts:

  • Cart drawer / cart page replacement apps — Apps that rebuild the cart UI may re-add items without properties

  • Upsell and cross-sell apps — Some modify line items when adding upsells

  • Cart optimization / cart editor apps — Apps that let merchants modify cart contents

  • Subscription apps — Apps that convert one-time items to subscriptions

  • Discount and promotion apps — Apps that apply their own cart-level modifications

  • Translation apps — Some may alter cart data during translation


Still Having Issues?

If you've confirmed that _component_selections is being stripped and can't resolve it with the other app:

  1. Contact our support with:
    The name of the conflicting app Screenshots of your cart attributes (from the console check above) Whether the issue happens on all bundles or specific ones

  2. We may be able to help by:
    Providing a workaround specific to the conflicting app Adjusting how our app writes cart data for compatibility Working directly with the other app's developers


Related Articles

Did this answer your question?