Datos estructurados de dimensiones de producto: campos vacíos
Datos estructurados de dimensiones de producto en schema.org, Google Merchant Center y el feed de ChatGPT: cada campo, el JSON-LD y la regla que lo rompe.
Los datos estructurados de dimensiones de producto son la parte de tu ficha que nada con ojos llega a leer nunca, y hoy son la parte que decide si tu producto aparece o no en una respuesta. Pusiste 600 × 320 × 720 mm en la imagen de especificaciones. Un comprador lo lee. Un rastreador, un feed de compras y un asistente que responde "¿qué gabinetes de pared tienen menos de 350 mm de profundidad?" no leen nada, porque ese número solo existe como píxeles.
Datos estructurados de dimensiones de producto significa la declaración legible por máquinas del tamaño físico de un producto: campos con nombre que llevan valores numéricos y unidades explícitas, publicados como JSON-LD en la página del producto o como columnas en un feed de comercio. Hoy hay tres especificaciones distintas que definen esos campos, no se ponen de acuerdo en los nombres, y la mayoría de los catálogos no llena ninguno.
Aquí está el bloque completo, campo por campo, con la versión para copiar y pegar al final.
Datos estructurados de dimensiones de producto: las tres especificaciones que leen tu tamaño
schema.org (en tu página)
Feed de Google Merchant Center
Feed de ChatGPT / Agentic Commerce
Tamaño general
width, height, depth
shipping_length, shipping_width, shipping_height
dimensions, o length + width + height
Manejo de unidades
unitCode (código común UN/CEFACT de 3 caracteres) o unitText, por valor
cm o in: los tres deben usar la misma unidad
dimensions_unit, obligatorio si usas los campos individuales
Peso
weight
shipping_weight
weight + item_weight_unit
Cualquier otra medida
hasMeasurement
product_detail
sin equivalente
Tallas de ropa
size, SizeSpecification
size, size_type, size_system
size, size_system (nivel de variante)
Para qué dice la especificación que sirve
describir el artículo
calcular el costo de envío con tarifas del transportista
búsqueda, descubrimiento y filtrado
Lee dos veces la última fila, porque ahí está la trampa en la que cae casi todo catálogo.
Los campos de dimensiones de Google describen tu caja, no tu producto
shipping_length, shipping_width y shipping_height son opcionales, aceptan centímetros o pulgadas y están acotados a 1–400 cm o 1–150 inches. Google es explícito sobre su función: existen para ayudar a determinar el costo de envío cuando usas un método con tarifas calculadas por el transportista. Los tres deben enviarse juntos y en la misma unidad, o el dato no se puede usar en absoluto.
Es decir, describen el cartón. No hay ningún atributo de Merchant Center para las dimensiones del producto terminado.
Ese vacío es la razón por la que product_detail te importa más que cualquier otro campo de esta página. Lleva especificaciones técnicas que no cubren otros atributos, en un formato de tres partes separadas por exactamente dos signos de dos puntos:
section_name : attribute_name : attribute_value
section_name es opcional pero recomendado; attribute_name y attribute_value son obligatorios. Los ejemplos de Google siguen la forma Display:Size:13 inch y Battery:Capacity:12.5 hours. Lo que significa que el lugar correcto para el tamaño real de un producto en un feed de Google se ve así:
Propósito
valor de product_detail
Ancho armado
Dimensions:Width:600 mm
Alto armado
Dimensions:Height:720 mm
Profundidad armada
Dimensions:Depth:320 mm
Ancho interior útil
Dimensions:Internal shelf width:564 mm
Centros de fijación
Installation:Wall fixing centres:512 mm
Cartón, declarado por separado
Packaging:Carton (L×W×H):640 × 360 × 760 mm
Dos reglas para que esto se mantenga limpio. Pon la unidad dentro de attribute_value: el campo es texto libre y un "600" pelado no sirve de nada. Y nunca repitas algo que ya tiene su propio atributo: Google te pide no duplicar información cubierta en otro lugar, y los datos de precio o de plazos de entrega están explícitamente prohibidos aquí.
schema.org: los cuatro campos más el que nadie usa
En la página misma, schema.org le da a Product propiedades de dimensión directas, y cada una acepta un Distance o un QuantitativeValue:
width — "el ancho del artículo".
height — "el alto del artículo".
depth — "la profundidad del artículo".
weight — un Mass o un QuantitativeValue.
Después está size, que es un campo de otra naturaleza y se usa mal de forma rutinaria. Su definición admite una cadena de texto simple como XL o 32Wx34L, un QuantitativeValue con unitCode, o un SizeSpecification completo, y dice sin rodeos que cuando eso no encaja "las propiedades width, height, depth y weight pueden ser más apropiadas". Traducción para quien vende algo que no es ropa: usa size para sistemas de tallas de indumentaria, usa las cuatro propiedades de dimensión para bienes físicos, y no metas 600x320x720 como cadena en size.
El campo que nadie usa es hasMeasurement, un QuantitativeValue sobre Product pensado para mediciones del artículo. Los ejemplos de schema.org son el tiro interno de un pantalón, el rodado de una bicicleta, el calibre de un tornillo. Acepta un arreglo, así que ahí es donde va cada dimensión secundaria: ancho interior de estante, altura de asiento, centros de fijación, luz de paso, paso de rosca. Son los números por los que un comprador te escribe un correo, y existe un campo estándar para ellos que está vacío en casi todos los catálogos.
Para las unidades, unitCode toma un código común UN/CEFACT de 3 caracteres: MMT milímetro, CMT centímetro, INH pulgada, KGM kilogramo, LBR libra. Si no tienes certeza del código, unitText con una cadena simple es válido y mejor que un código equivocado.
Para copiar y pegar: el bloque de dimensiones en JSON-LD
Colócalo dentro de tu nodo Product existente. Valida, está completo y separa a propósito el tamaño del producto del tamaño del cartón.
El feed de ChatGPT quiere los mismos números con otros nombres
La especificación del feed de productos de Agentic Commerce, el archivo que los comercios envían para las superficies de compras de ChatGPT, acepta dimensiones de dos maneras, y las reglas de dependencia son estrictas:
Campo
¿Obligatorio?
Formato
Dependencia
dimensions
Opcional
LxWxH unit, por ejemplo 12x8x5 in
Unidades obligatorias si envías el campo
length, width, height
Opcional
numérico
Envía los tres; requiere dimensions_unit
dimensions_unit
Condicional
in, cm
Obligatorio si aparece cualquiera de length/width/height
weight
Opcional
numérico
Requiere item_weight_unit
item_weight_unit
Condicional
lb, kg
Obligatorio si weight está presente
material
Opcional
texto, máximo 100 caracteres
—
size, size_system
Opcional
nivel de variante; size_system es un código de país ISO 3166
Recomendado para indumentaria
La especificación dice que las características físicas y la clasificación ayudan a la categorización, el filtrado y la relevancia de búsqueda, que es la manera llana de decir que un producto sin dimensiones es un producto que no se puede filtrar hacia un conjunto de resultados. Si un comprador pide un gabinete de menos de 350 mm de profundidad y tu campo depth está vacío, no quedas mal posicionado. Quedas ausente.
Un vacío que conviene admitir: la especificación no define un campo aparte para las dimensiones del embalaje, y no aclara si dimensions se refiere al producto o a su cartón. Declara a cuál te refieres en algún lugar que puedan leer tanto una persona como un modelo, y sé consistente en todo tu catálogo.
Por qué vale la pena llenar estos campos aunque Google no los muestre
Aquí viene la parte que suena a contradicción. La propia documentación de datos estructurados de Product de Google, la que enumera lo que te hace ganar un resultado enriquecido, no incluye width, height, depth, weight ni hasMeasurement. Su lista de compatibilidad llega hasta precio, disponibilidad, calificaciones de reseñas, envío, política de devoluciones, tallas de indumentaria, identificadores y pros y contras.
Así que el marcado de dimensiones no te va a dibujar un fragmento más grande. Nunca iba a hacerlo.
Lo que cambió es quien consume. Google dice que product_detail aporta datos estructurados que le ayudan a entender y mostrar productos en distintas superficies, incluidas funciones impulsadas por IA como el Modo IA en la Búsqueda; el feed de Agentic Commerce existe para que los productos se puedan encontrar y filtrar dentro de un chat. Esos sistemas no necesitan una plantilla visual que se dispare: necesitan un atributo que puedan comparar contra una restricción. Un campo de dimensión ya no es decoración de un resultado de búsqueda. Es lo que te califica para ser recuperado.
Lo cual reordena la prioridad: llena estos campos para los motores que responden preguntas, no para los que dibujan cajas.
La regla que rompe todo: un número, dos lugares
Todos los modos de falla que he visto con datos estructurados de dimensiones de producto vienen de la misma raíz: el feed dice una cosa y la imagen dice otra.
Pasa sin mala intención. Alguien escribe el tamaño del cartón en shipping_width, otra persona mide la unidad armada para el diagrama de especificaciones, y una tercera redondea 564 mm a 56 cm en product_detail. Ahora un asistente le dice con toda seguridad a un comprador que el gabinete mide 640 mm de ancho, el comprador mira tu imagen que dice 600, y acabas de fabricar un problema de confianza más una devolución. Peor: el número que se cita es el que leyó la máquina, porque es el que era legible.
La solución es proceso, no marcado: mide una vez y publica esa misma medida tanto en el campo como en la imagen. En concreto:
Mide el artículo terminado, no el plano ni el cartón, y registra a cuál se refiere cada cifra.
Pon cada cifra sobre la imagen junto a la característica que describe, anclada al borde real del producto y no flotando cerca de él, y exporta al tamaño de diagrama de especificaciones de cada plataforma. Un software hecho para anotar dimensiones hace esto de forma determinista, que es toda la diferencia frente a un editor de fotos genérico donde colocas las flechas a mano, o frente a un generador de imágenes, que renderizará sin problema una dimensión que nunca midió porque lo que optimiza es la verosimilitud.
Copia las mismas cifras a width/height/depth, a product_detail y a los campos de dimensión del feed. Misma fuente, mismo redondeo, mismas unidades.
Cuando una cifra cambia, cámbiala en los dos lugares en el mismo commit. Un par desalineado es peor que uno faltante.
width, height, depth presentes en el nodo Product, cada uno como QuantitativeValue con unitCode o unitText
weight presente con su unidad
Cada dimensión secundaria que un comprador realmente pregunta está en hasMeasurement con un name descriptivo
size usado solo para sistemas de tallas de indumentaria, sin cadenas tipo 600x320x720
Feed: shipping_length / shipping_width / shipping_height los tres presentes, en la misma unidad, y describiendo el cartón
Feed: dimensiones del producto armado en product_detail, con la unidad dentro del valor y exactamente dos signos de dos puntos por entrada
Feed: sin duplicar datos que ya tienen su propio atributo; sin precio ni plazos de entrega dentro de product_detail
Feed agéntico: o dimensions con su unidad, o length+width+heightmásdimensions_unit
Feed agéntico: weight nunca se envía sin item_weight_unit
Las dimensiones del producto y las del cartón están etiquetadas de forma distinta en todos los lugares donde aparecen
Cada número del marcado coincide con el número impreso en la imagen de especificaciones, al milímetro
Hay una sola persona responsable de esa coincidencia, para que nadie edite un lado por su cuenta
FAQ
¿Cómo agrego las dimensiones del producto a los datos estructurados?
Pon width, height, depth y weight en tu nodo Product en JSON-LD, cada uno como un QuantitativeValue con un value numérico y un unitCode. Agrega toda otra característica medible como entradas de hasMeasurement con un name descriptivo. En un feed de Google, el tamaño armado va en product_detail, no en los campos shipping_*.
¿Google usa width, height y depth del schema de Product?
No para resultados enriquecidos. Las propiedades de producto compatibles con Google cubren precio, disponibilidad, reseñas, envío, política de devoluciones, tallas de indumentaria, identificadores y pros y contras: las dimensiones físicas no están en esa lista. Siguen importando para la recuperación y la comparación en superficies impulsadas por IA, que es un trabajo distinto y hoy más grande.
¿Cuál es la diferencia entre shipping_length y el tamaño real del producto?
shipping_length, shipping_width y shipping_height describen el paquete de envío y existen para poder calcular tarifas del transportista. No son las dimensiones terminadas del producto y no deberían llenarse con ellas. Merchant Center no tiene un atributo dedicado al tamaño armado, y por eso product_detail es el lugar correcto para ese dato.
¿Qué códigos de unidad debo usar para las dimensiones en JSON-LD?
unitCode toma un código común UN/CEFACT de 3 caracteres: MMT para milímetro, CMT centímetro, INH pulgada, KGM kilogramo, LBR libra. Si no estás seguro del código de una unidad, usa unitText con una cadena simple; un unitText legible le gana a un unitCode equivocado.
¿Sigo necesitando las dimensiones en la imagen del producto si ya están en el feed?
Sí, y el razonamiento es simétrico. Las máquinas leen los campos y no pueden leer tu imagen; los compradores leen la imagen y jamás van a abrir tu feed. Tu diagrama de dimensiones es una imagen, y todo sistema que decide si tu producto aparece en una respuesta lee texto, así que publica ambos y haz que coincidan al milímetro. Cómo redactar la mitad visual para que los compradores actúen se trata en cómo comunicar las dimensiones del producto a los compradores; si quieres el costo de equivocarse expresado en dinero, la calculadora de costo de devoluciones hace esa cuenta.