App monitoring

Troubleshooting a Rebuy Smart Cart that will not open

By Gary Gillespie · Last updated

If your cart drawer will not open, first establish whether the item reached the cart and whether the problem affects one product, one device or every session. The symptom alone does not identify Rebuy, the theme or another script as the cause. Work through the checks below in order, and record what you find as you go.

First, establish the scope

"The cart will not open" can mean several different things. Narrow it down before you decide what is broken:

  • One product, or many? Try adding a different product. If the drawer opens for one product but not another, the problem is more likely specific to that product's page or configuration than to the cart across the whole store.
  • One device or browser, or every session? Reproduce in a private/incognito window, then on a second device and on a narrow mobile viewport. A problem that only appears in your own browser session (cached scripts, an extension) is different from one every shopper hits.
  • One page template, or all of them? If some products or landing pages use a custom or page-builder template, note whether the failing page is one of those — a custom template can wire up the buy button differently from your theme default.
  • Consistent, or intermittent? Does it fail every time, or only sometimes? Intermittent behaviour often points at timing or a slow-loading script rather than a hard break.

Write the answers down. "Fails on every product, every browser" and "fails only on one landing page, only on mobile" lead to very different next steps.

Separate a cart-state problem from a drawer-display problem

A drawer that will not open is not the same failure as an item that never reached the cart. Tell them apart before assuming the drawer is broken:

  • Cart-state problem: Add to Cart did not actually add the item, so there may be nothing for the drawer to show. Open /cart.js in a browser tab right after clicking Add to Cart and read what is really in the cart. If the cart is empty, the problem is upstream of the drawer — at Add to Cart itself.
  • Drawer-display problem: the item is in the cart (visible in /cart.js) but the drawer does not open, opens empty, or opens without a working checkout button. That points at how the drawer renders or wires its click handler, not at the add-to-cart step.

Reading /cart.js directly is more reliable than trusting the drawer, because it shows the underlying state regardless of what the UI does.

Record the exact conditions

Whatever you find, capture the conditions so the problem can be reproduced by someone else:

  • The product URL and the variant selected.
  • The viewport — desktop width or a specific mobile width — since layout-related failures are often viewport-specific.
  • The browser and whether you were in a normal or incognito session.
  • The exact sequence of clicks that triggers the failure, and whether it happens every time.

A failure "on the iPhone-width viewport, on the sale collection product, after adding a second item" is something a developer can reproduce; "the cart is broken" is not.

Capture browser console errors

Open your browser's developer tools (usually F12), select the Console tab, then repeat the steps that make the drawer fail. A JavaScript error thrown when you click can stop the drawer from opening or stop its checkout button from working.

  • Copy the exact error text and the script file it points to. An error naming a Rebuy, theme or other app script is a lead — but a console error is an observation, not proof of the root cause.
  • Check the Network tab for a script request that failed (shown in red, or a 4xx/5xx status). A blocked or failed script load can be why the drawer never initialises.
  • Re-run in incognito with extensions disabled, so a browser extension is not the source of the error.

Check what changed recently

A drawer that worked and then stopped usually follows a change. Look at changes you can actually verify rather than guessing:

  • Theme edits. The Shopify theme editor keeps version history — check whether the theme was edited or republished around when the problem started. A theme change can move or rename the elements a cart drawer hooks into.
  • App updates or config changes. A storefront script changing is an observation, not proof that a release caused the failure. Note the timing; do not assume the update is the cause without reproducing.
  • Other new apps. A recently added app that also touches the cart or buy box can conflict. Note anything installed near the time the problem appeared.

Do not try to fix this by editing the live theme blindly, and do not uninstall the app to "see if that fixes it" on a live store — both can make the situation worse and neither isolates the cause. Reproduce and document first; make experimental changes on an unpublished theme copy.

Assemble a support report

If you escalate to Rebuy support, your developer or the theme author, a specific report gets a faster resolution than "the cart is broken". Include:

  • The product URL and variant, and whether it happens on all products or specific ones.
  • The browser, device and viewport where you reproduced it, and whether it reproduces in incognito.
  • Whether it is a cart-state problem (item not added) or a drawer-display problem (item added but drawer/checkout fails), with a /cart.js snippet.
  • Any console or network errors, copied verbatim.
  • Recent theme edits, app updates or new installs and their approximate timing.

Re-verify after any change

After a change — a theme fix, an app setting corrected, a conflict removed — repeat your original reproduction exactly: same product, same variant, same viewport, in a fresh incognito session so you are not looking at cached scripts. Confirm both that the drawer opens with the correct contents and that its checkout button actually advances to checkout. A fix that works in your logged-in editing session but not for a fresh shopper is not a fix.

Monitoring the cart-to-checkout path after you have fixed it

The hardest part of a cart drawer that owns the checkout button is knowing when it breaks again after the next theme or app change — usually you find out from a customer, or from a drop in orders. Checkout monitoring runs the purchase path on a schedule on desktop and mobile browser viewports — open the product, add to cart, open the cart, reach checkout — and alerts your team with video evidence of the run when a step fails, so a broken drawer surfaces from a check instead of from lost sales.

What a passing run does and does not prove: it confirms the tested path from product to checkout works on the tested products and viewports. It does not prove every product, variant or session works, and the check stops before payment — no order is placed and card payment is never verified.

Frequently asked questions

Why is my Rebuy Smart Cart not opening?
First find out whether the item actually reached the cart: open /cart.js in a browser tab after clicking Add to Cart. If the cart is empty, the problem is at Add to Cart, not the drawer. If the item is there but the drawer will not open, check the browser console for an error thrown when you click, and note whether it happens on all products or just one.
The cart has items but the drawer opens without a working checkout button. What do I check?
That is a drawer-display problem rather than a cart-state one. Open the browser console and repeat the click to catch any script error, check the Network tab for a failed script load, and note whether a recent theme or app change lines up with when it started. A console error is a lead, not proof of the cause.
Should I uninstall Rebuy to test whether it is the cause?
No. Uninstalling a live app that owns your cart is disruptive and does not cleanly isolate the cause. Reproduce the problem, record the scope and any console errors, and test changes on an unpublished theme copy instead.
How do I know if it is Rebuy or my theme?
You often cannot tell from the symptom alone. Establish scope (one product or all, one viewport or all), read the real cart state via /cart.js, capture the console error, and check what changed recently in the theme editor version history. Those observations narrow it down; treat a changed script as a clue, not a verdict.

See it on your own store — free

Run a free checkout health scan on any live Shopify store. No install, no card. Results in about 8 minutes, with step-by-step video proof.

Scan my store freeor install on Shopify →

Rated 5/5 by merchants on the Shopify App Store