# OfferShippingDetails: los gastos de envío en schema

> Qué es OfferShippingDetails, qué pide Google para mostrar el coste y el plazo de envío, cuándo usarlo frente a la política general y cómo revisarlo.

URL: https://clione.ai/es/glosario/offershippingdetails/
Lang: es

Antes de comprar, casi todo el mundo busca lo mismo: cuánto cuesta el envío y cuándo llega. OfferShippingDetails es la manera de decírselo a un buscador en los [datos estructurados](/es/glosario/datos-estructurados/) de tu [ficha de producto](/es/glosario/ficha-de-producto/), con cifras y no con frases como «envío rápido». Es un tipo de [Schema.org](/es/glosario/schema-org/) y se escribe en inglés porque es un nombre del vocabulario. **Describe el envío de una oferta concreta, no la política de envíos de toda la tienda**, que tiene su propio sitio en el marcado. Te importa porque, según Google, con él la gente puede ver el coste del envío y el plazo de entrega estimado según dónde esté y según tu política de envíos.[^google-merchant-listing]

## Cómo funciona

Schema.org define OfferShippingDetails como la información sobre los destinos de envío, y explica que se usan varios a la vez: uno por cada zona con una tarifa distinta, o dos para el mismo destino que solo cambian en el precio y el plazo, uno más barato y lento y otro más caro y rápido.[^schema-org-osd] Va dentro de la oferta, el tipo [Offer](/es/glosario/schema-offer/), con la propiedad `shippingDetails`. Sus propiedades principales son el destino (`shippingDestination`), el coste (`shippingRate`), el plazo total desde que se recibe el pedido hasta que llega al cliente (`deliveryTime`) y `doesNotShip`, para decir que a un destino no se envía; también admite el origen del envío y el peso y las medidas del artículo.[^schema-org-osd]

Google lo usa en las [fichas de comerciante](/es/glosario/fichas-de-comerciante/). No es obligatorio, pero si lo pones y quieres que tu envío pueda mostrarse, pide tres cosas:[^google-merchant-listing]

| Propiedad             | Qué pide Google                                                                                                                                                                                                               |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `shippingDestination` | El país de destino en código de dos letras, como `ES`                                                                                                                                                                         |
| `shippingRate`        | El coste, con `value` o `maxValue`, y la moneda en código de tres letras, que tiene que ser la misma que la de la oferta. Envío gratis es `0`. Una sola tarifa por cada OfferShippingDetails                                  |
| `deliveryTime`        | Uno solo por envío, con dos partes: `handlingTime`, lo que tarda el pedido en salir del almacén, y `transitTime`, lo que tarda en llegar desde que sale. Cada una con un mínimo y un máximo de días enteros y la unidad `DAY` |

Si ofreces varias opciones al mismo destino, como un envío estándar y uno urgente, Google pide **un `shippingDetails` por opción**, cada uno con su combinación de coste y plazo.[^google-merchant-listing]

Desde el 12 de noviembre de 2025, Google admite además una política de envíos para toda la tienda, y eso cambió el papel de OfferShippingDetails.[^google-updates] La política general se escribe con otro tipo, ShippingService, dentro del nodo de la organización y con la propiedad `hasShippingService`, y puede variar el coste y el plazo según el peso, el valor del pedido, el número de artículos o el destino. Google recomienda ponerla en una sola página de tu web. **OfferShippingDetails queda para los productos que se salen de esa política**, y admite menos propiedades que ella.[^google-shipping-policy] La documentación de fichas de comerciante lo dice igual: recomienda la política general en la organización y usar el envío de la oferta solo para las excepciones o si no tienes política general.[^google-merchant-listing] Una oferta que sigue la general puede apuntar a ella con un OfferShippingDetails que solo lleve `hasShippingService` con el `@id` de esa política.[^google-merchant-listing]

Como con las devoluciones, el marcado es la fuente más débil. Google aplica primero la Content API for Shopping, después la configuración de envíos de [Google Merchant Center](/es/glosario/google-merchant-center/) o de [Search Console](/es/glosario/search-console/), después el marcado del producto y, al final, el de la organización.[^google-shipping-policy]

## En una tienda

**Ejemplo ficticio.** Una tienda de muebles inventada tiene su política general de envíos en el nodo de la organización. Una mesa de roble se sale de ella: por su tamaño viaja con otro transportista, cuesta más y tarda más. Su oferta lleva su propio envío a España:

| Lo que dice la ficha                    | Propiedad                            | Valor                                                                                 |
| --------------------------------------- | ------------------------------------ | ------------------------------------------------------------------------------------- |
| «Envío a España»                        | `shippingDestination.addressCountry` | `ES`                                                                                  |
| «Gastos de envío: 39 €»                 | `shippingRate`                       | `39`, `EUR` |
| «Sale del almacén en 1 o 2 días»        | `handlingTime`                       | de `1` a `2`, `DAY`                                                                   |
| «Entrega en 3 a 5 días desde la salida» | `transitTime`                        | de `3` a `5`, `DAY`                                                                   |

```json
"offers": {
  "@type": "Offer",
  "price": "649.00",
  "priceCurrency": "EUR",
  "shippingDetails": {
    "@type": "OfferShippingDetails",
    "shippingDestination": {
      "@type": "DefinedRegion",
      "addressCountry": "ES"
    },
    "shippingRate": {
      "@type": "MonetaryAmount",
      "value": 39,
      "currency": "EUR"
    },
    "deliveryTime": {
      "@type": "ShippingDeliveryTime",
      "handlingTime": { "@type": "QuantitativeValue", "minValue": 1, "maxValue": 2, "unitCode": "DAY" },
      "transitTime": { "@type": "QuantitativeValue", "minValue": 3, "maxValue": 5, "unitCode": "DAY" }
    }
  }
}
```

Lo que se lee en él. La moneda del envío es la misma que la del precio, como pide Google.[^google-merchant-listing] El plazo no se escribe como «de 4 a 7 días»: se separa en lo que tarda la tienda y lo que tarda el transportista, y el plazo total es la suma de los dos.[^schema-org-osd] Y el resto del catálogo no repite nada de esto, porque sigue la política general de la organización.[^google-shipping-policy]


Intentar marcar un envío distinto para Canarias, Baleares o una provincia. Schema.org lo permite, pero Google, para el destino de un envío, **solo admite regiones en Estados Unidos, Australia y Japón, y códigos postales en Australia, Canadá y Estados Unidos**.[^google-merchant-listing] En España, el destino que entiende Google es el país entero. Si tus tarifas cambian por zona, la ficha puede explicarlo en texto, y la configuración de envíos de Merchant Center es la que manda sobre el marcado.[^google-shipping-policy]


## Cómo comprobarlo

1. **Busca `shippingDetails` en el código fuente de una ficha** y anota el destino, el coste, la moneda y los dos plazos.[^google-merchant-listing]
2. **Compáralos con lo que ve el cliente** en la ficha y en el carrito para ese destino, incluido el umbral de envío gratis si lo tienes.
3. **Busca `hasShippingService` en el nodo de tu organización.** Si tienes política general, los envíos de las ofertas solo deberían aparecer en los productos que se salen de ella.[^google-shipping-policy]
4. **Revisa si tienes envíos configurados en Merchant Center o en Search Console.** Si los tienes, son los que usa Google, por delante de tu marcado.[^google-shipping-policy]
5. **Pasa la URL por la [Prueba de resultados enriquecidos](/es/glosario/prueba-de-resultados-enriquecidos/)** para ver qué detecta y con qué errores o advertencias.

## Concepto cercano: ShippingService

ShippingService es la política de envíos de la tienda; OfferShippingDetails, el envío de una oferta. **El primero se escribe una vez, en la organización, y puede tener condiciones por peso, por importe o por destino; el segundo va en la oferta y sirve para la excepción.**[^google-shipping-policy] ShippingService vive dentro del nodo de [Organization](/es/glosario/schema-organization/), igual que la [política de devoluciones](/es/glosario/politica-de-devoluciones/) general, que en el marcado es [MerchantReturnPolicy](/es/glosario/merchantreturnpolicy/).

Para seguir, la [ruta de lectura de datos estructurados](/es/aprender/datos-estructurados/) ordena el resto de términos, y la entrada de [Offer](/es/glosario/schema-offer/) explica qué más lleva la oferta donde va el envío.
