Skip to content
Storemend

Guide · checkout & cart troubleshooting

Shopify checkout or add-to-cart button not working: causes and fixes

Written by Astrid, Shopify developer Last updated:

The short version

A Shopify add-to-cart or checkout button that won’t click is almost never a Shopify outage — it’s usually your own theme or an app. The four common causes are a recent theme edit that broke the button’s JavaScript, an app conflict (or leftover code from an app you uninstalled), a JavaScript error somewhere on the page that stops all scripts from running, and a variant or inventory setting that disables the button on purpose. You can narrow it down in a few minutes: check what changed most recently, test in an incognito window, and look for a console error. Because a dead checkout is lost revenue every hour, it’s worth fixing today — and the fix is safe to do on a copy of your store without touching the live one.

Add-to-cart vs checkout: which problem do you have?

These get lumped together, but they’re different points in the buying flow, and knowing which one is broken narrows the cause fast. Figure out where it stops:

  • The add-to-cart button does nothing. You click Add to cart on a product page and the item never lands in the cart — no cart drawer, no count change, no error. This lives in your theme (the product form and its JavaScript) or in an app that hijacks the cart.
  • The item adds, but the cart or “Checkout” button is dead. The product reaches the cart, but the button to proceed won’t respond. Still usually theme or app territory — the checkout page itself is hosted by Shopify, so the broken part is the hand-off to it.
  • It only breaks on mobile. Works on desktop, fails on phones (or the reverse). That points at a layout or script that behaves differently at smaller screen sizes — often something invisible sitting on top of the button, intercepting the tap.
  • The button works, but checkout errors out. If the checkout page loads and then rejects the order, that’s more likely a payments, shipping, or tax setting than a broken button — a different problem, covered by the Checkout & Shipping Fix task too.

One reassuring point up front: Shopify’s checkout itself almost never “goes down” silently for one store. If the button is unresponsive on your site but Shopify’s status page is green, the problem is on your storefront — which is good news, because that’s the part that can be fixed.

Common cause 1: a recent theme edit broke the button

This is the most frequent one by a wide margin. The add-to-cart and checkout buttons aren’t just links — they rely on JavaScript and on specific bits of markup in your theme to actually do something when clicked. Edit the wrong line and the button still looks perfect but quietly does nothing.

It usually traces back to a change like one of these:

  • A snippet of “custom code” pasted into the theme (a popup, a tracking tag, a tweak from a tutorial) that contains a syntax error.
  • A theme update or a switch to a new theme version that changed how the product form is wired up.
  • An edit in the theme code editor that removed an ID, class, or closing tag the button’s script depends on.
  • A find-and-replace or copy-paste that landed in the wrong file.

The tell: the button broke right after you (or an app, or anyone with access) changed something. If you can pin down roughly when it started, you’re most of the way to the fix — Shopify keeps theme versions, so reverting the recent edit, or restoring the previous version, often brings the button straight back.

Common cause 2: an app conflict or leftover app code

Plenty of apps work by injecting their own code into your storefront — cart drawers, upsell and bundle apps, sticky add-to-cart bars, reviews widgets, trackers and pixels. Each one is fine alone, but two of them reaching for the same button, or loading their scripts in a clashing order, can stop the button from firing.

There’s a sneakier version of this too: leftover code from an app you already uninstalled. Removing an app from your admin doesn’t always remove the snippet it added to your theme. That orphaned code can keep running and keep throwing an error, long after the app itself is gone.

How to find the culprit: disable your storefront-facing apps one at a time (start with anything that touches the cart, checkout, or product page), and re-test the button after each. When the button comes back, the app you just disabled is the conflict. From there it’s either a settings change, an update, or removing the leftover snippet for good.

Common cause 3: a JavaScript error blocking the click

Here’s the part that surprises people: a JavaScript error somewhere completely unrelated to the button can still kill it. Browsers run a page’s scripts together, and one script that crashes can stop the others from ever running — including the one that makes Add to cart work. So a broken popup, a misconfigured tracking tag, or a bad bit of custom code at the top of the page can take the button down with it.

This is why the symptom is so often “the button looks normal and just doesn’t respond” — nothing is visually wrong; the click handler simply never got attached. The good news is that this kind of error is usually visible in the browser’s developer console, which makes it findable.

Common cause 4: variant or inventory settings

Sometimes the button isn’t broken at all — it’s disabled on purpose, and the setting behind it just isn’t obvious. Before assuming it’s a code bug, rule these out, because they’re a five-minute fix in your admin:

  • Out of stock with selling disabled. If a product (or the selected variant) is at zero inventory and “continue selling when out of stock” is off, Shopify correctly greys out or hides the button. It looks broken; it’s actually working as told.
  • No variant selected. On a product with options, some themes keep the button inactive until a valid combination is picked — and if a variant combination doesn’t exist, the button can stay disabled.
  • Product not active or not in the right sales channel. A product set to draft, or not published to your Online Store channel, won’t sell — sometimes the whole buy section is missing rather than just the button.
  • Only one product affected. If every other product adds to cart fine and just one won’t, it’s far more likely a setting on that product than a sitewide code problem.

Quick checks you can do right now

Before anyone touches code, these checks take a few minutes and often point straight at the cause. Work through them in order:

  1. Check 1

    Ask what changed last. Did the button break right after a theme edit, an app install, a theme update, or pasted code? “It worked yesterday” plus “I added X yesterday” is usually your answer.

  2. Check 2

    Test in an incognito / private window. This rules out browser extensions and cached files on your own machine. If it works in incognito, the issue may be local to you, not your store.

  3. Check 3

    Try a second device and a second product. Phone and desktop, one product and another. “Only mobile” or “only one product” each point at very different causes (a layout/script issue vs a product setting).

  4. Check 4

    Open the browser console. Right-click the page, choose Inspect, and open the Console tab. Red error lines when the page loads (or when you click) are a strong clue — even if they look like gibberish, they tell a developer exactly where to look.

  5. Check 5

    Confirm inventory and product status. Is the product active, published to Online Store, and in stock (or set to keep selling when out of stock)? Rule out the “working as designed” cases before assuming a bug.

  6. Check 6

    If you suspect an app, disable them one at a time. Re-test the button after each. The one that brings it back is your conflict. (Disabling, not uninstalling, so it’s easy to undo.)

If none of that surfaces it — or you’d rather not poke around the theme code while the store is live — that’s the point to bring in a developer rather than risk making it worse.

Why a broken checkout is worth fixing today

Most store problems can wait a few days. A dead add-to-cart or checkout button is not one of them. The reason is blunt: every visitor who tries to buy and can’t is a sale you’ve already paid to win — through ads, SEO, email, or word of mouth — walking away at the very last step.

It’s also the kind of failure that’s easy to miss until it’s expensive. The button often looks completely normal, so unless you test the full purchase flow yourself, you may not notice for days — while your analytics quietly show traffic with no orders. If add-to-cart or checkout is broken, treat it as the most urgent thing on your list and get it diagnosed the same day.

When to bring in a developer

Do the quick checks above first — if it turns out to be an inventory toggle or a recently pasted snippet you can remove, you’ve fixed it for free. Bring in a developer when:

  • The console shows an error you can’t trace, or the fix means editing theme JavaScript or Liquid.
  • An app conflict or leftover snippet needs untangling without breaking the apps you still use.
  • You’d be editing live theme code on a store that’s actively selling — the part where one wrong move makes it worse.
  • It’s simply costing you sales by the hour and you want it diagnosed and gone today.

This is exactly what my Checkout & Shipping Fix task is for. I diagnose where the button is failing — theme, app, script error, or setting — fix it, and test the full add-to-cart-through-checkout flow. Most checkout and add-to-cart fixes land in around 1 to 2 business days from store access, and if you need it faster, ask in chat — when I have capacity I take rush work.

And it’s done safely: all of it happens on a duplicated, unpublished copy of your theme, so your live store keeps selling untouched while I work, and you preview the fixed button before anything goes live. Same safety protocol as every Storemend job — work on a copy, you approve first, every change recorded with how to undo it. If it turns out the fault is inside a third-party app’s own code, I’ll tell you straight and point you to the right fix rather than bill you to guess.

Button down and costing you sales? Let’s fix it.

Describe what’s happening in plain English — “add-to-cart does nothing on phones,” say. You’ll get a written proposal with the turnaround and the exact permissions I’ll need, all work happens on a copy of your store, and you preview before anything goes live. If it’s not a fit, I’ll tell you straight.

Frequently asked questions

Why did my Shopify add-to-cart button stop working after I edited the theme?

A theme edit can remove or break the JavaScript the button relies on, so it looks fine but does nothing when clicked. If the problem started right after a change, the fastest first move is to check whether reverting the recent theme edit restores it — and if you need it diagnosed and fixed properly, that’s the Checkout & Shipping Fix task.

Can an app break my Shopify checkout?

Yes — apps that inject code (upsells, cart drawers, trackers) can conflict with each other or with your theme and block the add-to-cart or checkout button, and an app you uninstalled can leave broken code behind. Disabling apps one at a time is a good way to find the culprit; I do this diagnosis as part of the fix.

Is a broken checkout an emergency?

Effectively yes — a checkout that silently fails is lost revenue every hour it’s broken. Most checkout and add-to-cart fixes fall in the 1 to 2 business day range from store access, and if you need it faster, ask in chat — when I have capacity I take rush work.

Will fixing my checkout risk my live store?

No. I work on a duplicated, unpublished copy of your theme, fix and test the button there, and have you preview before anything goes live. Your live store keeps selling untouched while I work, and every change is recorded with how to undo it.