Cuando Google Merchant Center marca un producto con «política de datos estructurados», AdsBot ha detectado que el marcado Schema.org de la página no es válido o contradice el contenido visible para el comprador. Cada producto señalado queda excluido de Google Shopping -tanto de los anuncios de pago como de las fichas orgánicas gratuitas- hasta que se corrija. En la mayoría de los casos el origen está en el tema de Shopify, no en el feed, lo que convierte esta desaprobación en un problema técnico con solución directa y predecible.
Qué entiende Google por “política de datos estructurados”
La política oficial de datos estructurados de producto de Google establece que el marcado Schema.org/Product incrustado en las páginas debe ser completo, exacto y coherente con el contenido visible para el usuario. Google no se limita a leer el feed enviado a Merchant Center; AdsBot rastrea directamente las URLs de los productos y compara lo que encuentra en el HTML con lo que el feed declara y con lo que el comprador ve en pantalla.
Los tres motivos de desaprobación más frecuentes son los siguientes:
- Campos obligatorios ausentes. Los campos
name,offers.price,offers.priceCurrencyyoffers.availabilityson requisitos mínimos. Si el tema de Shopify no los incluye en el bloque JSON-LD o los genera con valores vacíos, AdsBot rechaza el producto sin distinciones. - Valores contradictorios. El precio en el marcado difiere del precio mostrado en pantalla; o
availabilitydeclaraInStockcuando la tienda muestra «Agotado». Este supuesto puede activar simultáneamente las desaprobaciones relacionadas conprice-discrepancyeinaccurate-availability. - Señales engañosas. Declarar envío gratuito, descuentos o stock ilimitado en el marcado sin que existan realmente se considera una práctica engañosa según los términos de uso de Google Shopping.
La política no distingue entre errores involuntarios de configuración y prácticas deliberadamente engañosas: el algoritmo aplica la misma penalización en ambos casos.
Por qué desencadena una desaprobación en Shopify
Shopify inyecta automáticamente JSON-LD de producto en las páginas product.liquid a través del snippet product-json-ld.liquid (temas Dawn y sucesores) o mediante un bloque de sección equivalente. Varios escenarios habituales en tiendas Shopify producen marcado inválido:
- Variantes con rangos de precio. Cuando un producto tiene variantes con precios distintos, algunos temas serializan el precio mínimo como
pricesin especificarpriceValidUntil, o no utilizan el tipoAggregateOffercorrectamente. Merchant Center lo interpreta como precio inexacto. - Apps de terceros que inyectan JSON-LD adicional. Las aplicaciones de reseñas, comparadores de precios o SEO on-page pueden insertar un segundo bloque
<script type="application/ld+json">con campos que contradicen al primero. En ese caso, AdsBot lee ambos bloques y puede registrar el valor más restrictivo o marcar la página como ambigua. - Disponibilidad renderizada con JavaScript. Si el indicador de stock se actualiza en el cliente mediante JavaScript asíncrono, AdsBot puede leer
OutOfStocken el marcado estático aunque el servidor envíeInStocken tiempo real. - Shopify Markets con precios por mercado. Al activar múltiples mercados con subdirectorios localizados (
/es), el precio y la moneda del marcado JSON-LD de la versión española deben reflejar el precio en EUR que Merchant Center valida para España. Si el snippet Liquid lee el precio por defecto de la variante en lugar del precio del mercado activo, el marcado resultará incorrecto para el mercado ES.
En todos estos casos el problema reside en el HTML que Google rastrea desde tu dominio. Corregir el feed de Merchant Center sin corregir el marcado no resuelve la desaprobación.
Cómo detectar el problema en tu tienda
Antes de modificar ningún archivo, identifica exactamente qué campo falla y en qué URL.
-
Rich Results Test. Abre https://search.google.com/test/rich-results, introduce la URL de un producto desaprobado y selecciona la opción «Buscar URL en Google» (no solo «Código») para obtener el resultado que AdsBot lee desde el servidor. Localiza los errores o advertencias bajo el tipo «Product».
-
Google Search Console → Mejoras → Productos. Si Search Console está vinculada a tu dominio, el informe de enriquecimientos de producto lista todas las URLs con problemas de datos estructurados clasificados por tipo de error, con la fecha del último rastreo.
-
Diagnóstico en Merchant Center. En Merchant Center → Productos → Diagnóstico, filtra por el motivo «Política de datos estructurados». Haz clic en cualquier producto afectado para ver los campos específicos que han fallado.
-
Inspección manual del código fuente. En tu navegador, ve a la página de un producto desaprobado, abre el código fuente (Ctrl+U en Windows, Cmd+U en Mac) y busca la cadena
application/ld+json. Compara el valor depricey el literal deavailabilitycon lo que aparece visualmente en pantalla. Si hay discrepancia, ahí está el origen. -
Validador de schema.org. Copia el bloque JSON-LD completo y pégalo en https://validator.schema.org/ para detectar campos mal nombrados, valores fuera del vocabulario permitido o propiedades con tipos de datos incorrectos.
Corrección paso a paso
Una vez localizado el campo problemático, sigue este procedimiento en orden:
-
Haz una copia de seguridad del tema. En Shopify, ve a Tienda online → Temas → ••• → Duplicar. Nunca edites el tema activo en producción sin un respaldo previo.
-
Corrige el bloque JSON-LD en el snippet del tema. El archivo suele llamarse
product-json-ld.liquido estar dentro demain-product.liquid. Los campos mínimos requeridos por GMC para España son:
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "{{ product.title | escape }}",
"image": "{{ product.featured_image | img_url: 'master' }}",
"offers": {
"@type": "Offer",
"url": "{{ shop.url }}{{ product.url }}",
"priceCurrency": "EUR",
"price": "{{ product.selected_or_first_available_variant.price | divided_by: 100.0 }}",
"availability": "{% if product.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}",
"itemCondition": "https://schema.org/NewCondition",
"priceValidUntil": "{{ 'now' | date: '%s' | plus: 31536000 | date: '%Y-%m-%d' }}"
}
}
Preguntas frecuentes
Preguntas frecuentes
- ¿Cuánto tarda Google en re-evaluar un producto después de corregir el marcado?
- Una vez aplicada la corrección, el tiempo habitual de re-evaluación es de 1 a 5 días hábiles. AdsBot rastrea las páginas de forma independiente al ciclo de indexación orgánica de Googlebot, por lo que solicitar la indexación en Search Console acelera el proceso pero no garantiza una revisión inmediata. El estado actualizado aparece en Merchant Center → Productos → Diagnóstico.
- ¿Tengo que corregir manualmente cada URL o Shopify actualiza el marcado de todos los productos a la vez?
- Si el error procede del snippet Liquid del tema (product-json-ld.liquid o equivalente), corregir ese archivo actualiza el marcado de todos los productos que usan ese tema de forma automática. No es necesario editar cada URL de forma individual. Si el error lo introduce una app de terceros que genera JSON-LD producto a producto (reseñas, SEO), deberás deshabilitarla o reconfigurarla desde su panel de administración.
- ¿El error de datos estructurados afecta también a mi posicionamiento orgánico en Google?
- Un marcado Schema.org incorrecto o incompleto puede impedir que tus productos aparezcan con fragmentos enriquecidos (rich snippets) en los resultados orgánicos, reduciendo el porcentaje de clics (CTR). Sin embargo, según la documentación oficial de Google, no es un factor de penalización directa del ranking. El impacto más inmediato y medible es en Google Shopping, donde la desaprobación excluye completamente el producto tanto de los anuncios de pago como de las fichas gratuitas.
- ¿Qué pasa si el Rich Results Test muestra el marcado correcto pero el producto sigue desaprobado en Merchant Center?
- Este caso suele deberse a que AdsBot está rastreando una versión en caché de la página anterior a la corrección. Primero, usa la opción «Buscar URL en Google» del Rich Results Test (no solo «Código») para verificar lo que Google lee realmente desde el servidor. Si el resultado es correcto, solicita una reindexación en Search Console y espera un ciclo completo de rastreo (habitualmente 48-96 horas). Si el problema persiste, contacta con el soporte de Merchant Center adjuntando capturas de pantalla del test.
- ¿Qué campos de Schema.org son obligatorios para Google Merchant Center en España?
- Para que un producto sea elegible en Google Shopping en España, el bloque JSON-LD de tipo Product debe incluir como mínimo: name (nombre del producto), offers.price (valor numérico sin símbolo de moneda), offers.priceCurrency (código ISO, «EUR» para España), offers.availability (con valores del vocabulario schema.org, p. ej. https://schema.org/InStock) y offers.url (URL canónica del producto). Campos como image, description, brand y gtin13 mejoran la calidad del anuncio y reducen el riesgo de desaprobaciones por otros motivos, aunque no son estrictamente obligatorios para superar la comprobación de datos estructurados.
- ¿Puede una app de reseñas instalada en Shopify causar esta desaprobación?
- Sí. Algunas apps de reseñas inyectan un bloque JSON-LD de tipo Product independiente que puede contradecir el del tema -por ejemplo, declarando un aggregateRating que Google no puede verificar porque las reseñas no son visibles en la página, o repitiendo el campo price con un valor diferente. La solución más directa es desactivar la opción «inyectar datos estructurados» en la configuración de la app y gestionar el marcado de reseñas exclusivamente desde el tema.
Fuentes y referencias
Fuentes oficiales citadas
- Google Search Central: datos estructurados de producto https://developers.google.com/search/docs/appearance/structured-data/product
- schema.org/Product - especificación completa del tipo Product https://schema.org/Product
- Google Rich Results Test https://search.google.com/test/rich-results
- schema.org Validator https://validator.schema.org/
Checklist de apelación
Los pasos de esta página, en su correo.