Academy
Shopify product feed JSONL: a practical map
How Shopify catalogue facts can map to a JSONL product feed without confusing products, variants and storefront URLs.
Checked against the sources on 2 October 20267 min read

A Shopify product feed in JSONL is a line-delimited representation of shop products or variants, mapped from Shopify's maintained catalogue data into the fields a receiving platform documents. The difficult part is rarely the braces. It is choosing the right variant, public URL, image, price and availability for each line.
Why this matters now
Shopify keeps product data close to merchandising work, which is useful if the mapping respects how a product is actually sold. A T-shirt with five sizes and three colours is not one simple offer. When the channel needs variant-level price, stock or imagery, the feed needs the same honesty instead of flattening everything into one generic row.
What to check first
| Check | What good looks like | What to do if it is missing |
|---|---|---|
| Shopify source | Product and variant data | Read from the maintained catalogue |
| JSONL row | One valid product or variant record | Use a stable ID and clear mapping |
| Public URL | Customer destination for that record | Test it while logged out |
A practical way to do it
- Begin with public Shopify product data and current platform guidance.
- Decide which variants need their own feed rows based on sellable differences.
- Map stable product or variant identity without deriving it from the title.
- Use a public product URL and a direct image URL that match the item.
- Validate JSONL line by line, then test the hosted file as a public request.
Common mistakes
- Sending a product image that belongs to a different colour or variant.
- Using a storefront collection URL in place of a product URL.
- Assuming Shopify's ChatGPT connection means every separate feed use case is identical.
What this does not mean
A clean product feed makes your catalogue understandable to a receiving platform. It does not guarantee approval, inclusion, ranking, sales or a particular checkout experience. Those decisions and customer-facing flows remain with the platform and the merchant.
The useful habit is simple: correct the source data, then validate the exported feed. Do not patch a one-off file and assume the next shop sync will remember your fix. That is how a tidy launch turns into a slow drift a fortnight later.
See the missing fields in a public shop catalogue before you spend time formatting a feed by hand.
Run a free store checkQuestions
Does Shopify automatically create every JSONL feed?
Use the connection and format documented for your target channel; implementation details can differ.
Should every Shopify variant be a row?
Use distinct rows where the receiving format needs variant-specific commercial facts.