Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I use both Offer and AggregateOffer?

I have a product page, and the product can be bought from different sellers.

I saw Google seperates between AggregateOffer and Offer, as if I should choose either that tag or the other.

I tried using both like this, and it returned a markup error when testing with the Google tool, because I used offers twice:

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "MyName",
  "image": [
    "https://www.example.com/image1.jpg",
    "https://www.example.com/image2.jpg"
   ],
  "offers": {
    "@type": "AggregateOffer",
    "lowPrice": "100",
    "highPrice": "150",
    "priceCurrency": "USD",
    "offerCount": "3"
  }

      "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/page/",
    "priceCurrency": "USD",
    "price": "100",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock",
    "itemOffered": "Thing"
  }

}

I want to give as much info as possible, and according to Google, info such as availability applies to Offer rather than AggregateOffer.

So I have two options:

Either to use only one of the above Offer markups, or use the AggregateOffer and add inside it fields like availability, even though I did not see this as an example anywhere.

What will be better to do?

like image 384
user8411456 Avatar asked Dec 10 '25 21:12

user8411456


1 Answers

An AggregateOffer can reference all its Offer items:

{
  "@context": "https://schema.org/",
  "@type": "Product",

  "offers": {
    "@type": "AggregateOffer",
    "offerCount": 3,

    "offers": [
      {
        "@type": "Offer"
      },
      {
        "@type": "Offer"
      },
      {
        "@type": "Offer"
      }
    ]

  }

}

According to Google’s documentation about AggregateOffer, Google’s product rich result makes no use of the individual Offer items an AggregateOffer consists of, though.

Also note that AggregateOffer can have all the properties Offer can have (like availability), because Offer is the parent type, but these properties then apply to the aggregate offer itself, not to the individual offers it consists of, so most of these properties don’t make sense in this context.

like image 123
unor Avatar answered Dec 14 '25 16:12

unor



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!