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.
Check the product is available on the Online Store channel
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.
Shopify admin → Products → the product → check status is Active and 'Online Store' appears under Publishing. Check inventory for the exact variant being tested.
Publish the product to the Online Store channel, set status Active, or enable 'Continue selling when out of stock' if you oversell intentionally.
Open the browser console on the product page
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.
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).
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.
Check for a failing /cart/add request
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.
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.
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).
Suspect the most recently installed or updated app
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.
Apps → sort by recently updated. Anything in the last 7 days that touches the cart or product page? Disable it and retest.
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.
Test with the theme's default state
Custom product-form code (or a theme update colliding with your customizations) is the next most common breaker after apps.
Duplicate your live theme, remove recent customizations (or preview clean Dawn), and test Add to Cart in the preview.
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.
Check variant selection is required but missing
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.
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?
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).
Force a theme asset refresh
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.
Online Store → Themes → Edit code → make a no-op change (add a space to a comment) and save. Retest in an incognito window.
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.
Retest on a real iPhone (Safari)
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.
Real iPhone, Safari, not a desktop browser simulator: product page → Add to Cart → cart. Works?
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.
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.
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 free7-day free trial · First test running in 5 minutes · No credit card