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
_bundlexproperty in the store's/cart.jsresponse. - 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
- Open browser developer tools and choose Network.
- Select the offer and click Add to cart.
- Find the
/cart/addrequests. Check both the submitted items and the response status. - 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 see | Next check |
|---|---|
| No marker in the submitted form | Widget activation and which product form it attached to |
| Marker in the form but missing from the request | Whether recovery added the selected items; then theme or app request rebuilding |
| 422 response | Response message, extra availability, and subsequent retries |
| Typed quantity differs from the cart quantity | Which quantity-control setup is active |
| Browser navigates before the add finishes | Custom 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.