Datos estructurados de la política de envío del comercio (ShippingService)

Panel de conocimiento de Shopping con información de envío en los resultados de la búsqueda

Muchos comercios tienen políticas de envíos que describen el proceso de envío de productos comprados por los clientes. Cuando agregas datos estructurados de ShippingService a tu sitio, la Búsqueda de Google puede usar esta información para mostrar la información de envío junto con tus productos y en los paneles de conocimiento de los resultados de la Búsqueda. ShippingService te permite especificar detalles como los costos de envío y los tiempos de entrega según las características del producto, como el peso, las dimensiones o la ubicación de entrega.

Se puede 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 vendes con el tipo de datos estructurados ShippingService anidado en el tipo de datos estructurados Organization con la propiedad hasShippingService.

Cómo agregar datos estructurados

Los datos estructurados son un formato estandarizado para proporcionar información sobre una página y clasificar su contenido. Si aún no estás familiarizado con los datos estructurados, obtén más información sobre su funcionamiento.

A continuación, presentamos una descripción general para aprender a compilar, probar y actualizar datos estructurados.

  1. Agrega las propiedades obligatorias. Según el formato que uses, obtén información sobre las ubicaciones donde puedes insertar datos estructurados en la página.
  2. Sigue los lineamientos.
  3. Valida tu código con la Prueba de resultados enriquecidos y corrige cualquier error crítico. Procura también corregir 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).
  4. Implementa algunas páginas que incluyan tus datos estructurados y utiliza la Herramienta de inspección de URLs para probar el modo en el que Google ve la página. Asegúrate de que Google pueda acceder a la página y que no esté bloqueada por un archivo robots.txt, una etiqueta noindex ni requisitos de acceso. Si la página se ve bien, puedes pedirle a Google que vuelva a rastrear tus URLs.
  5. Para mantener informado a Google sobre los cambios futuros, te recomendamos que envíes un mapa del sitio. Puedes automatizar este proceso con la API de Search Console Sitemap.

Ejemplos

En este ejemplo, se muestra que, en EE.UU. y Canadá, hay envío gratis en 2 días para pedidos superiores a USD 29.99 y, de lo contrario, envío en 3 días por USD 3.49. En México, no hay envío para pedidos inferiores a MXN 500. De lo contrario, hay envío en 4 días con un costo de envío 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>

Lineamientos

Para que el lenguaje de marcado de tu política de envíos sea apto para usarse en la Búsqueda de Google, debes seguir estos lineamientos:

Lineamientos técnicos

  • Te recomendamos que coloques la información de la política de envío en una sola página de tu sitio que describa la política de envío de tu empresa. No es necesario que la incluyas en todas las páginas de tu sitio. Incluye el tipo de datos estructurados de ShippingService en el tipo de datos estructurados de Organization. También puedes consultar el Lenguaje de marcado de organización para obtener más información.
  • Si tienes una política de envíos no estándar para un producto en particular, especifica el tipo de datos estructurados OfferShippingDetails en el tipo de datos estructurados Offer. Ten en cuenta que las propiedades admitidas para las políticas de envíos a nivel de la oferta son un subconjunto de las propiedades admitidas para las políticas de envíos a nivel de la organización. Consulta el lenguaje de marcado de la ficha de comercio para conocer el subconjunto de propiedades que se admiten para las políticas de envíos a nivel del producto.

Definiciones de tipos de datos estructurados

Debes incluir las propiedades obligatorias para que tus datos estructurados sean aptos para usarse en la Búsqueda de Google. También puedes incluir propiedades recomendadas para agregar más información sobre tus políticas de devoluciones, lo que podría brindar una mejor experiencia del usuario.

ShippingService (anidada en Organization con la propiedad hasShippingService)

Usa las siguientes propiedades para describir los servicios de envío estándar de tu empresa.

Propiedades obligatorias
shippingConditions

ShippingConditions

Especifica el costo de envío o los tiempos de entrega que se aplican a un conjunto particular de condiciones, por ejemplo, un rango de peso del producto, las dimensiones del producto, el valor del pedido o la ubicación de entrega. Un ShippingService puede tener varios shippingConditions. Si se aplica más de un ShippingConditions a un producto, usaremos el costo de envío más bajo para el producto en la situación determinada y mostraremos esa tarifa y la velocidad de envío asociada a los clientes. Si el costo de envío es el mismo, usaremos la información de envío con la velocidad de envío más rápida.

Propiedades recomendadas
name

Text

Es un nombre único para tu servicio de envío, si corresponde. Por ejemplo, "Envío estándar".

description

Text

Es una descripción de tu servicio de envío, si corresponde. Por lo general, es más completo que el nombre.

fulfillmentType

FulfillmentTypeEnumeration

Es la forma en que se entrega el producto al cliente para este servicio de envío, si corresponde.

  • https://schema.org/FulfillmentTypeDelivery: Este servicio envía el producto a la dirección del cliente (este es el valor predeterminado si no se especifica esta propiedad).
  • https://schema.org/FulfillmentTypeCollectionPoint: El producto se envía a un punto de recolección para que el cliente lo retire.
handlingTime

ServicePeriod

Es información opcional sobre los tiempos de preparación (por ejemplo, en un almacén) después de recibir un pedido, si corresponde.

Consulta también la lista de propiedades de ServicePeriod en ShippingService admitidas por Google.

validForMemberTier

MemberProgramTier

Es el programa y nivel de lealtad para los que es válido este servicio de envío, si corresponde. Puedes especificar varios niveles de membresía si la configuración de envío es la misma para todos los niveles.

Si usas la propiedad validForMemberTier para designar beneficios de envío para miembros, también debes proporcionar al menos un servicio de envío regular (no para miembros).

Los programas y niveles de lealtad que ofreces para tu empresa pueden definirse en tu cuenta de Merchant Center o con el tipo de datos estructurados MemberProgram anidado en los datos estructurados Organization en una página independiente que defina los detalles administrativos y las políticas de tu organización. Consulta el lenguaje de marcado del programa de lealtad para obtener información sobre cómo definir los programas y niveles de membresía de tu organización.

Este es un ejemplo de la propiedad validForMemberTier que hace referencia a un programa de miembros (member-plus) y un nivel (silver) definidos en Merchant Center:

"validForMemberTier": {
  "@type": "MemberProgramTier",
  "name": "silver",
  "isTierOf": {
    "@type": "MemberProgram",
    "name": "member-plus"
  }
}

Este es un ejemplo de la propiedad validForMemberTier que hace referencia a datos estructurados de MemberProgramTier anidados en datos estructurados de MemberProgram, que a su vez están anidados en un tipo de datos estructurados de Organization en una página independiente. La instancia MemberProgramTier se identifica con la propiedad @id, que especifica el identificador de recursos único (URI) de su definición: https://www.example.com/com/member-plus#tier_silver:

"validForMemberTier": {
  "@id": "https://www.example.com/com/member-plus#tier_silver"
}

ServicePeriod (para tiempos de preparación)

Para especificar los tiempos de preparación del envío, usa la clase ServicePeriod.

Este es un ejemplo de un objeto ServicePeriod en el que los pedidos se procesan de lunes a viernes, con una hora límite de las 10:30 p.m. (hora estándar del este). La duración del tiempo de preparación es de entre 0 y 2 días. (donde un tiempo de preparación de 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

DayOfWeek

Son los días de la semana en que se procesan los pedidos recibidos, si corresponde.

cutoffTime

Time

Es la hora después de la cual los pedidos recibidos en un día no se procesan ese mismo día, si corresponde. A los pedidos que se procesan después de la hora límite se les agrega 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 6:30 p.m. (EST), que son 5 horas menos que el tiempo universal coordinado (UTC).

duration

QuantitativeValue

Es la demora entre la recepción de un pedido y la salida de los productos del almacén, si corresponde.

QuantitativeValue (para tiempos de preparación del envío)

La clase QuantitativeValue se usa para representar los tiempos mínimos y máximos de preparación de pedidos. Debes proporcionar value (para un tiempo de preparación fijo) o maxValue (para un límite superior del tiempo de preparación) junto con unitCode. De manera opcional, se puede proporcionar minValue para especificar un límite inferior para el tiempo de preparación.

Propiedades recomendadas
maxValue

Number

La cantidad máxima de días. El valor debe ser un número entero no negativo.

minValue

Number

Es la cantidad mínima de días, si corresponde. El valor debe ser un número entero no negativo.

unitCode

Text

Unidades de los valores mínimos y máximos. El valor debe ser DAY o d.

value

Number

Es la cantidad exacta 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 minValue ni maxValue.

ShippingConditions (anidada en ShippingService con la propiedad shippingConditions)

Usa las siguientes propiedades para describir las condiciones, los costos asociados y los tiempos en tránsito de un servicio de envío.

Si no se especifica un destino de envío, las condiciones de envío se aplican a todos los destinos de envío del mundo.

Propiedades recomendadas
shippingOrigin

DefinedRegion

Indica el origen del envío, si corresponde. Consulta la lista de propiedades de DefinedRegion en shippingOrigin admitidas por Google.

shippingDestination

DefinedRegion

Indica el destino de envío, si corresponde. Consulta la lista de propiedades de DefinedRegion en shippingDestination admitidas por Google.

weight

QuantitativeValue

Es el rango de peso del paquete para este objeto de condiciones de envío, si corresponde. Consulta también la lista de propiedades de QuantitativeValue relacionadas con ShippingConditions admitidas por Google.

numItems

QuantitativeValue

Es el rango de la cantidad de productos en el pedido para este objeto de condiciones de envío, si corresponde. Consulta también la lista de propiedades de QuantitativeValue relacionadas con ShippingConditions admitidas por Google.

orderValue

MonetaryAmount

Es el rango del costo del pedido para este objeto de condiciones de envío, si corresponde. Consulta también la lista de propiedades de MonetaryAmount relacionadas con ShippingConditions admitidas por Google.

doesNotShip

Boolean

Si corresponde, configura este campo como true si el envío desde una ubicación en el shippingOrigin especificado a una ubicación en el shippingDestination especificado no está disponible para pedidos con la combinación especificada de condiciones de weight, numItems y orderValue.

transitTime

ServicePeriod

Si corresponde, se usa para especificar el tiempo en tránsito esperado entre la salida del origen del envío (por lo general, un almacén) y la llegada al destino del envío (por lo general, el cliente). Se aplica a los envíos desde una ubicación en el shippingOrigin especificado hasta una ubicación en el shippingDestination especificado para pedidos con la combinación especificada de condiciones weight, numItems y orderValue. Consulta también la lista de propiedades de ServicePeriod admitidas por Google. Esta propiedad solo se debe especificar si doesNotShip está ausente o configurado como false.

shippingRate

ShippingRateSettings o MonetaryAmount

Si corresponde, usa esta propiedad para especificar el costo de envío de los envíos desde una ubicación en el shippingOrigin especificado hasta una ubicación en el shippingDestination especificado para los pedidos con la combinación especificada de condiciones weight, numItems y orderValue. Consulta también la lista de propiedades de ShippingRateSettings y propiedades de MonetaryAmount admitidas por ShippingConditions en Google. Esta propiedad solo se debe especificar si doesNotShip no está presente o está configurada como false.

seasonalOverride

OpeningHoursSpecification

Si corresponde, usa esta propiedad para especificar un período limitado durante el cual este objeto de condiciones de envío es válido. Consulta también la lista de propiedades de OpeningHoursSpecification admitidas por ShippingConditions en Google.

DefinedRegion

DefinedRegion se usa para crear áreas personalizadas, de manera que se establezcan tiempos en tránsito y costos de envío exactos en varios servicios de envío.

Propiedades obligatorias
addressCountry

Text

Corresponde al código de país de dos letras en el formato ISO 3166-1 alpha-2.

Propiedades recomendadas
addressRegion

Text

Es el código de región específico del país, si corresponde. La región debe ser un código de subdivisión de 2 o 3 caracteres, sin prefijo del país, en formato ISO 3166-2. La Búsqueda de Google solo admite EE.UU., Australia y Japón. Ejemplos: NY (para EE.UU., estado de Nueva York), NSW (para Australia, estado de Nueva Gales del Sur) o 03 (para Japón, prefectura de Iwate).

No proporcione información sobre la región y el código postal.

postalCode

Text

El código postal específico del país, si corresponde. como 94043. Se admiten los códigos postales para Australia, Canadá y EE.UU.

ServicePeriod (para tiempos en tránsito)

ServicePeriod se usa para representar rangos de tiempos en tránsito de un pedido.

Ejemplo:
"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

DayOfWeek

Días de la semana en que un pedido está en tránsito activo, si corresponde. Si los días hábiles de tu organización son de lunes a sábado, no es necesario que agregues esta propiedad.

duration

QuantitativeValue

Cantidad de días hábiles en tránsito, si corresponde. Consulta también la lista de propiedades de QuantitativeValue para los tiempos en tránsito admitidos por Google.

QuantitativeValue (para tiempos en tránsito del envío)

La clase QuantitativeValue se usa para representar los tiempos en tránsito mínimos y máximos de los pedidos. Debes proporcionar value (para un tiempo en tránsito fijo) o maxValue (para un límite superior del tiempo en tránsito) junto con unitCode. minValue se puede proporcionar de forma opcional para especificar un límite inferior para el tiempo en tránsito.

Propiedades recomendadas
maxValue

Number

La cantidad máxima de días. El valor debe ser un número entero no negativo.

minValue

Number

Es la cantidad mínima de días, si corresponde. El valor debe ser un número entero no negativo.

value

Number

Es la cantidad exacta de días en tránsito, si se conoce. El valor debe ser un número entero no negativo. Si se proporciona, no se deben especificar minValue ni maxValue.

unitCode

Text

Es la unidad de tiempo en tránsito. El valor debe ser DAY o d.

QuantitativeValue (en el contexto de las dimensiones de empaquetado del envío)

QuantitativeValue se usa en el contexto de ShippingConditions para representar rangos de valores de las dimensiones de empaque del envío (weight y numItems) para los que se aplican una tarifa de envío y un tiempo en tránsito particulares. Se debe proporcionar minValue o maxValue. minValue tiene el valor predeterminado 0 y maxValue tiene el valor predeterminado infinito cuando no se proporcionan.

Propiedades recomendadas
maxValue

Number

Es la cantidad máxima para la dimensión (weight o numItems), si corresponde. El valor predeterminado es infinito cuando no se proporciona.

minValue

Number

Es la cantidad mínima para la dimensión (weight o numItems), si corresponde. Debe ser inferior a maxValue. El valor predeterminado es 0 cuando no se proporciona.

unitCode

Text

Es una unidad pertinente para la dimensión (weight o numItems), si corresponde. En formato de código común UN/CEFACT (tres caracteres):

  • Para las unidades de peso, el valor debe ser LBR (libra) o KGM (kilogramo).
  • En el caso de la cantidad de artículos, se puede omitir unitCode. Como alternativa, puedes usar el nombre del código común UN/CEFACT H87.

MonetaryAmount (en el contexto de las condiciones de envío)

MonetaryAmount se usa en el contexto de las condiciones de envío para representar rangos de valores de pedidos para los que se aplican una tarifa de envío y un tiempo de entrega determinados. Se debe proporcionar minValue o maxValue. minValue tiene el valor predeterminado 0 y maxValue tiene el valor predeterminado infinito cuando no se proporcionan. Ten en cuenta que el tipo MonetaryAmount también se usa en un formato diferente para especificar los costos de envío.

Propiedades obligatorias
maxValue

Number

Es el valor máximo del pedido. El valor predeterminado es infinito cuando no se proporciona.

minValue

Number

Es el valor mínimo del pedido. El valor predeterminado es 0 cuando no se proporciona.

currency

Text

Es el 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 máxima o específica para una condición de envío determinada. MonetaryAmount se usa como una alternativa más simple a ShippingRateSettings, que es más compleja, y se puede usar cuando solo necesitas especificar una tarifa de envío específica o máxima. Se debe proporcionar maxValue o value junto con currency.

Propiedades obligatorias
maxValue

Number

Es el costo de envío máximo para la condición de envío determinada. No especifiques value si especificas maxValue.

value

Number

Es el costo de envío fijo para la condición de envío determinada. Para el envío gratis, usa 0 como valor.

currency

Text

Es el código de moneda del costo 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 un porcentaje del valor del pedido o el peso de los bienes pedidos. Se debe proporcionar orderPercentage o weightPercentage cuando se usa ShippingRateSettings.

Propiedades recomendadas
weightPercentage

Number

Es el costo de envío para la condición de envío determinada como una fracción del peso de los bienes enviados. Usa un valor entre 0 y 1.

orderPercentage

Number

Es el costo de envío para la condición de envío determinada como una fracción del valor del pedido. Usa un valor entre 0 y 1.

OpeningHoursSpecification (en el contexto de las anulaciones de envío de temporada)

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 días festivos de temporada. Se debe proporcionar al menos uno de los valores validFrom y validThrough cuando se usa OpeningHoursSpecification.

Propiedades recomendadas
validFrom

Date

Es la primera fecha en la que la condición de envío es válida, en formato ISO 8601.

validThrough

Date

Es la última fecha en la que la condición de envío es válida, en formato ISO 8601.

Enfoque alternativo para configurar las opciones de envío con Google

Las políticas de envío de los minoristas pueden complicarse y cambiar con frecuencia. Si tienes problemas para crear detalles de envío y mantenerlos actualizados con lenguaje de marcado y tienes una cuenta de Google Merchant Center, te recomendamos que consultes cómo configurar las opciones de envío en Google Merchant Center. También puedes configurar políticas de envíos en Search Console, a nivel de la cuenta, que se agregan automáticamente a Merchant Center.

Combinación de varios parámetros de configuración de envío

Si combinas varios parámetros de configuración de envíos, ten en cuenta puedes anular la información de la política según el orden de prioridad. Por ejemplo, si proporcionas tanto lenguaje de marcado de políticas de envíos en tu sitio y parámetros de configuración de políticas de envíos en Search Console, Google solo usará la información proporcionada en Search Console.

Google usa el siguiente orden de prioridad (de mayor a menor):

Solución de problemas

Si tienes problemas para implementar o depurar datos estructurados, te brindamos algunos recursos que podrían resultarte útiles.