FeedMender

FeedMender/Qué comprobamos

Cobertura

Qué se puede comprobar en un archivo de feed

Hay 225 comprobaciones distintas. Esta página las agrupa igual que el informe del análisis y explica el razonamiento detrás de las que más importan. Si quieres la lista en bruto, con cada código, el atributo que lee y su gravedad, esa es la lista completa de comprobaciones.

Google publica varios cientos de páginas de requisitos de datos de producto. Un archivo no puede demostrarlos todos, y no fingimos lo contrario. Lo que sigue es la parte que puede establecerse a partir del propio archivo, más las dos áreas que necesitan una petición de red: las imágenes y las reglas de robots. Lo que un archivo no puede decir tiene una página aparte, a propósito.

¿Podemos siquiera leer el archivo?

Esto se ejecuta antes de mirar ningún valor, porque una comprobación de valores sobre un archivo mal interpretado es peor que ninguna comprobación: es una respuesta segura sobre los datos equivocados. El delimitador se elige por cuál da un número de campos consistente, no por cuál aparece más veces. Las codificaciones distintas de UTF-8 se leen y se transcodifican. La marca de orden de bytes se elimina antes de que nada posterior la vea. El XML se comprueba: que esté bien formado, que tenga el espacio de nombres de Google y que contenga elementos de producto.

Cuando un archivo es ambiguo de una forma que movería datos entre columnas, el análisis se detiene en lugar de adivinar. Con el delimitador equivocado, los precios acaban en el campo de disponibilidad y cada resultado posterior es ficción. Cuando solo se pierden filas, el recuento lo dice con números claros: un informe sobre 48 de 50 productos que se presenta como completo es el único fallo que un cliente no puede detectar, así que es el único que nos negamos a producir.

Precios y moneda

Los separadores decimales con coma, un código de moneda ausente y la mezcla de separadores de miles y decimales se detectan todos. El caso genuinamente ambiguo se declara con claridad en lugar de adivinarse: 1.234 es 1234 en notación continental y 1,234 en notación inglesa, y nada en el archivo decide cuál. Lo rechazamos antes que cambiar el precio de un producto por un factor de mil.

Más allá del formato, el análisis lee las relaciones entre los campos de precio: un sale_price en una moneda distinta de la de price, un periodo de oferta sin precio de oferta dentro, un precio de socio o de fidelización colocado en el campo de precio ordinario, y medidas de precio por unidad tomadas de una familia distinta de la medida base, kilogramos frente a litros. Un precio de cero solo se marca fuera de los casos en que Google realmente lo permite, como un móvil vendido con contrato. El razonamiento completo está en la página de precio y moneda.

Identificadores de producto

Cada GTIN se comprueba contra el dígito de control GS1 módulo 10, y los que pueden repararse, un ISBN-10 a ISBN-13, un UPC-E a UPC-A, se reparan. Las comprobaciones que casi nadie más hace son las de prefijos restringidos: un código de barras con un dígito de control correcto que Google rechaza igualmente porque empieza por 2, 02 o 04, o porque es un prefijo de cupón leído sobre la forma de 13 dígitos rellenada con ceros. Esa distinción importa: un UPC-A de 12 dígitos que empieza por 98 se normaliza a 098, un prefijo de empresa perfectamente legítimo, así que la cadena en bruto no es lo que hay que comprobar.

La notación científica de Excel (8,71234E+12) se detecta, una marca ausente se separa de un MPN ausente porque satisfacen reglas distintas, y un identifier_exists: no que contradice un GTIN o una combinación de marca y MPN proporcionados se notifica. La página de identificadores explica paso a paso por qué se rechaza un código de barras de aspecto válido.

Títulos y descripciones

El texto promocional que hace rechazar un producto, envío gratis, la palabra SALE, un porcentaje, un precio en el título, se marca. Superar los 150 caracteres se notifica como aviso y no como rechazo, porque Google trunca y publica el producto con el título cortado, que es un coste distinto y más silencioso. Las mayúsculas gritadas se rebajan sin aplanar siglas reales como USB, LED o XL. Las descripciones se comprueban en busca de HTML, del límite de 5.000 caracteres y de ser demasiado escuetas para que Google entienda qué es realmente el producto.

Stock, fechas y disponibilidad

Las formulaciones de stock en neerlandés, francés y alemán se asignan a los cuatro valores que Google acepta, y limited_availability, que ya no existe en los feeds de archivo, se retira. La disponibilidad se deriva de una columna de cantidad de stock cuando el campo de disponibilidad está vacío. Cada campo de fecha se exige en ISO 8601, un expiration_date a más de 30 días vista se detecta (la confusión entre 30 y 365 días), y un sale_price_effective_date que no sea exactamente dos fechas, o cuyo final caiga antes de su inicio, se notifica.

Las contradicciones de stock, in_stock con una cantidad de cero, se notifican en lugar de repararse. Qué campo es el correcto depende de si la autoridad es la tienda o el almacén, y un archivo no puede decirlo. Adivinar ocultaría stock que el comerciante tiene o anunciaría stock que no tiene.

Variantes y atributos

Los códigos hexadecimales y los números en un campo de color se detectan; los colores pegados, ZwartWitGrijs, se separan, pero solo cuando cada segmento es un color reconocido, así que MidnightBlue se deja como un solo color. Una cantidad de pack colocada en el campo de talla (6-pack) se marca, las listas cerradas de valores de size_system, size_type, gender y age_group se hacen cumplir, y las variantes de ropa que solo difieren en talla o color sin un item_group_id compartido se notifican, para que cada talla deje de competir contra sus propias hermanas. Una afirmación sobre el estado solo se tiene en cuenta cuando el propio texto del comerciante la enuncia sin negación: "geen tweedehands" significa lo contrario y no cuenta.

Imágenes, vídeo y robots.txt

La imagen principal de cada producto se descarga de verdad, de dieciséis en dieciséis. Una hoja de cálculo nunca te muestra que 212 de 3.400 imágenes devuelven un 404, y ese es el resultado al que reaccionan los comerciantes. De cada imagen se comprueba su respuesta, sus dimensiones en píxeles contra el mínimo actual y contra los 500x500 que serán obligatorios el 2027-01-31, su formato real contra la extensión que declara, y los techos de megapíxeles y de bytes. Los enlaces de vídeo se validan en su forma, incluido el error frecuente de apuntar a una página con un reproductor en lugar de al archivo de vídeo en bruto.

Después se lee robots.txt, una petición por dominio, con tres user agents comprobados por separado: Googlebot, Googlebot-image y AdsBot-Google. Es una muestra y no una cobertura exhaustiva: como máximo tres dominios y cinco rutas de página de destino por dominio. La razón de comprobar los tres por separado es que AdsBot-Google ignora el grupo comodín, lo que produce el rechazo más confuso que existe.

Envío, devoluciones y cumplimiento en la UE

Esta es la parte que las herramientas construidas para el mercado estadounidense suelen dejar fuera. El envío y las devoluciones son atributos compuestos cuyos subatributos viven en la cabecera de la columna y cuyos valores son posicionales, y ambos se validan contra la sintaxis que Google documenta realmente. Un solo precio de envío a nivel de producto puede desactivar la configuración de envío de la cuenta para esa ubicación, así que el análisis emite una nota a nivel de archivo cada vez que aparece uno. Los valores de devoluciones van en mayúsculas y son cerrados, y un valor correcto con las mayúsculas equivocadas se notifica señalando ese uso de mayúsculas como causa.

En el lado de la UE: el precio por unidad donde es probable que se aplique la directiva de indicación de precios, la forma de la certificación EPREL, y energy_efficiency_class restringido a CH, NO y GB desde abril de 2025. En total se admiten 15 atributos compuestos, con validación de contenido en 11 de ellos y 57 límites estrictos de caracteres y valores declarados desde las constantes en lugar de tecleados a mano.

Cada una de estas es una línea de la lista completa de comprobaciones, y el número en lo alto de esa página se lee del código al compilar. Para ver cuáles de ellas hace saltar tu propio archivo, ejecuta un análisis.