Concept
Product feed
Also called data feed, shopping feed, product data feed, merchant feed, and catalogue feed.
A product feed is a structured file listing every item a shop sells, with one row per purchasable item and one column per attribute the destination understands. Sales channels use it to build their own copy of a catalogue, which is why a feed is a translation of a shop's data into another system's schema rather than an export of it.
Frequently asked questions
What is a product feed?
A structured file listing every item a shop sells, with one row per purchasable item and one column per attribute the destination understands. Channels such as Google Shopping and Meta read it to build their own copy of the catalogue, then keep that copy in step by fetching the file again on a schedule.
What file formats can a product feed use?
Most channels accept delimited text such as CSV or TSV, and XML in either RSS 2.0 or Atom 1.0. Some also offer an API for pushing individual changes between scheduled fetches. The format matters far less than whether the values inside it match the channel's schema.
Why can I not just export my Shopify products?
Because a channel's schema is not Shopify's. Shopify stores a description as HTML where channels want plain text, records availability as inventory quantity and policy where channels want a fixed vocabulary, and has no field at all for a Google product category. Every channel wants a different subset, named differently and formatted differently.
How is a product feed different from a sitemap?
A sitemap lists URLs so a crawler can find your pages. A product feed carries the product data itself, so the channel does not have to infer price, stock or identifiers from a page. The two serve different systems and do not substitute for one another.
Related attributes
- id The id attribute is the unique, permanent identifier a sales channel uses to recognise one item across every feed update. In a Shopify feed it must identify a single variant rather than a product, and once a channel has seen an id it should never be reused for a different item.
- title The title attribute is the product name a channel shows in a listing and matches against search queries, which makes it the single highest-leverage field in a product feed. On Shopify it usually needs building from the product title plus the variant's options, because the raw product title alone does not describe an individual variant.
- price The price attribute is the item's full price before any discount, submitted as a number followed by an ISO 4217 currency code. It must match what a shopper sees on the landing page in that market, including whether tax is included, which is why multi-market Shopify stores so often trip the price mismatch disapproval.
- availability The availability attribute tells a channel whether an item can be bought right now, using a fixed vocabulary rather than a stock count. On Shopify it cannot be read from inventory quantity alone, because a variant that does not track inventory or that allows overselling is purchasable at zero quantity.
Related concepts
- Variant-level feed A variant-level feed emits one row for each purchasable variant rather than one row per product, because sales channels treat every size, colour and material as a separately buyable item with its own price, stock and barcode. A Shopify product with four sizes in three colours is one product in the admin and twelve items to a channel.
- Product identifiers Product identifiers are the values that let a sales channel recognise that your listing and someone else's describe the same physical product: a GTIN, or a manufacturer part number together with a brand. They matter because a channel that can identify a product can attach reviews, specifications and competing offers to it, and one that cannot has to treat your listing as an unknown object.
- Feed scheduling Feed scheduling is the arrangement where a sales channel fetches a feed from a fixed URL on a repeating timetable instead of the merchant uploading a file. It matters because the interval between regenerations is the window in which a channel can be wrong about a price or a stock level, and most mismatch disapprovals are caused by that window being too wide rather than by a bad mapping.
Channels this applies to
Primary sources
Channel specifications change. These are the official documents this page is based on.