We read the public product feed of 34 well-known Shopify stores. 2,079 of their 10,107 published products were completely out of stock — still live, still crawlable, still being fed to Google Shopping.
/products.json
A product whose every variant is unavailable does not quietly disappear. Its page stays live and indexed, it keeps absorbing crawl budget, it keeps receiving ad clicks, and it keeps being submitted to Google Shopping and Meta catalogues — where it is suppressed or disapproved rather than sold. Shoppers who land on it bounce.
This is not a rare failure. 32 of the 34 stores we scanned were carrying dead products, and 11 of them were carrying enough to affect a meaningful share of their catalogue. The worst in the sample, intelligentsia.com, had 234 of 331 published products (70.7%) with nothing buyable on the page. The median store scored 80 out of 100.
These are competent, well-run brands. That is the point: the problem accumulates silently because nothing in Shopify surfaces it, and the public feed is the one place it becomes measurable from outside.
| Store | Score | Products | Variants | Dead | Share of catalogue dead |
|---|---|---|---|---|---|
| intelligentsia.com | 48 | 331 | 500 | 234 | 70.7% |
| counterculturecoffee.com | 51 | 173 | 284 | 118 | 68.2% |
| athleticbrewing.com | 54 | 260 | 419 | 161 | 61.9% |
| allbirds.com | 54 | 293 | 2,855 | 211 | 72% |
| onyxcoffeelab.com | 60 | 248 | 623 | 95 | 38.3% |
| peets.com | 62 | 310 | 1,150 | 79 | 25.5% |
| greatjonesgoods.com | 72 | 68 | 354 | 13 | 19.1% |
| hedleyandbennett.com | 72 | 928 | 1,515 | 413 | 44.5% |
| parachutehome.com | 73 | 1,578 | 4,450 | 338 | 21.4% |
| kosas.com | 74 | 86 | 330 | 6 | 7% |
| chubbiesshorts.com | 75 | 1,605 | 9,670 | 45 | 2.8% |
| ridgewallet.com | 77 | 146 | 198 | 44 | 30.1% |
| brooklinen.com | 77 | 468 | 6,159 | 18 | 3.8% |
| floydhome.com | 77 | 172 | 2,887 | 7 | 4.1% |
| materialkitchen.com | 77 | 58 | 171 | 9 | 15.5% |
| stumptowncoffee.com | 79 | 101 | 138 | 31 | 30.7% |
| drsquatch.com | 80 | 548 | 613 | 56 | 10.2% |
| wildone.com | 80 | 57 | 329 | 16 | 28.1% |
| magicspoon.com | 83 | 241 | 342 | 25 | 10.4% |
| tenthousand.cc | 84 | 123 | 5,727 | 0 | 0% |
| starface.world | 84 | 51 | 56 | 1 | 2% |
| rothys.com | 85 | 710 | 12,385 | 109 | 15.4% |
| nativecos.com | 86 | 97 | 523 | 4 | 4.1% |
| glossier.com | 86 | 113 | 356 | 1 | 0.9% |
| maxbone.com | 88 | 100 | 567 | 6 | 6% |
| lolavie.com | 88 | 44 | 63 | 1 | 2.3% |
| liquid-iv.com | 89 | 72 | 76 | 1 | 1.4% |
| functionofbeauty.com | 89 | 39 | 199 | 0 | 0% |
| beardbrand.com | 90 | 74 | 111 | 9 | 12.2% |
| hydrojug.com | 92 | 466 | 757 | 6 | 1.3% |
| lacolombe.com | 93 | 59 | 127 | 6 | 10.2% |
| klatchcoffee.com | 95 | 91 | 620 | 5 | 5.5% |
| deathwishcoffee.com | 97 | 148 | 425 | 3 | 2% |
| misen.com | 98 | 249 | 341 | 8 | 3.2% |
| Check | Stores affected | Items found |
|---|---|---|
| Published products with every variant out of stock | 32/34 | 2,079 |
| Shippable variants with zero weight | 29/34 | 14,514 |
| Products with some but not all variants out of stock | 28/34 | 1,977 |
| Products with no product type | 27/34 | 2,208 |
| Variants with no SKU | 26/34 | 4,539 |
| Variants priced at zero | 20/34 | 906 |
| Variants where the compare-at price equals the selling price | 14/34 | 5,070 |
| Products with no image at all | 13/34 | 179 |
| Duplicate product titles | 12/34 | 150 |
| Variants where the compare-at price is lower than the selling price | 7/34 | 74 |
Start here
Run the checker on any Shopify store →
It runs entirely inside your own browser. Nothing is uploaded, nothing is stored, and no account is involved — which also means we never see your result, so if you want the full CSVs you have to ask for them. The free check is genuinely unlimited: it costs a couple of seconds of your own computer, so there is nothing to ration.
If the result is bad enough that you want every affected product rather than the first twelve, plus the order to fix them in, that is the €19 audit — and you will have seen your score before deciding. Or just send a store URL to seehuetterdominik@gmail.com.
Send a store URL. Everything is read from that store's own public /products.json feed — the same file Google Shopping, Meta catalogues and every marketplace importer already read. There is no login, no app install, no code on your site, and nothing touching order or customer data. robots.txt is checked and respected before the first request, and a store that disallows it is skipped rather than worked around.
A scan takes a few seconds. The audit comes back as a single self-contained HTML file you can open or forward, plus the CSVs.