¿Qué son las señales de precio y disponibilidad de un producto?
Las señales de precio y disponibilidad son los datos con los que una tienda declara cuánto cuesta un producto y si se puede comprar: el precio con su moneda, el precio rebajado y las existencias, publicados a la vez en la ficha, en los datos estructurados y en los feeds. Buscadores y asistentes comparan esas copias, y solo valen si coinciden y están al día.
Lo esencial
- El precio y la disponibilidad de un producto viven en varias copias a la vez: la ficha, el marcado, el feed de Merchant Center y el de ChatGPT.
- Google compara el precio de tu feed con el de la página o el del marcado; si no coinciden puede rechazar el producto, y muchos desajustes pueden llevar a suspender la cuenta.
- Google lee el precio en el HTML que devuelve tu servidor: uno que añade JavaScript después de cargar la página da error.
- Un producto no se marca como agotado para dejar de anunciarlo: Merchant Center tiene un atributo para pausarlo.
- ChatGPT tiene en cuenta la disponibilidad y el precio, entre otros factores, al ordenar las tiendas que venden un mismo producto.
Aquí no se habla de cómo fijar precios ni de cuánto stock tener, sino de cómo se dicen. Un mismo producto tiene un precio y un estado de existencias, pero tu tienda los publica en varios sitios a la vez: en la ficha de producto que ve el cliente, en los datos estructurados de esa ficha y en cada feed de productos que mandas fuera. Cada copia es una señal, y quien la lee no siempre lee la misma. Te importa porque son los datos que más cambian (cada rebaja, cada venta, cada reposición) y los que más se comprueban: Google y los asistentes comparan las copias entre sí, y una diferencia puede bastar para que un producto deje de mostrarse.
Cómo funciona
Las cuatro copias habituales dicen lo mismo con formatos distintos:
| Copia | Precio | Disponibilidad |
|---|---|---|
| La ficha | Como lo lee una persona: «29,90 €» | Como la lee una persona: «En stock», «Últimas unidades» |
| El marcado, en la oferta | price y priceCurrency |
Un único valor del vocabulario, como https://schema.org/InStock |
| El feed de Google Merchant Center | price, con la moneda |
in_stock, out_of_stock, preorder o backorder |
| El feed de ChatGPT | price, el precio normal, y sale_price |
in_stock, out_of_stock, pre_order, backorder o unknown |
En el marcado, la oferta es el tipo Offer. Para las fichas de comerciante, Google exige un precio mayor que cero y la moneda en código ISO 4217, y en la disponibilidad pide un solo valor.[1]Google Search Central. Merchant listing (Product, Offer) structured data La especificación de Merchant Center pide que el precio coincida con el de la página, el de los datos estructurados y el del proceso de pago, y que la disponibilidad coincida con la de la página, la del pago y la del marcado; y añade que un producto agotado tiene que seguir mostrando su precio de forma visible en la página.[2]Ayuda de Google Merchant Center. Product data specification El feed de OpenAI hace obligatoria la disponibilidad en cada fila: si falta o no es uno de sus valores, rechaza la fila. El precio rebajado tiene que ser mayor que cero, menor que el normal y en la misma moneda, y OpenAI pide actualizar el feed cuando empieza o acaba una rebaja y cuando un producto se agota o vuelve a estar disponible.[3]OpenAI, documentación de comercio. Product feed specification: products
Google compara las copias. Su rastreador, Googlebot, visita tus fichas y compara el precio de tu feed con el de la página o el del marcado. Si encuentra una diferencia, el producto puede quedar rechazado, y Google avisa de que puede llevar a la suspensión de la cuenta. Lee el HTML que devuelve tu servidor: si el precio se añade con JavaScript después de cargar la página, eso da error. Cuando lo corriges, vuelve a rastrear los productos rechazados en unas horas o días.[4]Ayuda de Google Merchant Center. How to fix: Mismatched product price Con la disponibilidad pasa lo mismo: el valor del feed y el de la página tienen que coincidir, y demasiados productos con la disponibilidad equivocada pueden llevar también a la suspensión.[5]Ayuda de Google Merchant Center. How to fix: Mismatched product availability
La causa más habitual es el reloj. Google cita como motivos frecuentes la diferencia de tiempo entre lo que cambias en la web y lo que llega a Merchant Center, un marcado incorrecto, un precio distinto para los bots que para las personas y, en las rebajas, unas fechas de inicio y fin o una zona horaria mal puestas en el precio rebajado.[4]Ayuda de Google Merchant Center. How to fix: Mismatched product price Por eso recomienda sincronizar los envíos del feed con los cambios de la tienda o, si cambias precios y existencias a menudo, activar las actualizaciones automáticas.[5]Ayuda de Google Merchant Center. How to fix: Mismatched product availability Esas actualizaciones usan los datos estructurados de tu página para corregir el precio, el precio rebajado, la disponibilidad y el estado del producto en Merchant Center, pero no sustituyen a un feed al día, pueden no funcionar con productos que cambian de precio o de disponibilidad más de una vez al día y, si detectan una diferencia, pueden rechazar el producto en lugar de actualizarlo.[6]Ayuda de Google Merchant Center. About automations for price, availability and condition
El marcado también tiene que llegar a tiempo. Google avisa de que el marcado de producto generado con JavaScript puede hacer que los rastreos de Shopping sean menos frecuentes y menos fiables, un problema para lo que cambia rápido, como el precio y la disponibilidad.[7]Google Search Central. Generate structured data with JavaScript
Los asistentes también lo usan. Cuando varios comercios venden el mismo producto, ChatGPT los ordena teniendo en cuenta la disponibilidad, el precio, la calidad y si son el fabricante o el vendedor principal. OpenAI reconoce que, cuando un comercio cambia su precio o sus condiciones de envío, puede pasar un tiempo hasta que se refleja en lo que ve el usuario.[8]OpenAI, centro de ayuda. Shopping with ChatGPT Search
En una tienda
Una camisa entra en rebajas el lunes a las 9:00. A las 11:00, la tienda revisa sus cuatro copias. Es un ejemplo ficticio: la tienda, el producto, los precios y las horas están inventados para enseñar dónde aparece la diferencia.
| Copia, a las 11:00 (ejemplo ficticio) | Precio | Disponibilidad | ¿Coincide con la ficha? |
|---|---|---|---|
| La ficha | 29,90 € | En stock | Es la referencia |
| El marcado de la ficha | 29.90 EUR |
InStock |
Sí |
| El feed de Merchant Center | 39,90 €, sin sale_price |
in_stock |
No: el precio es el de antes de la rebaja |
| El feed de ChatGPT | 39,90 € | Vacío | No: el precio es el de antes, y la fila sin disponibilidad se rechaza |
Dos lecturas. La página y el marcado están bien, y aun así hay un problema: el feed de Merchant Center se envía una vez al día y todavía no sabe que hay rebaja, así que si Google rastrea la ficha esa mañana encontrará dos precios distintos.[4]Ayuda de Google Merchant Center. How to fix: Mismatched product price La solución no es tocar la ficha, sino el feed: enviar el precio rebajado con sus fechas de inicio y fin, o dejar que las actualizaciones automáticas lo corrijan si el precio no cambia más de una vez al día.[6]Ayuda de Google Merchant Center. About automations for price, availability and condition La segunda: en el feed de ChatGPT, la disponibilidad vacía no es un aviso, es una fila rechazada.[3]OpenAI, documentación de comercio. Product feed specification: products
Lo que se suele confundir
Marcar un producto como agotado para dejar de anunciarlo. Si la página dice que hay existencias, eso crea justo la diferencia que Google castiga. Merchant Center pide no usar out_of_stock para pausar un producto: para eso está el atributo de pausa, durante un máximo de 14 días, y el de destino excluido si es para más tiempo.[5]Ayuda de Google Merchant Center. How to fix: Mismatched product availability
Cómo comprobarlo
- Elige un producto en rebaja o con pocas existencias y apunta lo que ve un cliente en la ficha.
- Abre el código fuente de la ficha, no el inspector del navegador, y busca el precio y la disponibilidad del marcado. Si solo aparecen en el inspector, los está añadiendo JavaScript después de cargar.[4]Ayuda de Google Merchant Center. How to fix: Mismatched product price[7]Google Search Central. Generate structured data with JavaScript
- Entra en Merchant Center, en Productos, en la pestaña de los que necesitan atención (Needs attention), y filtra por los problemas de precio y de disponibilidad que no coinciden.[5]Ayuda de Google Merchant Center. How to fix: Mismatched product availability
- Si usas precio rebajado, revisa sus fechas de inicio y fin y la zona horaria: un error ahí enseña un precio equivocado aunque todo lo demás esté bien.[4]Ayuda de Google Merchant Center. How to fix: Mismatched product price
- Revisa cada fila de tu feed para ChatGPT: la disponibilidad tiene que ser uno de los valores admitidos, y
unknownsolo cuando de verdad no la sabes.[3]OpenAI, documentación de comercio. Product feed specification: products
Concepto cercano: Offer
Offer es una sola de las copias: la que va en el marcado de la ficha, con su precio, su moneda y su disponibilidad. Las señales de precio y disponibilidad son el conjunto, y su problema no suele estar dentro de ninguna copia, sino entre ellas: una oferta perfecta en el marcado no sirve si el feed dice otro precio. Cuando una copia que estaba bien deja de coincidir con el tiempo, el nombre es deriva de datos.
Para seguir, la ruta de lectura de catálogo y entidades ordena el resto de términos, y la entrada sobre la política de devoluciones cubre las otras condiciones de venta que leen buscadores y asistentes.
Sinónimos
- English
- price and availability, price and availability signals
- Español
- precio y existencias, datos de precio y disponibilidad
Fuentes
- [1] Google Search Central. Merchant listing (Product, Offer) structured data. Consultado el . ↑
- [2] Ayuda de Google Merchant Center. Product data specification. Consultado el . ↑
- [3] OpenAI, documentación de comercio. Product feed specification: products. Consultado el . ↑ ↑ ↑
- [4] Ayuda de Google Merchant Center. How to fix: Mismatched product price. Consultado el . ↑ ↑ ↑ ↑ ↑
- [5] Ayuda de Google Merchant Center. How to fix: Mismatched product availability. Consultado el . ↑ ↑ ↑ ↑
- [6] Ayuda de Google Merchant Center. About automations for price, availability and condition. Consultado el . ↑ ↑
- [7] Google Search Central. Generate structured data with JavaScript. Consultado el . ↑ ↑
- [8] OpenAI, centro de ayuda. Shopping with ChatGPT Search. 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.
Términos relacionados
Offer
Qué es el tipo Offer de Schema.org, cómo se escriben el precio, la moneda y la disponibilidad, qué pide Google y en qué se diferencia de AggregateOffer.
Política de devoluciones
Qué es la política de devoluciones de una tienda online, qué debe incluir y qué leen de ella Google, Merchant Center y ChatGPT.
Ecommerce B2B
Qué es el ecommerce B2B, qué lo separa de una tienda B2C (precio por cliente, pedidos mínimos, acceso con cuenta) y qué ven de él Google y los agentes.
UGC
Qué es el UGC (contenido generado por usuarios) en una tienda: reseñas, fotos y preguntas de clientes, cómo lo leen Google y ChatGPT y cómo moderarlo.
OfferShippingDetails
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.
Fichas de comerciante
Qué son las fichas de comerciante (merchant listings) de Google, dónde aparecen, qué marcado Product y Offer piden y cómo comprobar si tu ficha opta.
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.