XooCode(){

OnlineMarketplace

OnlineMarketplace is an Organization subtype (via OnlineStore and OnlineBusiness) for multi-vendor ecommerce platforms: marketplaces where independent sellers list products through a shared storefront. It has 1 property of its own: hasStore, which lists the individual OnlineStore entities within the marketplace. Google reads this for merchant identity in Shopping results, distinguishing the marketplace from the individual sellers.

The type hierarchy is Thing → Organization → OnlineBusiness → OnlineStore → OnlineMarketplace. Since it extends OnlineStore, all commerce properties apply: hasMerchantReturnPolicy, hasOfferCatalog, makesOffer. The marketplace-level return policy may differ from individual seller policies. Use hasStore to list sellers, each with their own return and shipping policies.

Full example of schema.org/OnlineMarketplace json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/OnlineMarketplace
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@id": "https://marketplace.xoocode.com#marketplace",
  "@type": "OnlineMarketplace",
  "name": "Xoo Marketplace",
  "url": "https://marketplace.xoocode.com",
  "description": "Multi-vendor marketplace for Xoo universe products. Shop from Xoo Code, Dunmore Books, and other Dunmore Main Street businesses.",
  "logo": "https://marketplace.xoocode.com/images/logo.png",
  "hasStore": [
    {
      "@type": "OnlineStore",
      "name": "Xoo Code Shop",
      "url": "https://marketplace.xoocode.com/stores/xoo-code-shop",
      "isStoreOn": { "@id": "https://marketplace.xoocode.com#marketplace" },
      "hasMerchantReturnPolicy": {
        "@type": "MerchantReturnPolicy",
        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
        "merchantReturnDays": 30,
        "applicableCountry": "CA"
      }
    },
    {
      "@type": "OnlineStore",
      "name": "Dunmore Books Online",
      "url": "https://marketplace.xoocode.com/stores/dunmore-books",
      "isStoreOn": { "@id": "https://marketplace.xoocode.com#marketplace" }
    }
  ],
  "sameAs": [
    "https://www.facebook.com/xoomarketplace",
    "https://www.instagram.com/xoomarketplace"
  ]
}
</script>

hasStore

hasStore takes an array of OnlineStore objects, one per seller on the marketplace. Each store can have its own name, url, hasMerchantReturnPolicy, and makesOffer. The inverse property on OnlineStore is isStoreOn, which points back to the marketplace. Google uses this to attribute products to the correct seller in Shopping results.

OnlineMarketplace vs OnlineStore

An OnlineStore is a single-vendor shop. An OnlineMarketplace is a platform hosting multiple OnlineStores. Amazon is an OnlineMarketplace. A single Shopify store is an OnlineStore. If you run a multi-vendor marketplace (Etsy model), use OnlineMarketplace with hasStore. If you run a single-brand store, use OnlineStore.

Pending type

OnlineMarketplace is in schema.org's pending extensions, meaning it is accepted but still collecting implementation feedback. Google already reads it for Shopping merchant identity. The type is stable enough to implement now, but property names or expected types could still change in future schema.org releases.

Minimal valid version

The smallest markup that still produces a valid OnlineMarketplace entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/OnlineMarketplace (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "OnlineMarketplace",
  "name": "Xoo Marketplace",
  "url": "https://marketplace.xoocode.com",
  "hasStore": [
    { "@type": "OnlineStore", "name": "Xoo Code Shop", "url": "https://marketplace.xoocode.com/stores/xoo-code-shop" }
  ],
  "description": "Multi-vendor marketplace for Xoo universe products."
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

Common OnlineMarketplace mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Using Organization for a multi-vendor marketplace

    Wrong
    "@type": "Organization" for an ecommerce marketplace
    Right
    "@type": "OnlineMarketplace"

    OnlineMarketplace tells Google this is a multi-vendor platform, not a single company. This affects how Google attributes products in Shopping results: to the marketplace or to the individual seller. Without the correct type, all products may be attributed to the marketplace operator.

  2. 02

    Missing hasStore

    Wrong
    OnlineMarketplace with no hasStore listing sellers
    Right
    "hasStore": [{ "@type": "OnlineStore", "name": "Xoo Code Shop", "url": "..." }]

    hasStore is the one property OnlineMarketplace adds. Without it, there is no reason to use the type over OnlineStore. List the sellers so Google can attribute products to the correct merchant.

  3. 03

    Using OnlineMarketplace for a single-brand store

    Wrong
    "@type": "OnlineMarketplace" for a single Shopify store
    Right
    "@type": "OnlineStore" for single-vendor; OnlineMarketplace for multi-vendor platforms

    OnlineMarketplace implies multiple independent sellers. A single-brand store is an OnlineStore. Misusing the type can confuse Google Shopping about who the actual merchant is.

About the example data

A fictional "Xoo Marketplace" where multiple Xoo universe businesses sell products: the Xoo Code Shop and Dunmore Books each have an OnlineStore within the marketplace.

Comments

Loading comments...

Leave a comment