- Bruxel.AI Blog
- Product feeds: how to send your catalog to every channel without redoing it
Product feeds: how to send your catalog to every channel without redoing it
By Manuel Mattar3 min read
In short
A product feed is the file or connection used to send a catalog to another system, such as a store, a marketplace or Google Merchant Center, with the columns and format that destination asks for. The practical approach is to build one feed per channel from the same product record, instead of maintaining a different spreadsheet for each.
What a feed is
A feed is how your catalog reaches another system. It can be a CSV file you upload to a marketplace, a file a channel reads periodically or an API connection that sends changes as they happen. In every case, the destination sets the rules:
- which columns it wants and under what names;
- in what order and with which separator;
- which values it accepts in each column, for example categories from its own tree or specific units;
- what is required to publish a product.
Google Merchant Center, for example, publishes a product data specification with the attributes it requires, the ones it recommends and those that only apply to certain products or countries.
One feed per channel, one product record
The classic mistake is keeping one spreadsheet per channel. At first it seems practical; a few months later each sheet says something different and nobody knows which is right.
The alternative is to have one product record per product and build one feed per channel from it. The feed decides which columns go out, under what name and in what format, but the data is the same. If you change the description, it changes in every feed.
What usually fails
- Empty cells that erase. In some destinations, an empty column does not mean “no change” but “delete the value”. Sending an incomplete feed can erase data the channel already had.
- Multi-value separators. If an attribute has several values and the destination expects a different separator from yours, the channel reads one strange value.
- Encoding. A CSV that is not UTF-8 turns accented letters into symbols.
- Categories that don't exist in the destination. Each channel has its own tree; sending yours as it is usually ends in rejection.
- Inconsistent identifiers. The SKU or GTIN changes between uploads and the channel creates duplicate products.
Before sending: how many will be complete
Before generating a feed, it helps to know how many products will come out complete with the columns that channel requires and how many have a gap. With that count you decide whether to send everything, leave out incomplete products or complete what is missing first.
File or connection
A file is simple and works with almost any destination, but it depends on someone generating and uploading it. A connection —a module in the store or an API— sends changes without intervention, but it has to be set up once. Many catalogs use both: a connection with their own store and files for marketplaces.
Updating without breaking
The first feed is easy; keeping it up to date is the hard part. A few rules help:
- Change the record, never the file. If you fix a value in the file, the next export puts it back wrong.
- Don't change identifiers. The SKU and the variant group identifier must stay the same on every upload.
- Read each upload's error report. It is the most precise list of what the channel did not accept.
- Watch for column changes. If a channel adds a required field, adjust its feed before the next upload.
How Bruxel handles it
In Bruxel each channel defines its columns, order, multi-value separator and language, and you can start from a template. Before downloading you see how many products will come out complete, and you can leave incomplete rows out so nothing gets erased at the destination. Exporting costs no credits. For your own store, Bruxel connects natively with Adobe Commerce and has a public API with notifications (webhooks) for any other system. The export guide shows it step by step, and the Adobe Commerce guide explains the module.
Where to start
Pick the channel that sells the most and download its data specification. Compare it against your catalog: which columns you already have, which are missing and which have a different format. That comparison is your first work list, and the first feed worth automating.
The video tutorial
Chapters
Video transcript
In this video, you'll export your product records to your store as an import-ready CSV.
Exporting costs no credits: you pay to generate, not to export. In Downloads, you pick the columns.
Shortcuts build the selection in one click: Basics, Meta & SEO, or All.
Next to each column is the exact name it will have in the file.
The file includes products with published content, and before you download it, you see how many will come out complete.
If your store erases data when a cell arrives empty, skip the incomplete rows.
Then download the CSV, ready to import.
If you'll repeat this download, save it as a channel.
A channel remembers the columns, their order, the language and the separator each destination expects.
You can also start from a template: the Adobe Commerce one brings the column names that CSV already uses.
“Measure” goes through your catalog and tells you how many products would come out complete in that channel.
It also shows which columns are missing most, and downloads the list of what each product still needs.
Each column can be required or optional, and the channel can export only the complete rows.
And on each product record, the Channels section tells you whether it's complete for each one.
If something's missing, it tells you what and takes you where you can fix it.
That wraps up the “Getting started” series. Next up: “The catalog”.
Frequently asked questions
Is a feed the same as exporting the catalog?
Almost. Exporting is getting the data out; a feed is exporting it in the exact shape a destination asks for: its columns, order, names and rules.
CSV or API?
It depends on the destination. Many channels accept CSV files for bulk uploads; others, or your own store, prefer an API or a module that receives changes. What matters is that both come from the same product record.
What do I do if a channel rejects part of the feed?
Use the channel's error report as a work list: it almost always points to a missing field or a value that does not meet its format. Fix it in the product record, not in the file, so it does not happen again.
Sources
About the author
Manuel Mattar
Founder of Bruxel.AI
In 2014 he founded Wolf Sellers, an e-commerce agency in Mexico City, and later Bruxel.AI, the AI-powered PIM.
See all posts by Manuel MattarTry it with your catalog
Create your free account and try Bruxel with your own products using the welcome credits.
Keep reading
· 3 min read
PIM, ERP and DAM: what each one does and how they connect
The ERP runs operations, the DAM stores files and the PIM describes the product so it can be sold. What each one does, where they overlap and how they connect.
· 3 min read
Categories and taxonomy: how to organize a catalog of thousands of products
A good taxonomy helps buyers find products and search engines understand your catalog. How to design the category tree and connect it with each channel.
· 3 min read
Product variants: how to model sizes, colors and versions
A T-shirt in five sizes and three colors is not fifteen separate products. How to model variants with a parent product and axes, and what channels ask for.