Datos estructurados de política de envío de comerciantes (ShippingService)
Muchos comerciantes tienen políticas de envío que describen el proceso de envío de los productos comprados por los clientes.
Si añades datos estructurados de ShippingService a tu sitio, la Búsqueda de Google podrá usar esta información para mostrar información de envío junto a tus productos y en los paneles de información de los resultados de búsqueda.
ShippingService te permite especificar detalles como los gastos de envío y los plazos de entrega en función de las características del producto, como su peso, sus dimensiones o la ubicación de entrega.
Puedes especificar una política de envío estándar para tu empresa, que se aplique a la mayoría o a todos los productos que vendas, mediante el tipo de datos estructurados ShippingService anidado en el tipo de datos estructurados Organization con la propiedad hasShippingService.
Cómo añadir datos estructurados
Los datos estructurados son un formato estandarizado con el que se puede proporcionar información sobre una página y clasificar su contenido. Consulta cómo funcionan los datos estructurados si aún no te has familiarizado con ellos.
A continuación se explica a grandes rasgos cómo crear, probar y publicar datos estructurados.
- Añade las propiedades obligatorias. Consulta más información sobre dónde insertar datos estructurados en una página en función del formato que estés utilizando.
- Sigue las directrices.
- Valida tu código con la prueba de resultados enriquecidos y corrige los errores críticos. Te recomendamos que también corrijas los problemas no críticos que puedan marcarse en la herramienta, ya que pueden ayudar a mejorar la calidad de los datos estructurados (sin embargo, esto no es necesario para que se muestren los resultados enriquecidos).
- Crea varias páginas que incluyan tus datos estructurados y comprueba cómo las ve Google con la herramienta de inspección de URLs. Asegúrate de que Google pueda acceder a tu página y de que no esté bloqueada por un archivo robots.txt, por la etiqueta
noindexni por requisitos de inicio de sesión. Si la página se ve bien, puedes solicitar que Google vuelva a rastrear tus URLs. - Para que Google siempre tenga la versión actualizada de tus páginas, te recomendamos que envíes un sitemap. Puedes automatizar este envío con la API Sitemap de Search Console.
Ejemplos
En este ejemplo se muestra que, en Estados Unidos y Canadá, el envío en dos días es gratuito para los pedidos superiores a 29,99 USD. De lo contrario, el envío en tres días cuesta 3,49 USD. En México, no se envían pedidos de menos de 50 USD. De lo contrario, el envío tarda 4 días y tiene un coste del 10 %.
<html>
<head>
<title>Our shipping policy</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "https://schema.org/Organization",
"hasShippingService": {
"@type": "ShippingService",
"@id": "#us_ca_mx_standard_shipping",
"name": "Standard shipping policies for US, Canada and Mexico",
"description": "US and Canada: Free 2-day shipping for orders over $29.99,
otherwise 3-day shipping for $3.49.
Mexico: No shipping to Mexico for orders under $50,
otherwise 10% shipping cost and 4-day shipping.",
"fulfillmentType": "FulfillmentTypeDelivery",
"handlingTime": {
"@type": "ServicePeriod",
"cutoffTime": "14:30:00-07:00",
"duration": {
"@type": "QuantitativeValue",
"minValue": "0",
"maxValue": "1",
"unitCode": "DAY"
},
"businessDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
]
},
"shippingConditions": [
{
"@type": "ShippingConditions",
"shippingDestination": [
{
"@type": "DefinedRegion",
"addressCountry": "US"
},
{
"@type": "DefinedRegion",
"addressCountry": "CA"
}
],
"orderValue": {
"@type": "MonetaryAmount",
"minValue": "0",
"maxValue": "29.99",
"currency": "USD"
},
"shippingRate": {
"@type": "MonetaryAmount",
"value": "3.49",
"currency": "USD"
},
"transitTime": {
"@type": "ServicePeriod",
"duration": {
"@type": "QuantitativeValue",
"minValue": "1",
"maxValue": "2",
"unitCode": "DAY"
},
"businessDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
]
}
},
{
"@type": "ShippingConditions",
"shippingDestination": [
{
"@type": "DefinedRegion",
"addressCountry": "US"
},
{
"@type": "DefinedRegion",
"addressCountry": "CA"
}
],
"orderValue": {
"@type": "MonetaryAmount",
"minValue": "30",
"currency": "USD"
},
"shippingRate": {
"@type": "MonetaryAmount",
"value": "0",
"currency": "USD"
},
"transitTime": {
"@type": "ServicePeriod",
"duration": {
"@type": "QuantitativeValue",
"minValue": "1",
"maxValue": "1",
"unitCode": "DAY"
},
"businessDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
]
}
},
{
"@type": "ShippingConditions",
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "MX"
},
"orderValue": {
"@type": "MonetaryAmount",
"minValue": "0",
"maxValue": "49.99",
"currency": "USD"
},
"doesNotShip": true
},
{
"@type": "ShippingConditions",
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "MX"
},
"orderValue": {
"@type": "MonetaryAmount",
"minValue": "50",
"currency": "USD"
},
"shippingRate": {
"@type": "ShippingRateSettings",
"orderPercentage": "0.10"
},
"transitTime": {
"@type": "ServicePeriod",
"duration": {
"@type": "QuantitativeValue",
"minValue": "2",
"maxValue": "3",
"unitCode": "DAY"
},
"businessDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
]
}
}
]
}
// Other Organization-level properties
// ...
}
</script>
</head>
<body>
</body>
</html>Directrices
Para que el marcado de tu política de envío se pueda usar en la Búsqueda de Google, debes seguir estas directrices:
- Directrices generales sobre datos estructurados
- Directrices básicas de la Búsqueda
- Directrices técnicas
Directrices técnicas
-
Te recomendamos que coloques la información sobre la política de envíos en una única página de tu sitio que describa la política de envíos de tu empresa. No hace falta que la incluyas en todas las páginas de tu sitio. Incluye el tipo de datos estructurados
ShippingServiceen el tipo de datos estructuradosOrganization. Consulta el artículo sobre las etiquetas de organizaciones para obtener más información. -
Si tienes una política de envío no estándar para un producto concreto, especifica el tipo de datos estructurados
OfferShippingDetailsen el tipo de datos estructuradosOffer. Ten en cuenta que las propiedades admitidas en las políticas de envío a nivel de producto son un subconjunto de las propiedades admitidas en las políticas de envío a nivel de organización. Consulta el marcado de fichas de tienda para ver el subconjunto de propiedades que admiten políticas de envío a nivel de producto.
Definiciones de tipos de datos estructurados
Debes incluir las propiedades obligatorias para que tus datos estructurados se puedan usar en la Búsqueda de Google. También puedes incluir las propiedades recomendadas para añadir más información sobre tus políticas de devoluciones, lo que puede ayudar a mejorar la experiencia de usuario.
ShippingService (anidada en Organization mediante la propiedad hasShippingService)
Utiliza las siguientes propiedades para describir los servicios de envío estándar de tu empresa.
| Propiedades obligatorias | |
|---|---|
shippingConditions |
Especifica los gastos de envío o los plazos de entrega que se aplican a un conjunto de condiciones concreto, como el intervalo de peso de un producto, las dimensiones del producto, el valor del pedido o la ubicación de entrega. Un elemento |
| Propiedades recomendadas | |
|---|---|
name |
Un nombre único para tu servicio de envío, si procede. Por ejemplo, "Envío estándar". |
description |
Una descripción de tu servicio de envío, si procede. Normalmente, es más completo que el nombre. |
fulfillmentType |
Cómo se entrega el producto al cliente para este servicio de envío, si procede.
|
handlingTime |
Información opcional sobre los tiempos de gestión (por ejemplo, en un almacén) después de recibir un pedido, si procede. Consulta también la lista de propiedadesServicePeriod de ShippingService admitidas por Google.
|
validForMemberTier |
El programa de fidelización y el nivel para los que es válido este servicio de envío, si procede. Puedes especificar varios niveles de miembros si los ajustes de envío son los mismos para todos ellos.
Si utilizas la propiedad
Los programas y niveles de fidelización que ofrezcas para tu empresa pueden definirse en tu cuenta de Merchant Center o mediante el tipo de datos estructurados A continuación, se muestra un ejemplo de la propiedad "validForMemberTier": { "@type": "MemberProgramTier", "name": "silver", "isTierOf": { "@type": "MemberProgram", "name": "member-plus" } } A continuación se muestra un ejemplo de la propiedad "validForMemberTier": { "@id": "https://www.example.com/com/member-plus#tier_silver" } |
ServicePeriod (para tiempos de preparación)
Para especificar los tiempos de manipulación del envío, utiliza la clase ServicePeriod.
A continuación, se muestra un ejemplo de un objeto ServicePeriod en el que los pedidos se procesan de lunes a viernes, con una hora límite de las 22:30 (hora estándar del este). La duración del tiempo de preparación es de entre 0 y 2 días. Si el tiempo de preparación es 0, significa que los pedidos se procesan el mismo día si se reciben antes de la hora límite.
"handlingTime": { "@type": "ServicePeriod", "businessDays": [ "https://schema.org/Monday", "https://schema.org/Tuesday", "https://schema.org/Wednesday", "https://schema.org/Thursday", "https://schema.org/Friday" ], "cutoffTime": "22:30:00-05:00", "duration": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 2, "unitCode": "DAY" } }
| Propiedades recomendadas | |
|---|---|
businessDays |
Los días de la semana en los que se tramitan los pedidos recibidos, si procede. |
cutoffTime |
La hora a partir de la cual no se procesan los pedidos recibidos en un día, si procede. En el caso de los pedidos procesados después de la hora tope, se añade un día al tiempo de entrega estimado. La hora se indica con el formato de hora ISO 8601. Por ejemplo, "23:30:00-05:00" representa las 18:30 (EST), que es 5 horas menos que el tiempo universal coordinado (UTC). |
duration |
El tiempo que transcurre entre la recepción de un pedido y el momento en que los productos salen del almacén, si procede. |
QuantitativeValue (para tiempos de preparación del envío)
La clase QuantitativeValue se usa para representar los tiempos de gestión de pedidos mínimos y máximos.
Debes proporcionar value (para indicar un tiempo de preparación fijo) o maxValue (para indicar un límite superior del tiempo de preparación) junto con unitCode. minValue se puede proporcionar de forma opcional para especificar un límite inferior del tiempo de preparación.
| Propiedades recomendadas | |
|---|---|
maxValue |
El número máximo de días. El valor debe ser un número entero no negativo. |
minValue |
El número mínimo de días, si procede. El valor debe ser un número entero no negativo. |
unitCode |
Unidades de los valores mínimo y máximo. El valor debe ser |
value |
El número exacto de días de preparación, si se conoce. El valor debe ser un número entero no negativo.
Si se proporciona, no se deben especificar |
ShippingConditions (anidada en ShippingService mediante la propiedad shippingConditions)
Utiliza las siguientes propiedades para describir las condiciones, los costes y los tiempos de transporte asociados a un servicio de envío.
Si no se especifica ningún destino de envío, las condiciones de envío se aplican a todos los destinos de envío del mundo.
| Propiedades recomendadas | |
|---|---|
shippingOrigin |
Indica el origen del envío, si procede. Consulta la lista de propiedades |
shippingDestination |
Indica el destino de envío, si procede. Consulta la lista de propiedades |
weight |
El intervalo de peso del paquete de este objeto ShippingConditions, si procede.
Consulta también la lista de propiedades |
numItems |
El intervalo del número de productos del pedido de este objeto ShippingConditions, si procede.
Consulta también la lista de propiedades |
orderValue |
El intervalo del coste del pedido de este objeto ShippingConditions, si procede.
Consulta también la lista de propiedades |
doesNotShip |
Si procede, asigna el valor |
transitTime |
Si procede, úsalo para especificar el tiempo de transporte previsto entre la salida del origen del envío (normalmente, un almacén) y la llegada al destino del envío (normalmente, el cliente). Se aplica a los envíos desde una ubicación del |
shippingRate |
Si procede, utiliza esta propiedad para especificar los gastos de envío de los envíos desde una ubicación del |
seasonalOverride |
Si procede, utiliza esta propiedad para especificar un periodo limitado durante el cual sea válido este objeto de condiciones de envío.
Consulta también la lista de propiedades |
DefinedRegion
DefinedRegion se usa para crear zonas personalizadas, de forma que se puedan determinar los gastos de envío y los tiempos de transporte precisos con varios servicios de envío.
| Propiedades obligatorias | |
|---|---|
addressCountry |
Indica el código de país de 2 letras en formato ISO 3166-1 alfa-2. |
| Propiedades recomendadas | |
|---|---|
addressRegion |
El código de región específico del país, si procede. La región debe ser un código de subdivisión ISO 3166-2 de dos o tres caracteres, sin el prefijo de país. La Búsqueda de Google solo admite Australia, Estados Unidos y Japón. Ejemplos: No incluyas tanto información de la región como del código postal. |
postalCode |
El código postal específico del país, si procede. Por ejemplo, |
ServicePeriod (para plazos de transporte)
ServicePeriod se usa para representar los intervalos de tiempo de transporte de un pedido.
"transitTime": { "@type": "ServicePeriod", "businessDays": [ "https://schema.org/Monday", "https://schema.org/Tuesday", "https://schema.org/Wednesday", "https://schema.org/Thursday", "https://schema.org/Friday" ], "duration": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 2, "unitCode": "DAY" } }
| Propiedades recomendadas | |
|---|---|
businessDays |
Los días de la semana en los que un pedido está en tránsito activo, si procede. Si los días hábiles de su organización son de lunes a sábado, no es necesario que añada esta propiedad. |
duration |
El número de días hábiles de transporte, si procede.
Consulta también la lista de propiedades |
QuantitativeValue (para plazos de envío)
La clase QuantitativeValue se usa para representar los tiempos de transporte mínimo y máximo de los pedidos.
Debes proporcionar value (para un tiempo de transporte fijo) o maxValue (para un límite superior del tiempo de transporte) junto con unitCode. minValue se puede proporcionar de forma opcional para especificar un límite inferior del tiempo de transporte.
| Propiedades recomendadas | |
|---|---|
maxValue |
El número máximo de días. El valor debe ser un número entero no negativo. |
minValue |
El número mínimo de días, si procede. El valor debe ser un número entero no negativo. |
value |
El número exacto de días de transporte, si se conoce. El valor debe ser un número entero no negativo.
Si se proporciona, no se deben especificar |
unitCode |
Unidad de tiempo de transporte. El valor debe ser |
QuantitativeValue (en el contexto de las dimensiones del embalaje de envío)
QuantitativeValue se usa en el contexto de ShippingConditions para representar intervalos de valores de las dimensiones del paquete de envío (weight y numItems) a los que se aplican una tarifa de envío y un tiempo de transporte concretos.
Se debe proporcionar minValue o maxValue. Si no se proporcionan valores, minValue tiene el valor predeterminado 0 y maxValue tiene el valor predeterminado infinito.
| Propiedades recomendadas | |
|---|---|
maxValue |
El número máximo de la dimensión ( |
minValue |
El número mínimo de la dimensión ( |
unitCode |
Una unidad pertinente para la dimensión (
|
MonetaryAmount (en el contexto de las condiciones de envío)
MonetaryAmount se usa en el contexto de las condiciones de envío para representar intervalos de valores de pedido a los que se aplican una tarifa de envío y un tiempo de entrega concretos.
Se debe proporcionar minValue o maxValue. Si no se proporcionan valores, minValue tiene el valor predeterminado 0 y maxValue tiene el valor predeterminado infinito.
Ten en cuenta que el tipo MonetaryAmount también se usa en otro formato para especificar los costes de envío.
| Propiedades obligatorias | |
|---|---|
maxValue |
El valor máximo del pedido. Si no se proporciona ningún valor, el valor predeterminado es infinito. |
minValue |
El valor mínimo del pedido. El valor predeterminado es 0 si no se proporciona ninguno. |
currency |
Código de moneda del valor del pedido en formato ISO 4217. |
MonetaryAmount (en el contexto de la tarifa de envío)
MonetaryAmount se usa en el contexto de las tarifas de envío para especificar una tarifa de envío concreta o máxima para una condición de envío determinada. MonetaryAmount se usa como alternativa más sencilla al atributo ShippingRateSettings, que es más complejo, y se puede usar cuando solo necesite especificar una tarifa de envío concreta o máxima. Se debe proporcionar maxValue o value junto con currency.
| Propiedades obligatorias | |
|---|---|
maxValue |
El coste de envío máximo de la condición de envío indicada. No especifiques |
value |
Los gastos de envío fijos de la condición de envío indicada. Para indicar que es un envío gratuito, usa el valor |
currency |
Código de moneda de los gastos de envío en formato ISO 4217. |
ShippingRateSettings (en el contexto de la tarifa de envío)
ShippingRateSettings se usa en el contexto de las tarifas de envío para especificar la tarifa de envío de una condición de envío determinada como porcentaje del valor del pedido o del peso de los productos pedidos. Se debe proporcionar orderPercentage o weightPercentage al usar ShippingRateSettings.
| Propiedades recomendadas | |
|---|---|
weightPercentage |
Los gastos de envío de la condición de envío indicada como una fracción del peso de los productos enviados.
Utiliza un valor entre |
orderPercentage |
Los gastos de envío de la condición de envío indicada como una fracción del valor del pedido.
Utiliza un valor entre |
OpeningHoursSpecification (en el contexto de las excepciones de envío temporales)
OpeningHoursSpecification se usa en el contexto de las condiciones de envío para representar cuándo es válida la condición, por ejemplo, debido a las vacaciones de temporada. Se debe proporcionar al menos uno de los elementos validFrom y validThrough cuando se use OpeningHoursSpecification.
| Propiedades recomendadas | |
|---|---|
validFrom |
La primera fecha en la que es válida la condición de envío, en formato ISO 8601. |
validThrough |
La última fecha en la que es válida la condición de envío, en formato ISO 8601. |
Método alternativo para configurar opciones de envío con Google
Las políticas de envío de los comercios pueden ser complejas y cambiar con frecuencia. Si te resulta difícil indicar y mantener actualizados tus datos de envío mediante etiquetas y tienes una cuenta de Google Merchant Center, puedes configurar tus ajustes de envío como se describe en el Centro de Ayuda de Google Merchant Center. También tienes la opción de configurar las políticas de envío en Search Console a nivel de cuenta que se añaden automáticamente a Merchant Center.
Combinar varias configuraciones de envío
Si vas a combinar varias configuraciones de envío, ten en cuenta cómo puedes anular la información de tus políticas según el orden de prioridad. Por ejemplo, si proporcionas tanto el marcado de política de envío en tu sitio y la configuración de políticas de envío en Search Console, Google solo usará la información proporcionada en Search Console.
Google utiliza el siguiente orden de prioridad (de mayor a menor):
- API Content for Shopping (configuración de envío a nivel de cuenta)
- Configuración de Merchant Center o Search Console
- Etiquetas de fichas de comerciantes a nivel de producto
- Etiquetas a nivel de organización
Solucionar problemas
Si tienes problemas para implementar o depurar datos estructurados, a continuación se incluyen algunos recursos que pueden serte útiles.
- Si usas un sistema de gestión de contenido (CMS) o alguien se encarga de gestionar tu sitio, pídele ayuda. No olvides reenviarle cualquier mensaje de Search Console que incluya información sobre el problema en cuestión.
- Google no garantiza que las funciones que utilizan datos estructurados aparezcan en los resultados de búsqueda. Para ver una lista con motivos habituales por los que Google no muestra tu contenido en resultados enriquecidos, consulta las directrices generales de datos estructurados.
- Es posible que haya un error en tus datos estructurados. Consulta la lista de errores de datos estructurados y el informe de datos estructurados que no se pueden analizar.
- Si se ha aplicado una acción manual de datos estructurados a tu página, se ignorarán sus datos estructurados, aunque la página puede seguir apareciendo en los resultados de la Búsqueda de Google. Para solucionar problemas de datos estructurados, usa el informe "Acciones manuales".
- Revisa las directrices para comprobar si tu contenido no las cumple. El problema podría deberse a que la página incluye contenido engañoso o etiquetas con contenido fraudulento. No obstante, es posible que el problema no se deba a la sintaxis, por lo que la prueba de resultados enriquecidos no podrá ayudarte a identificarlo.
- Solucionar problemas si faltan resultados enriquecidos o si se ha reducido el número total de resultados enriquecidos.
- Da cierto margen a Google para que vuelva a rastrear e indexar tu página. Recuerda que Google puede tardar varios días en encontrar y rastrear una página después de publicarse. Consulta las preguntas frecuentes sobre el rastreo y la indexación de la Búsqueda de Google.
- Publica una pregunta en el foro del Centro de la Búsqueda de Google.