Skip to main content
Troubleshooting

Add to cart adds only 1 item at full price (no discount)

If selecting "Buy 2" or "Buy 3" adds only one full-price item, first check what reached the cart and whether Shopify rejected an earlier request. The same visible result can have several causes.

Check the result

  • Confirm the widget is visible and an offer is selected.
  • Check the quantities, gifts, and extras in the cart.
  • If possible, check whether the lines have the private _bundlex property in the store's /cart.js response.
  • Hard-refresh the product page with Ctrl/Cmd + Shift + R and repeat the same selection.

If no offer is selected because Offer selection is optional is enabled, adding through the theme without offer extras is expected. Ticked add-ons are still added with it. If the widget is absent, start with widget not showing. If all items arrive but prices differ, see cart total mismatch.

Capture the request and response

  1. Open browser developer tools and choose Network.
  2. Select the offer and click Add to cart.
  3. Find the /cart/add requests. Check both the submitted items and the response status.
  4. Look for subsequent retries and any [Bundlex] messages in the Console.

A standard add uses /cart/add or /cart/add.js. A custom flow that uses cart-change requests instead needs separate investigation; changing existing cart lines is not the normal bundle-add path.

Check the product-form marker

Bundlex normally adds this hidden input to the product form:

<input type="hidden" name="bx-product-form" value="1">
  • Missing from the form: the widget may not have attached to the form being submitted. Check the app embed or block, the matching published discount, and whether the page has a second form such as a sticky bar.
  • Present in the form but missing from the request: a theme or app may have rebuilt the request. Bundlex has a narrow recovery path for a fresh matching add-to-cart action, so the missing marker alone does not prove failure. Inspect the final items and response.

If recovery does not work, send support the product URL and reproduction steps. Preserving hidden form fields and line properties may require help from the theme or cart app developer.

If Shopify returns 422

A 422 means Shopify rejected that add request. Read its response message and check the availability of every gift and extra, including inventory and Online Store publication.

Bundlex can first retry a rejected nested payload without parent relationships, then retry main products with their discount information when an extra cannot be added. Resending the original request is a later fallback. Therefore, a 422 does not always mean one full-price item or a lost discount.

For free units of the main product, use Buy X, get Y. For separate reward products, check gift setup and availability. A rejected request alone does not establish that matching variants are the cause.

If typed quantities behave unexpectedly

In the usual tier-navigation setup, an exact quantity can select a matching offer. An in-between value can leave the current offer selected and add its configured quantity. It does not necessarily deselect the offer or make every unit full price.

Bundlex's own quantity selector and support-enabled native-quantity setups behave differently. See quantity syncing before adding more tiers as a workaround.

Quick reference

What you seeNext check
No marker in the submitted formWidget activation and which product form it attached to
Marker in the form but missing from the requestWhether recovery added the selected items; then theme or app request rebuilding
422 responseResponse message, extra availability, and subsequent retries
Typed quantity differs from the cart quantityWhich quantity-control setup is active
Browser navigates before the add finishesCustom redirect timing; see cart redirects

If the cause remains unclear, contact support with the product URL, selected offer, expected quantity, actual result, and any error messages.

Was this article helpful?

Your feedback helps us improve our docs.

Thanks - we'll keep improving this article.

Want to chat with our team? Still have a question?

Still need help?

Our team is one click away. Send us a message and we'll get back to you.

We use a few cookies to keep this site working, measure how it is used, and power our chat widget when you open it. See our cookie policy.