/ Research · Shopify · October 2026
What is a supplier catalogue missing for Shopify?
An engine spare parts distributor gets its products as PDF catalogues, another shop’s listing and a price list. No supplier has an API. I counted what each file brings, field by field, across 37,948 products, and compared it with what Shopify and Google need to sell them.
Not on this page: supplier names, the company’s name or any single product. Only counts.
/ In short
The numbers
/ 01 · What arrives
What data arrives from suppliers
Every product has a name and 91% end up with a price. Only 3.8% come with a description and compatible engines, all from the PDF catalogues. No file brings a photo, barcode, weight, stock, lead time, cost or cross-references.
What each product arrives with
Share of the 37,948 products. Price counts after joining sources by reference.
/ 02 · In Shopify
What each missing field means in Shopify
Each empty field has consequences in the shop: it changes how orders ship, how customers filter and whether Google shows the product. For each one, what Shopify does with it and what the tool decided.
Product media. Google Merchant Center rejects placeholders such as “coming soon”, but allows a generic image or illustration in Vehicles & Parts (category 888).
One generic image per part family on 22,211 listings, with “indicative image” in the alt text. The rest go without.
Barcode column. Without a GTIN, Google ranks the product lower but accepts brand + MPN instead.
The supplier reference goes into the SKU, ready to be used as the MPN. Barcode stays empty instead of invented.
Shipping. Weight-based rates and carrier-calculated rates need a weight on every variant.
Weight column ready but empty. Shipping has to use flat or price-based rates until a supplier sends weights.
Inventory. Tracked inventory stops selling at zero. Untracked, the product can always be bought.
Inventory not tracked, continue selling, and an availability metafield set to “Ask”, with the shop phone in the description.
Cost per item. Feeds Shopify’s margin and gross profit reports.
Empty. Prices come from the market, not from a tariff, so there is no cost to report yet. The column fills itself once a tariff arrives.
Product page and SEO. Title, body, SEO title and meta description.
Titles rewritten and translated from the name. SEO title and meta description generated for 34,339 of 34,339 listings.
Metafields and filters. Make, models and engine codes as list metafields that Search & Discovery can filter on.
Written to three metafields. Section 04 shows why a plain filter will not hold them.
Product type, tags and collections. Automated collections pick products by tag.
134 product types and one tag per engine system, so 15 automated collections fill themselves.
/ 03 · Five sources
The five sources
Source C, an original parts listing saved from an online shop, has 107,632 rows. 71,118 are dropped as not engine parts. The remaining 36,514 are 96% of the catalogue and bring a name, a reference and a price, with no description, no engines and no family: the tool works out the family from the name for 35,970.
Where the 37,948 products come from
The PDFs are the opposite: descriptions and engines, no prices. B and D take their price from list E by joining on the reference: 1,259 of 1,289 and 135 of 137.
| Source | Format | Rows read | Kept | Priced after joining | With description |
|---|---|---|---|---|---|
| A · Gasket catalogue | 8 | 8 | 0 | 8 | |
| B · Catalogue by engine make | 1,289 | 1,289 | 1,259 | 1,289 | |
| C · Original parts listing from an online shop | Web | 107,632 | 36,514 | 32,985 | 0 |
| D · Piston catalogue | 137 | 137 | 135 | 137 | |
| E · Market price list | Web | 1,426 | 1,426 | 1,394 | 0 |
/ 04 · Filters
Vehicle filters in Shopify
Search & Discovery can filter on list text metafields, but a filter shows at most 100 values in the shop and a group holds 200. Vehicle make fits: 10 values. Models and engine codes do not: 1,179 models on only 559 listings, and 707 codes on 450.
Distinct values per filter
Make does not narrow much either: one make is on 97% of listings. What works from day one are the 15 automated collections by engine system. Searching by model or engine needs a fitment search (an app or metaobjects), and first, more compatibility data from suppliers.
/ 05 · Images
Generic images per family
With no photos, each listing gets its family’s generic image when there is one: 22,211 listings, 65%. Google accepts it because the parts sit in the Vehicles & Parts category. A gasket looks like the next gasket; a sensor or a workshop tool does not, and there coverage drops to almost zero.
Listings per system, and how many get an image
Bar length: listings, out of 34,339. Percentage: share with a generic image.
/ 06 · Import
Shopify's import limit
The full import file weighs 24.7 MB and Shopify takes 15 MB per CSV. It has to go in two or more parts, or as samples, which is how the tool starts.
Full import file
Updating prices has its own trap. With “Overwrite products with matching handles” on, a blank cell clears the value in the shop. That is why price changes go in a separate CSV with only 7 columns, matched by SKU: title, URL handle, option name and value, SKU, price and cost.
/ 07 · Two tests
Two changes tested and not applied
Both improved a number, but checked by hand they made the shop worse.
Image by name
Looking up images by words in the name gives 3,100 more listings a picture. In a hand-checked sample, 14 of 15 showed the wrong part. A wrong photo breaks Google’s rule that the image shows the product.
Off by defaultFiltering by whole words
Cleaner on paper. On the full files it removes 840 products, 420 of them springs, and lets in 75 that are not engine parts, such as cable grommets. What the shop sells is the client’s call.
Not shipped/ 08 · Method
How it was counted, and its limits
- One company, five sources. It describes this case, not the whole sector.
- Counts come from the tool itself on the full files, run on 25 October 2026. A field counts as present when it is not empty.
- Sources anonymised as A to E. Product-level data is the client’s; the downloadable files only hold the counts on this page.
- Market prices from source E and the online shop listing, not the distributor’s tariff.
- The image test was checked on 15 listings: enough to see the problem, not to size it exactly.
- Shopify and Google limits taken from their documentation on 26 October 2026.
Sources: Shopify: importing products with a CSV file · Shopify: Search & Discovery filters · Google: image link · Google: product identifiers
How the tool that did the counting was built: the case study.
/ Next
I check before I publish.
The counts come from the tool I built with help from Claude. What to count, the manual review of the samples and which changes not to ship were my call. If your team has a catalogue that does not add up, email me.