Is every product price present and unambiguous?
A price is required, must be above zero, and must be unambiguous about its currency. A placeholder price, a product left at zero, or a missing priceCurrency quietly disapproves the item and can mismatch the feed.
Reads prices from your public catalogue and product markup. Saved to your account if you are signed in to a paid plan.
How this check works
Shipwork reads the price of every product in your public catalogue where one is exposed, and the price and currency in your product page markup. It flags missing, zero and currency-less prices: the price problems that lead to disapproval.
What the product price check reads
The check reads two sources. It reads the public product list a store exposes, and it reads the raw HTML of the product pages in the crawl sample, looking for a price value and a currency in the page's structured data. It flags a product whose price is missing or zero in the list, a page whose markup carries a zero price, a page with no price value in its markup, and a page that has a price but names no currency.
The free run reads a sample of up to 20 pages and up to 40 products from the public list. It does not read the private feed you send to a merchant platform, and it cannot judge whether a price is fair or whether a promotion is running. It checks presence, a positive value and an explicit currency.
How to read a price finding
An error means a value is wrong in a way that blocks a listing: a product with no price, or a price of zero, cannot be bought, so it cannot be listed. A warning is a gap that weakens a listing. A price with no currency is ambiguous, because a bare number does not say whether it is pounds, euros or dollars, and an ambiguous value can disagree with the feed.
A clean result means the products and pages in the sample carried a usable price and currency when the check ran. It does not prove that every product on the site is priced, that your merchant feed agrees, or that a shopper sees the same number. The check reads the page and the public list, which is what a listing platform verifies against.
Why missing or zero prices cost listings
A placeholder product, a coming-soon item or an imported row with a blank price field is common. So is a zero price used as a signal to ask for a quote. All of these read as a product that cannot be bought. A page without any price in its markup gives a search engine nothing to show, so the result can appear without a price or be dropped from a shopping surface.
A missing currency is quieter but real. If the page states a number and the feed states a different currency, the two disagree and the item can be flagged as inaccurate. Price is also the field shoppers compare most, so an error here is a lost sale even before any listing is affected.
Fix prices at the source
For a product with no price, set a real value above zero, or remove it from sale until it is priced. For a zero price, correct the underlying product rather than the display. For a price with no currency, add a currency code alongside it, for example "priceCurrency": "GBP" in the product structured data.
On Shopify and WooCommerce the theme and the structured data normally render from the same product field, so fixing the product fixes both. If your markup is hardcoded or cached it can drift from the product, so inspect the template as well. After a change, re-run the check and confirm the public list shows the new value.
When to use related checks
Use availability check to see whether the same products are advertised while out of stock, since price and stock are the two most volatile catalogue fields. Use schema vs page to confirm the price in the structured data matches the visible price element, and feed check to inspect the public list these checks read.
If a page carries no price because there is no product markup at all, structured data check and product page check show what is missing. The guides invalid price and price mismatch walk through the two failing cases.
Errors this check finds, and their fixes
- Mismatched price: Why the price in your feed must match the page to the cent, and the fix
Questions
Why is a zero price rejected?
What is priceCurrency and why does it matter?
Can Shipwork see the price in my feed?
How do I check if my product prices are missing?
Does the price check read my merchant feed?
How often should I check prices?
Keep reading
What this reads
- Reads public pages from outside your network, the way a crawler does.
- No signup, and nothing is stored on the free checks.
- One of 83 checks across discovery, content, markup, trust and catalogue data.
Cool, just ran an audit and got some insights! Let’s see if I can fix them :)
Whoah! this site is crazy, nothing to roast at all
cool as heck, tried it on my blog and the insights it gave are helpful and not bluff.