By platform
Add to cart button not showing WooCommerce
The product page shows the photos and the description, but no button to buy. Mimiq sends simulated visitors to the product as a guest and records what they see.
Why is the add to cart button missing from my WooCommerce product page?
WooCommerce draws the button only for a product it can sell right now. A product with no price, no stock or a setting that blocks purchase gets no button, and a theme template or plugin that removed the add to cart step leaves the space empty. Look for an out of stock line on the page, then search the page source for the button before you change the product. A simulated visitor shows whether a guest with no login sees a button.
What this looks like in a report
“The description is lovely, but there is no button to buy it, only photos. Either they sold out, or I need to log in to see the buy option. I do not want an account just for a scarf.”
The fix. Check the scarf's stock and price in the admin, and set a regular price and a stock quantity that is true. If the page source shows no add to cart form, replace the outdated product template in your theme with a current copy, or restore the step it removed.
An illustration. Run a test to see your own.See a real sample report
WooCommerce leaves the button out when it cannot sell the item, or when something removes it
WooCommerce decides on the server whether a product is for sale. If the product is out of stock, the page shows an out of stock message in place of the form. If the product has no price, it cannot be bought and the form does not appear. A theme can override the product template, and an outdated copy may leave out the step that outputs the form. A plugin that hides prices or buttons from guests, or from some customer roles, removes the form for one kind of visitor only. The shopper sees a product with nothing to press.
- Read the product page for an out of stock line, and check the stock status of the product in the admin.
- Check that the product has a regular price, since a product with no price cannot be bought.
- Open the page in a private window and again while logged in, to see whether a visibility plugin changes it.
- Search the page source for the single add to cart button class, to tell a missing form from a hidden one.
- Open the WooCommerce status report and look for template overrides in the theme that are out of date.
The order a shopper meets the missing button
The shopper finds the product, reads the title and the description, and looks for a quantity box and a button under the price. On a WooCommerce product, the price is drawn first and the form follows it. When the form is absent, the price may still show, so the shopper sees a number with nothing to do next. Some assume the item is sold out and move on.
Out of stock, no price and a template override leave different traces
The three most common causes leave different traces, so look before you guess. An out of stock product shows an out of stock message in place of the form, and its stock status in the admin says out of stock. A product with no price shows no form, and its regular price field is empty. A template override is the odd one: the page has a price and a description, but the form never appears, and the page source has no add to cart button at all. A plugin that hides prices from guests removes the button for guests only.
Test the logged-out and logged-in views separately. A private window shows what a guest sees, and your own logged-in window shows what you see as an admin. If the button appears only when logged in, a visibility plugin is the cause, and its settings are the place to look. If it is missing in both views, check the stock, the price and the page source, in that order.
Which step the theme removed, and how the page source shows it
WooCommerce adds the form through a template hook on the single product page. A theme can remove that hook, or replace the product template with a copy that skips it. The page source then shows the product name and the price, but no form carrying the add to cart button class. An out of date override is a common reason for that gap, and the WooCommerce status report can flag outdated template overrides, which is the quickest way to find a copy that has fallen behind.
What the run records for a guest, and the settings it leaves to you
A simulated visitor arrives as a guest, opens the product from its link, and looks for a way to buy it. The run records a screenshot of the product page as a guest, the controls it could find, and any script error or failed request on that page. A button hidden from guests shows in that screenshot, which is the view a shopper with no login gets.
The run cannot read your stock, your prices or your template files, so it cannot say which cause you have. Use the guest screenshot to confirm the missing button, then use the admin and the page source to find the reason. Run the same guest visit after each fix, on the same product and the same device, so the screenshots can be compared.
Mimiq is independent and not affiliated with the platforms it names. Names belong to their owners.
What you get with Mimiq
- 01
Run it by hand, or on every pull request
Paste a link and a task in the app and watch the visitors work. Or run them on every preview deploy: the GitHub Action comments on the pull request, any other CI can call the MCP endpoint, and your coding agent can run it too.
- 02
Bugs and usability problems in one report
The browser records errors and failed or slow requests on the step they happened. The visitors say where the wording or the steps confused them, and where they left.
- 03
Visitors that behave like your audience
Each visitor is a different profile with a reason to be there, matched to who the page is for, described by you, or built from your own customers.
- 04
A prompt to fix each problem
Every problem comes with a fix to paste into Cursor, Claude Code, Lovable or any coding agent, and one prompt hands over the top problems at once. Then send the same visitors through again.
- 05
Follow every visitor
See each visitor's whole path, step by step with screenshots, and what it was thinking at every step. Ask any visitor a question.
The browser records relevant JavaScript errors and failed or slow app requests encountered during the run, attached to the step where they occurred. The visitors are simulated: they find problems, they do not predict how many real people will convert.
A restock, a price rule or a theme update can hide the button again
Stock runs out and comes back, a price rule expires, or a theme update replaces the product template, and the button disappears or returns without a word. Run the same guest visit after each of those changes, on a product that sells out often and on one that never does.
Starter
Try it on one launch
About 4 tests of 5 visitors
- Visitors on your landing page, signup and checkout
- Where they left and why, with a fix to copy for each problem
- Run it in the app or on every pull request
- Ask any visitor a question, included
- Test accounts and protected previews
Builder
Test every build
About 20 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Pro
Test every release, as a team
About 60 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Scale
Test at scale, every day
About 240 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Priority support
- Cancel anytime
Questions
Will the button come back once the product is restocked?
Usually yes, if stock was the only cause. WooCommerce draws the form again once the stock is above zero. A cached copy of the product page can show the old state for a while, so check in a private window before you change anything else.
Can a visibility plugin be the reason the button is hidden?
Yes. Check its settings for guests first, since many such plugins decide who sees prices and buttons from their own rules. A product edit alone may not change what a guest sees, so the plugin's rule can keep the button hidden after the product looks correct.
Is a missing button the same as a label on the shop page?
Not always. A shop page may show a label or a read more link, while the product page shows no form. Check the product page itself, since that is where the shopper decides whether to buy.
Can the simulated visitor find the code that removed the button?
No. The run shows the product page as a guest sees it, the controls it could find, and any error recorded there. It does not read your theme files, your plugins or your stock. It also does not tell you how many shoppers would buy once the button appears.
Keep reading
Send visitors and see what breaks first.
Your first test is free: sign in with Google and it starts right away. Last checked 2026-11-02.