SecondDoor

Making products legible to a machine

Product and Offer markup, why feeds are the new storefront, and what an agent does when your prices are only pixels.

The check that decides everything

Fetch one of your product pages with curl and read what comes back. If the price is not in there, an agent comparing you against three competitors cannot include you in the comparison.

This is the most common failure in retail. Prices render client side from a pricing service, so a person sees them and a fetch sees an empty shell. SecondDoor measures exactly this: prices in raw HTML against prices after rendering, on your real product pages.

Markup is the fallback every agent shares

Where an agent has a feed partnership it uses the feed. Everywhere else it parses the page, and Product and Offer structured data is what makes that reliable rather than a guess at your layout. Google states plainly that on-page markup is the verification signal for its shopping surfaces.

Completeness is what separates useful from decorative. Price and currency let an agent compute a total. Availability stops it recommending something you cannot ship. A GTIN or MPN lets it match your item to the same item elsewhere, which is how you get compared on merit rather than skipped.

Feeds where you can get them

Google Merchant Center is the entry ticket to AI Mode and Gemini shopping, and the free listing costs nothing but the work. OpenAI accepts a product feed pushed to an allow-listed endpoint, refreshed as often as every fifteen minutes. Shopify syndicates catalog data across its own agent surfaces.

None of that replaces the page. Feeds cover the surfaces you have a relationship with; markup covers every other agent that arrives.

Questions

We have thousands of products. Where do we start?
The pages that already earn traffic. Markup on your top sellers reaches most agent queries, and the template work carries the rest of the catalog once it exists.
Is structured data enough on its own?
Only if the agent can reach the page. Markup behind a bot challenge is invisible. Access first, then markup, then feeds.
What about prices that vary by customer?
Publish a public price and mark it as such. An agent that finds a starting price can rank you; one that finds nothing cannot.
How pricing legibility is scoredCheck your own site
Making products legible to a machine, SecondDoor