Emergency diagnostic

Shopify add to cart not working?

A dead Add to Cart button is a checkout failure one step earlier: 100% of revenue stops. Run these checks in order; they're sorted by how often each turns out to be the cause.

First: is it every product or one product? Test two products from different collections. One product = availability or variant issue (steps 1, 6). Every product = theme, app, or script issue (steps 2-5, 7).
1

Check the product is available on the Online Store channel

Why it happens

The most common cause and the least visible one: the product exists but isn't published to the Online Store sales channel, is in Draft, or the selected variant is out of stock with overselling disabled. The button renders, the add silently fails.

Check

Shopify admin → Products → the product → check status is Active and 'Online Store' appears under Publishing. Check inventory for the exact variant being tested.

Fix

Publish the product to the Online Store channel, set status Active, or enable 'Continue selling when out of stock' if you oversell intentionally.

2

Open the browser console on the product page

Why it happens

Theme JavaScript builds the product form. One error from a theme edit, a pixel snippet, or an app script stops the click handler from ever binding, and the button does nothing with no visible error.

Check

F12 → Console → reload the product page → click Add to Cart. Any red errors? Note which file they come from (theme asset vs an app's CDN).

Fix

If the error comes from a theme file, revert your last theme edit. If it comes from an app script, disable that app and retest. Screenshot the error before you change anything, it's your evidence for the app developer.

3

Check for a failing /cart/add request

Why it happens

When the click handler works but the add fails, the POST to /cart/add.js tells you exactly why. Themes rarely surface these errors to the customer.

Check

F12 → Network tab → click Add to Cart → find the /cart/add.js request. 404 = broken form action from theme code. 422 = the variant id being submitted isn't purchasable.

Fix

404: restore the product form section from the theme's original code. 422: fix the variant availability (step 1) or the stale variant id cached in the page (step 7).

4

Suspect the most recently installed or updated app

Why it happens

Sticky-cart bars, upsell popups, bundle builders, and quick-buy apps all intercept the add-to-cart click and replace it with their own logic. When one of them ships a bad update, your button dies with it.

Check

Apps → sort by recently updated. Anything in the last 7 days that touches the cart or product page? Disable it and retest.

Fix

Keep it disabled and report the bug to the app developer, or pin to the previous version if the app supports it. Re-enable only after their fix ships.

5

Test with the theme's default state

Why it happens

Custom product-form code (or a theme update colliding with your customizations) is the next most common breaker after apps.

Check

Duplicate your live theme, remove recent customizations (or preview clean Dawn), and test Add to Cart in the preview.

Fix

If the clean theme works, diff your product form section against the original and re-apply customizations one at a time until it breaks. That last change is your bug.

6

Check variant selection is required but missing

Why it happens

Multi-variant products where the theme doesn't pre-select a variant: the button silently no-ops until the customer picks size and color. Customers (and you, testing in a hurry) read it as broken.

Check

Open a multi-variant product without clicking anything, then hit Add to Cart. Does the theme show a 'select a size' message, or does nothing happen?

Fix

Enable a default pre-selected variant in the theme settings, or make the theme's 'selection required' state loud (most themes have this setting; some custom ones dropped it).

7

Force a theme asset refresh

Why it happens

After theme deploys, Shopify's CDN can serve a stale JS bundle that doesn't match the new markup. The form looks right; the handler targets elements that no longer exist.

Check

Online Store → Themes → Edit code → make a no-op change (add a space to a comment) and save. Retest in an incognito window.

Fix

If the no-op save fixes it, it was cache staleness. Expect it after big theme deploys and retest add-to-cart each time you ship one.

8

Retest on a real iPhone (Safari)

Why it happens

Touch event handling breaks independently of desktop clicks, and most sticky add-to-cart bars are mobile-only, so mobile customers can hit a broken path desktop testing never sees.

Check

Real iPhone, Safari, not a desktop browser simulator: product page → Add to Cart → cart. Works?

Fix

If mobile-only broken: disable the sticky/mobile cart app first, then check the theme's mobile product form. Most of mobile revenue rides on this path, treat it as a P0.

Fixed it? Check what else is leaking.

Run the free 60-second Shopify audit, it scores your store's trust signals, conversion basics, and SEO, and flags gaps like the one that just bit you.

Free store audit

Why this keeps happening

Add to Cart sits at the intersection of your theme, every cart-touching app, and Shopify's own updates. Any of them can ship a change tonight that breaks the button for some slice of traffic, and none of them will tell you.

The only sustainable fix is testing the whole path on a schedule: product page → add to cart → checkout, on desktop and mobile, with an alert the moment any step fails.

FAQ

Why does my Shopify add to cart button do nothing when clicked?

The three most common causes: the product isn't published to the Online Store sales channel, a JavaScript error from the theme or an app is killing the click handler, or the product needs a variant selected and the theme doesn't show that clearly. Check the browser console first; a red error there points straight at the culprit.

Why does add to cart work on desktop but not on mobile?

Usually a sticky add-to-cart bar app or the theme's mobile product form binding touch events incorrectly. Disable your sticky-cart app and retest on a real iPhone in Safari, not a desktop browser's mobile simulator.

What does a 422 error on /cart/add.js mean?

The storefront tried to add a variant that isn't available: sold out with overselling disabled, not published to the channel, or a stale variant id cached in the page. Fix availability first, then force a theme asset refresh.

How do I catch a broken add to cart button before customers do?

Run an automated checkout test on a schedule. Tracefox replays product page, add to cart, and checkout hourly or daily on desktop and mobile, and alerts you with a screenshot within minutes when any step stops working.

Catch the next dead button before customers do

Tracefox replays product page → add to cart → checkout on a schedule, across desktop, mobile, and tablet. The moment a step breaks, you get an email + Slack alert with a screenshot.

Test your store free

7-day free trial · First test running in 5 minutes · No credit card