Best practices for agent-ready commerce are surprisingly unglamorous. Most are hygiene. All compound. The list below is ordered by leverage: the first items, if missing, cripple everything that follows.
1. Put a stable identifier on every SKU
GTIN when available, MPN+Brand otherwise, internal SKU as fallback. Agents dedup across merchants by identifier. No identifier, no comparability, no shortlist.
2. Make every PDP addressable without a login
Consent walls, JavaScript-only rendering and geolocation redirects silently hide the page from agents. Ensure the canonical URL returns meaningful HTML (including JSON-LD) on first request.
3. Type your attributes, do not bury them in prose
"Waterproof: yes", "Weight: 340g", "Battery life: 24h" — each as a structured field with a known unit. If your PIM only has a description field, enrich before you scale.
4. Express policies as data
Returns window, cost, method. Warranty scope and duration. Shipping regions, rates, ETAs. Use schema.org/MerchantReturnPolicy, schema.org/ShippingRateSettings. Prose is allowed in addition, not instead of.
5. Enforce price and stock parity
Feed price equals PDP price equals checkout price, at least 99% of the time. Same for availability states. This is an operations discipline, not a one-time migration.
6. Publish freshness SLAs
State in a public or partner-facing doc that feeds refresh every X minutes. Agents are increasingly sensitive to updated_at timestamps. Freshness you announce and meet beats freshness you hope for.
7. Cover the category taxonomy, not just your hero attributes
If the Google Product Category or GS1 GPC for your category has 18 attributes, cover all 18. Partial coverage is filterable-out by the agent.
8. Localize values, not just labels
Size conversions. Currencies. Weight units. Date formats. A Japanese shopper filtering for EU sizing should not be silently misrouted.
9. Emit order lifecycle events
Created, paid, confirmed, shipped, delivered, returned. Agents watching on behalf of users rely on these. Webhooks are preferable to polling.
10. Accept agent-pay credentials from at least your main PSP
Stripe Agentic Commerce, PayPal agent endpoints, Visa Intelligent Commerce, Mastercard Agent Pay — track the ones your PSP supports and enable them as they leave preview.
11. Instrument agent traffic
Tag traffic by user-agent. Log which PDPs are fetched, which feeds are ingested, and what proportion of traffic is agent-driven. You cannot optimize what you cannot see.
12. Build a public change-log for your catalog semantics
When you add an attribute, deprecate a field, or adjust shipping zones, publish it. Agents, partners and feed consumers are your users. Treat your catalog like an API because, increasingly, it is one. See catalog as API.
Three compound wins
If you can only do three things this quarter:
- Close the identifier gap (GTIN/MPN/Brand on 100% of active SKUs).
- Add structured returns and shipping policies to all PDPs.
- Close the price/stock parity gap between feed and PDP to >99%.
These unlock most of the agent-visibility surface for most merchants. The rest is compounding.
Where to go next
- Use the readiness checklist to audit.
- See the shape of the target state in product catalogs for AI.
- Understand the broader interoperability frame.