We fill in your Product Type field. You send a store address, we send the finished file.
Shopify never forces you to fill that field in, so on most stores it is blank on the majority of the catalogue and nobody notices until something that depends on it stops working. We read your whole catalogue, take the categories from the collection names you already use, and hand you a CSV.
Check your own store first — it takes ten seconds and needs nothing from us
Open yourstore.com/products.json?limit=250 in a browser and search the page for "product_type":"". Every match is a product with the field empty. If you barely find any, you do not need this page and we would rather you closed it.
What the empty field actually breaks
Three things, all of which read as a bug in something else.
- Automated collections
- A smart collection with a “Product type is equal to” condition matches that exact string. Blank, and the product silently never enters the collection — no error, it just is not there.
- Storefront filters
- Search & Discovery only offers a filter value if products carry it. With the field empty the filter either does not appear or appears with two options, and it reads as a broken app rather than empty data.
- Google Shopping and Performance Max
- Listing groups subdivide on product_type. With it blank your whole catalogue lands in “Everything else” and cannot be bid on, excluded, or reported by category. (It does not get you disapproved — that is google_product_category, which Google assigns for you.)
How it works
- 1
You send the store address. Nothing else.
No app to install, no collaborator access, no login. Your catalogue and your collections are already public at /products.json and /collections.json — the same endpoints your theme uses.
- 2
We read the whole catalogue, not a sample.
Walked page by page to the end of the feed. You get the real total, not the first 500 products with a percentage extrapolated off it.
- 3
Every blank product gets the narrowest of your own collections it sits in.
The values are words you already use. Shelves are thrown out, not used as types — New, Sale, Best Sellers, In Store Pickup, Under $50, a seasonal drop code, a theme slider. Those describe where a product sits, not what it is.
- 4
Anything we cannot place from your own collections is left out.
Deliberately. A wrong type is worse than an empty one, because a wrong one silently files a product in the wrong place and nobody goes back to check.
- 5
You get a three-column CSV — Handle, Title, Type — or we apply it for you.
Export your products before importing anything from anyone: Shopify’s importer matches on Handle and can touch variants, and we will not tell you a stranger’s spreadsheet is risk-free on a catalogue we do not own. Or send a collaborator invite and we apply it on a draft basis so you can look before anything is published.
What it has actually produced
38 catalogues read so far. 4 of them already had a Product Type on every single product — nothing to do, and we said so rather than invent a problem. Of the 34 with real blanks, 20 produced a file we were willing to hand over and 14 did not — the store's own collections were too coarse to type most of the catalogue, so no file was sent. Every other number on this page — the totals, the median, the floor — is measured over those 20 only. So read it as 20 out of 34, not as a hit rate. The 14 are named here instead of averaged in, because averaging a refusal into a median is how a page quietly turns it into a result.
- 5,650
- blank fields filled
- 7,215
- products read end to end
- 95%
- of the gap closed, median catalogue
- 1,204
- products deliberately left untyped
The weakest file we finished still covered 45% of that store’s blank products — that is the floor, not the average. The largest catalogue finished was 2,299 products, and the most distinct types produced for a single store was 111.
| Catalogue size | Field blank on | We filled | Left out | Types used |
|---|---|---|---|---|
| over 2,000 products | 2,276 of 2,299 | 2,090 | 186 | 104 |
| 500-2,000 products | 1,664 of 1,664 | 944 | 720 | 70 |
| 100-500 products | 499 of 499 | 488 | 11 | 111 |
| 100-500 products | 324 of 330 | 324 | 0 | 43 |
| 100-500 products | 290 of 308 | 211 | 79 | 31 |
| 100-500 products | 289 of 375 | 283 | 6 | 30 |
| 100-500 products | 275 of 356 | 273 | 2 | 14 |
| 100-500 products | 186 of 188 | 183 | 3 | 14 |
| 100-500 products | 169 of 195 | 169 | 0 | 26 |
| 100-500 products | 134 of 150 | 94 | 40 | 10 |
| 100-500 products | 116 of 116 | 84 | 32 | 8 |
| 100-500 products | 114 of 146 | 73 | 41 | 28 |
| under 100 products | 97 of 97 | 83 | 14 | 6 |
| under 100 products | 91 of 97 | 89 | 2 | 7 |
| under 100 products | 91 of 91 | 41 | 50 | 6 |
| under 100 products | 59 of 62 | 45 | 14 | 23 |
| 100-500 products | 55 of 112 | 55 | 0 | 23 |
| under 100 products | 45 of 45 | 44 | 1 | 4 |
| under 100 products | 43 of 47 | 43 | 0 | 7 |
| under 100 products | 37 of 38 | 34 | 3 | 14 |
What it costs
Right now, nothing, for a small number of stores. We need the case studies more than the money and would rather have a merchant who has seen the file than one who has read this page. After that it is a flat one-off per catalogue, quoted once we have read yours and know how much of it we can honestly place — not a subscription, and not a price quoted before anyone has looked.
There is no revenue claim anywhere on this page. We have never measured a sale caused by this fix and will not imply one. What is measured is above: how many fields were empty, how many we filled, and how many we refused to guess at.
Figures on this page were last recomputed on 2026-09-30 from the finished files themselves. Nothing here is typed in by hand, so it cannot drift away from the work.