En beta. Plazas limitadas.Abierto a todos en el primer trimestre de 2027

↑↓ moverse · Enter abrir · Esc cerrar

Datos estructurados

¿Qué es AggregateOffer en Schema.org?

AggregateOffer es el tipo de Schema.org que resume en un solo nodo varias ofertas de un mismo producto, con el precio más bajo, el más alto y el número de ofertas, por ejemplo cuando un mismo modelo lo venden varios comercios. Es una clase de Offer, y Google pide no usarla para describir las tallas o los colores de una ficha.

Escrito por
Revisado por
Publicado 6 min de lectura
Takeaway:

Lo esencial

  • AggregateOffer resume varias ofertas del mismo producto: el precio más bajo (lowPrice), el más alto (highPrice) y cuántas hay (offerCount).
  • Es un subtipo de Offer pensado para cuando el mismo artículo lo venden comercios distintos, como en un comparador.
  • Google pide no usarlo para un conjunto de variantes: las tallas y los colores van en un grupo de productos, cada uno con su oferta.
  • Los fragmentos de producto lo aceptan y exigen lowPrice y priceCurrency; las fichas de comerciante no, solo aceptan Offer.

AggregateOffer suele aparecer en una pregunta concreta: tengo una camiseta que cuesta una cosa en la talla S y otra en la XXL, ¿cómo le digo a Google «desde tanto»? La respuesta de Google es que con AggregateOffer no. Es un tipo de Schema.org, se escribe en inglés porque es un nombre del vocabulario, y no tiene nada que ver con una oferta en el sentido de promoción: «agregada» significa que resume varias. Te importa porque es un error fácil en los datos estructurados de una tienda con variantes de producto, y porque, puesto en la ficha equivocada, cierra la puerta a uno de los dos tipos de resultados enriquecidos de producto que tiene Google.

Cómo funciona

Schema.org define AggregateOffer para cuando un mismo producto está asociado a varias ofertas, y pone el ejemplo del mismo par de zapatos vendido por comercios distintos. Desciende de Offer, así que es una oferta que resume otras, y añade cuatro propiedades propias:⁠[1]Schema.org. AggregateOffer

Propiedad Qué dice
lowPrice El precio más bajo de todas las ofertas disponibles
highPrice El precio más alto de todas las ofertas disponibles
offerCount El número de ofertas del producto
offers Las ofertas que resume, si se quieren detallar una por una

Google toma el tipo y lo acota. En su documentación de fragmentos de producto lo describe como una clase de Offer que representa la suma de otras ofertas, que puede usarse, por ejemplo, para un producto que venden varios comerciantes, y añade una línea que conviene leer dos veces: no uses AggregateOffer para describir un conjunto de variantes de un producto.⁠[2]Google Search Central. Product snippet (Product, Review, Offer) structured data

Cuando se usa, Google pide dos propiedades: lowPrice y priceCurrency, la moneda en formato ISO 4217 de tres letras. Recomienda otras dos: highPrice y offerCount.⁠[2]Google Search Central. Product snippet (Product, Review, Offer) structured data

Y hay una experiencia de Google a la que no da acceso. De las dos maneras en que Google presenta un producto, los fragmentos de producto aceptan Offer o AggregateOffer, pero las fichas de comerciante exigen Offer, porque para optar a ellas el comerciante tiene que ser quien vende el producto.⁠[3]Google Search Central. Merchant listing (Product, Offer) structured data Una tienda que marca su propia ficha con AggregateOffer está describiendo un comparador, no una tienda.

Las variantes tienen su propio camino. Google pide un ProductGroup que reúna las variantes con hasVariant, diga con variesBy qué cambia entre ellas (la talla, el color) y lleve en productGroupID la referencia del producto padre; cada variante es un Product con su propia oferta y su propio precio.⁠[4]Google Search Central. Product variant (ProductGroup, Product) structured data El rango de precios, en ese modelo, no se escribe: se deduce de las ofertas de cada variante.

En una tienda

Dos páginas, dos marcados. Ejemplo ficticio: las tiendas, el producto, los precios y el número de ofertas son inventados.

La primera es un comparador que enseña la misma cafetera en varias tiendas. Ahí AggregateOffer encaja: el comparador no vende, resume.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Cafetera italiana Lucía, 6 tazas",
  "offers": {
    "@type": "AggregateOffer",
    "lowPrice": "24.90",
    "highPrice": "32.50",
    "priceCurrency": "EUR",
    "offerCount": "5"
  }
}

La segunda es la ficha de una tienda que vende esa cafetera en dos tamaños, cada uno a su precio. Ahí lo que corresponde es un grupo con una oferta por variante, como describe Google para las variantes:⁠[4]Google Search Central. Product variant (ProductGroup, Product) structured data

{
  "@context": "https://schema.org",
  "@type": "ProductGroup",
  "name": "Cafetera italiana Lucía",
  "productGroupID": "LUCIA",
  "variesBy": "https://schema.org/size",
  "hasVariant": [
    {
      "@type": "Product",
      "name": "Cafetera italiana Lucía, 3 tazas",
      "sku": "LUCIA-3",
      "size": "3 tazas",
      "offers": { "@type": "Offer", "price": "22.90", "priceCurrency": "EUR" }
    },
    {
      "@type": "Product",
      "name": "Cafetera italiana Lucía, 6 tazas",
      "sku": "LUCIA-6",
      "size": "6 tazas",
      "offers": { "@type": "Offer", "price": "27.90", "priceCurrency": "EUR" }
    }
  ]
}

La diferencia no es de estilo. En el primer caso, la página dice «hay cinco ofertas de este producto entre tal y tal precio», que es verdad en un comparador. En el segundo, la página vende, y cada tamaño es un producto con su precio: escribirlo como un rango con AggregateOffer sería describir variantes, que es justo lo que Google pide no hacer,⁠[2]Google Search Central. Product snippet (Product, Review, Offer) structured data y dejaría la ficha fuera de las fichas de comerciante.⁠[3]Google Search Central. Merchant listing (Product, Offer) structured data Los dos fragmentos son ejemplos reducidos: una ficha real lleva además la imagen, la disponibilidad y el resto de propiedades que pide cada experiencia.

Warning:

Lo que se suele confundir

Usar AggregateOffer para enseñar el rango de precios de las tallas o los colores de tu propia ficha. Parece hecho para eso, porque tiene un precio más bajo y uno más alto, pero Google lo descarta expresamente para los conjuntos de variantes,⁠[2]Google Search Central. Product snippet (Product, Review, Offer) structured data y en una página que vende, las fichas de comerciante solo aceptan Offer.⁠[3]Google Search Central. Merchant listing (Product, Offer) structured data

Cómo comprobarlo

  1. Busca «AggregateOffer» en el código fuente de tus fichas. Si no aparece, este término no te afecta; si aparece, sigue.
  2. Mira de dónde salen lowPrice y highPrice. Si son los precios de tus propias tallas o colores, el marcado describe variantes, y Google pide no hacerlo con este tipo.⁠[2]Google Search Central. Product snippet (Product, Review, Offer) structured data
  3. Pasa la URL por la Prueba de resultados enriquecidos y apunta qué experiencias detecta. Una ficha donde se compra debería poder optar a ficha de comerciante, y para eso la oferta tiene que ser Offer.⁠[5]Ayuda de Search Console. Rich Results Test⁠[3]Google Search Central. Merchant listing (Product, Offer) structured data
  4. Si tu página sí compara vendedores, comprueba que lleva lowPrice y priceCurrency, que son las obligatorias, y añade highPrice y offerCount, que Google recomienda.⁠[2]Google Search Central. Product snippet (Product, Review, Offer) structured data

Concepto cercano: ProductGroup

La confusión de fondo no es entre AggregateOffer y Offer, que la entrada de Offer ya separa, sino entre resumir ofertas y agrupar variantes. AggregateOffer resume ofertas de un mismo producto, normalmente de vendedores distintos.⁠[1]Schema.org. AggregateOffer ProductGroup agrupa productos que solo se diferencian en algo, como la talla o el color, y cada uno lleva su oferta.⁠[4]Google Search Central. Product variant (ProductGroup, Product) structured data Si en tu página hay un selector de talla, la palabra que buscas es ProductGroup; si hay una lista de tiendas que venden lo mismo, es AggregateOffer.

Para seguir, la ruta de lectura de datos estructurados ordena el resto de términos, y la guía para auditar los datos estructurados de una ficha recorre una ficha con variantes propiedad por propiedad.

Sinónimos

English
aggregate offer, aggregate offer schema
Español
oferta agregada

Fuentes

  1. [1] Schema.org. AggregateOffer. Consultado el . ↑ ↑
  2. [2] Google Search Central. Product snippet (Product, Review, Offer) structured data. Consultado el . ↑ ↑ ↑ ↑ ↑ ↑
  3. [3] Google Search Central. Merchant listing (Product, Offer) structured data. Consultado el . ↑ ↑ ↑ ↑
  4. [4] Google Search Central. Product variant (ProductGroup, Product) structured data. Consultado el . ↑ ↑ ↑
  5. [5] Ayuda de Search Console. Rich Results Test. Consultado el . ↑

Historial de cambios

  • Primera versión.

Esta definición se publica bajo licencia CC BY 4.0. Puedes reutilizar esta definición citando a Clione con un enlace a esta página.

Haz que los bots entiendan tu catálogo

Clione completa cada ficha de producto con lo que los bots leen mejor: el grafo JSON-LD con sus datos estructurados, la meta description y las preguntas frecuentes. Tú revisas y pulsas Push; después comprobamos tu tienda en vivo para que todo siga publicado.