Sitemap
Rowmint | Product Data Lab

Rowmint | Product Data Lab

Rowmint by Mingche Commerce. Product feed checks, supported CSV repairs and practical catalog notes. Free check: https://www.mingcheip.com

I’ve Stopped Thinking of Product Feeds as Exports

5 min readOct 7, 2026
Press enter or click to view image in full size

A CSV used to feel like a file you sent somewhere. In AI shopping, it’s starting to feel more like an interface between your store and the machines trying to understand it.

For a long time, I thought of a product feed as an export.

You have a store.

You export the catalog.

Some other platform imports it.

Done.

The CSV is basically transportation.

A boring file that moves product information from point A to point B.

The more time I spend building Mingche and looking at where commerce is heading, the less accurate that feels.

I’m starting to think of the feed as something closer to an interface.

Not a user interface.

A machine interface.

It is one of the ways your store explains itself to systems that may never experience your website the way a human does.

That sounds like a small semantic difference.

I don’t think it is.

Think about what happens when a shopper visits a store.

They see the photography.

The layout.

The sale banner.

The product description.

The color picker.

Reviews.

Maybe a size guide.

They get context from dozens of little visual signals.

If something is slightly unclear, they can often work it out.

A machine may get a very different version of the store.

Something more like:

title
description
price
availability
brand
GTIN
image
variant
shipping
URL

That representation is much less forgiving.

If the wrong variant is attached to the URL, there is no beautiful storefront around it to explain the mistake.

If the stock status is stale, the field simply says the wrong thing.

If the title is vague, the machine has less context to compensate.

The feed is not just carrying the product.

In some situations, the feed is the product as far as the receiving system is concerned.

OpenAI’s current commerce documentation made this idea feel much less theoretical to me.

Its product-feed specification is explicitly designed to give ChatGPT accurate, up-to-date catalog information for product discovery and checkout.

The feed includes things like identifiers, descriptions, pricing, inventory and seller information, and OpenAI recommends keeping price and inventory fresh so product results remain accurate. OpenAI Developers

That is not really how I think about a static export anymore.

It sounds more like a contract:

Here is what I sell.
Here is what it costs.
Here is whether you can buy it.
Here is how the variants relate.
Here is the current state of the catalog.

And the receiving system makes decisions based on that contract.

Google is moving in a similar direction from another angle.

Google says accurate, correctly formatted product data is used to match products with relevant queries and is also a foundational input for its AI-powered formats and experiences. Google 帮助

Earlier this year, Google also introduced AI performance insights in Merchant Center to help merchants understand product discovery across AI Mode, AI Overviews and Gemini. Google 帮助

That caught my attention.

Because once merchants start measuring how products appear in AI surfaces, the feed stops feeling like back-office plumbing.

It becomes part of the storefront.

Just a storefront built for machines.

This changes how I think about a stale price.

If the feed is just an export, a stale price looks like:

bad data.

Fix the row.

If the feed is an interface, the same problem feels different.

Your store is effectively telling another system:

This product costs $59.

while the customer-facing store says:

$49.

That is not only a dirty database.

It is a broken conversation.

Two systems have different beliefs about the same product.

Variants make this even more obvious.

A merchant might look at one T-shirt page and think:

one product.

But the feed may need to represent:

Black / Small
Black / Medium
Black / Large
White / Small
White / Medium
White / Large

Each with its own availability, identifiers and sometimes price.

If those relationships are wrong, the file can still open perfectly.

The CSV is not “broken.”

The rows are there.

The columns are there.

But the interface is communicating the wrong product structure.

Get Rowmint | Product Data Lab’s stories in your inbox

Join Medium for free to get updates from this writer.

That is the kind of failure I find more interesting now.

It also changes the meaning of freshness.

When I thought of feeds as exports, daily updates sounded pretty good.

Export once.

Come back tomorrow.

For some catalogs, that is probably still completely reasonable.

But price and inventory are not really daily facts.

They are current-state facts.

A product can sell out at 2:14 PM.

The feed may still say in_stock at 6 PM.

At that point the problem is not that the original value was bad.

The message simply stayed alive longer than the reality it described.

That is why I keep ending up back at synchronization.

The better the interface becomes, the less distance there should be between:

what is true in the store

and

what the machine currently believes is true.

There is a funny consequence here for merchants.

Historically, a lot of product data felt like something you prepared for a platform.

Prepare the Google feed.

Prepare the marketplace listing.

Prepare the affiliate file.

Each destination was its own job.

AI shopping makes me wonder whether product data will gradually become more like shared infrastructure.

Not:

optimize this spreadsheet for one channel.

But:

maintain one trustworthy representation of the catalog that many machine systems can consume.

I don’t know if the industry will actually converge that neatly.

Probably not.

Standards have a habit of multiplying.

But the direction is interesting.

It also makes me think Mingche should be careful about becoming “a CSV fixer.”

That description is easy to understand.

It is also probably too small.

A clean CSV matters.

But what I actually care about is the layer underneath:

Does the merchant have a machine-readable version of the catalog that can be trusted?

The CSV may be one output.

Structured data is another.

A feed API might be another.

The exact transport mechanism can change.

The underlying problem stays surprisingly similar.

What is the product?

Which variant is this?

What does it cost?

Is it available?

Where did this fact come from?

Is it still current?

Can another system rely on it?

I used to think the website was the store and the feed was something attached to it.

I’m not sure that model survives AI shopping.

The website is still the experience humans see.

But machines increasingly encounter the merchant through other representations first.

A feed.

Structured data.

Catalog metadata.

A product API.

Maybe something we haven’t standardized yet.

That means merchants are slowly ending up with two storefronts.

One designed for people.

One designed for machines.

The second one does not need to be beautiful.

It needs to be precise.

And that might be the simplest way I can describe what I’m building toward with Mingche.

Not:

make the spreadsheet prettier.

Not even:

make Google accept the feed.

More like:

make the machine-facing version of the store easier to trust.

I’m still figuring out exactly what that product becomes.

But I no longer think the feed is just an export.

Once machines start making shopping decisions from it, it becomes part of the interface.

--

--

Rowmint | Product Data Lab
Rowmint | Product Data Lab

Written by Rowmint | Product Data Lab

0 followers

Rowmint by Mingche Commerce. Product feed checks, supported CSV repairs and practical catalog notes. Free check: https://www.mingcheip.com