El feed no es una exportación técnica: es el anuncio. Cada atributo es una palabra clave, un argumento de venta o un filtro que decide si apareces. Esta lección recorre la especificación entera con el criterio de "qué hace cada campo por la rentabilidad", no solo "qué exige Google".
Los obligatorios (sin ellos, desaprobado)
| Atributo | Qué es | Lo que importa de verdad |
|---|---|---|
id |
Identificador único y estable | Si cambia, el producto pierde su historial (y el aprendizaje de PMax). Usa el SKU, nunca un contador de exportación |
title |
Título (≤150 caracteres; se ven ~70) | El atributo que más mueve impresiones — ver abajo |
description |
Descripción (≤5.000) | Indexada para la relevancia; primeras 160-500 caracteres con lo esencial; sin HTML ni promoción |
link |
URL de la página del producto | Misma URL que ve el usuario (con la variante seleccionada); https; sin redirecciones a home |
image_link |
Imagen principal | Fondo blanco o neutro, producto ≥75 % del encuadre, mínimo 500×500 px obligatorio (desde el 31/01/2027 se rechazan por debajo), ≥800×800 px recomendados, sin texto ni marcas de agua |
price |
Precio con moneda (19.90 EUR) |
Igual que la web, con IVA (Europa); el precio "tachado" es price, el rebajado va en sale_price |
availability |
in_stock, out_of_stock, preorder, backorder |
Debe reflejar la web en el momento; desajustes = desaprobación |
condition |
new, refurbished, used |
Obligatorio; afecta a la subasta (usados compiten aparte) |
brand |
Marca | Obligatorio salvo marca propia sin GTIN (ver identificadores); consulta "marca + producto" dependen de él |
gtin |
Código de barras (EAN-13 en Europa, UPC, ISBN…) | La llave del catálogo de Google: con GTIN el producto se empareja con su ficha (reseñas, comparador, mejor relevancia) |
mpn |
Referencia del fabricante | Necesario si no hay GTIN |
identifier_exists |
no cuando el producto no tiene identificadores (artesanía, marca propia, vintage) |
Úsalo solo si es verdad; declararlo con productos que sí los tienen es infracción |
Obligatorios por vertical: google_product_category en ciertas
categorías (ropa, medios, software…), age_group, gender, color,
size en ropa y accesorios, energy_efficiency_class en
electrodomésticos (Europa), unit_pricing_measure donde aplica la ley
de precio por unidad, multipack, is_bundle…
Identificadores únicos: la regla y su excepción
Google exige GTIN cuando el producto lo tiene (lo sabe porque el catálogo
lo conoce). Con GTIN válido: mejor emparejamiento, aparición en fichas de
comparación y en "productos populares". Sin GTIN para un producto que lo
tiene: "identificador único incorrecto/faltante" → limitado o
desaprobado. Marca propia sin código de barras: identifier_exists: no
brand+mpnopcional. Comprar GTIN (GS1) merece la pena si vendes volumen de marca propia.
Los que cambian el rendimiento
title: el atributo más rentable
Google empareja la consulta principalmente con el título (y después con descripción, tipo, categoría). Reglas probadas:
- Lo importante delante (se corta a ~70 caracteres en móvil):
Marca + Producto + Atributo clave (modelo/talla/color/medida) + detalle. Ropa:Marca Prenda Género Color Talla; electrónica:Marca Modelo Tipo Característica; hogar:Producto Material Medida Marca. - Incluye los términos que la gente busca (mira los términos de búsqueda de la campaña de Shopping): "zapatillas running hombre" vale más que "Air Zoom Pegasus 41".
- Sin mayúsculas gritonas, sin promoción ("oferta", "envío gratis"), sin símbolos.
- Variantes: el título de cada variante lleva su color/talla → relevancia por consulta "camiseta azul M".
- Se puede reescribir sin tocar la tienda con reglas de Merchant o feed suplementario (abajo); y automatizar con la suite (el Shopping Ninja genera títulos optimizados desde la hoja — lección 6).
Clasificación
google_product_category: la taxonomía de Google (ID o ruta completa). Correcta = aparecer en las consultas de la categoría; genérica ("Ropa y accesorios") = relevancia pobre. Elige la más específica.product_type: tu taxonomía libre (Hogar > Cocina > Sartenes). Google la usa para relevancia y tú para estructurar campañas (grupos de productos por product_type). Obligatoria en la práctica para una estructura seria.
Precio y promociones
sale_price(+sale_price_effective_date): el precio rebajado; se muestra el tachado y el descuento; activa el distintivo "bajada de precio".shipping(por país/región, servicio, precio) yshipping_weight: sobrescribe la configuración de cuenta por producto; obligatorio que coincida con el checkout.unit_pricing_measure/unit_pricing_base_measure: precio por unidad (obligatorio para ciertos productos en la UE).cost_of_goods_sold: coste de adquisición → Merchant calcula margen bruto en sus informes (lección 5).
Imágenes y detalle
additional_image_link(hasta 10): vistas alternativas, en uso, detalle → más clics y mejor ficha.product_highlight(hasta 10 puntos breves) yproduct_detail(sección/atributo/valor): alimentan la ficha detallada y la relevancia.color,size,size_type,size_system,material,pattern,age_group,gender: filtros de Shopping; obligatorios en ropa.
Variantes bien hechas
Un producto con tallas y colores = una fila por variante, todas con
el mismo item_group_id, cada una con su id, title (con el
atributo), link (a la variante), image_link (de su color), price,
availability, color, size. Google muestra una y agrupa las demás.
Error clásico: una sola fila para todas las tallas → "talla no
disponible" en la web, desaprobación por disponibilidad.
Las etiquetas personalizadas: la palanca de estructura
custom_label_0 … custom_label_4 (hasta 100 valores cada una): valores
libres que solo ves tú y que usas para particionar campañas y
pujar distinto: margen (alto/medio/bajo), rendimiento (top/medio/cola),
estacionalidad, novedad, stock (alto/bajo), precio (tramos), marca
propia/terceros. Rellenarlas desde el ERP o con reglas. Sin etiquetas,
la estructura de Shopping se limita a categoría/marca/tipo.
Fuentes de datos (cómo llega el feed)
| Fuente | Cuándo | Pros / contras |
|---|---|---|
| Plataforma (Shopify, WooCommerce, PrestaShop, Magento) | Tienda estándar | Sincroniza sola; atributos limitados a lo que la app exporta |
| Archivo programado (XML/TSV por URL) | Lo más común en tiendas a medida | Control total; frecuencia de fetch hasta diaria (más con API) |
| Google Sheets | Catálogos pequeños o suplementarios | Fácil de editar; límite práctico de filas |
| Content API / Merchant API | Catálogos grandes, precios/stock que cambian al minuto | Actualización en tiempo real (la solución al desajuste de precios) |
| Rastreo automático del sitio | Sin feed, Google lee los datos estructurados (schema.org) | Cómodo pero con menos control; bueno como respaldo |
| Actualizaciones automáticas | Google corrige precio/disponibilidad desde la página (datos estructurados) | Actívalas: evitan desaprobaciones por desajustes cortos |
Datos estructurados (schema.org/Product con offers) en la ficha:
Google los usa para verificar precio y disponibilidad; tenerlos correctos
reduce desaprobaciones.
Feeds suplementarios y reglas: cambiar el feed sin tocar la tienda
- Fuente suplementaria: un archivo/Sheet con
id+ atributos que se añaden o sobrescriben sobre el feed principal (títulos reescritos, custom_labels, categorías, highlights). Es la herramienta del especialista: la tienda exporta lo que puede; tú corriges lo demás. - Reglas de la fuente de datos: transformaciones en Merchant —
"establecer
titlecomobrand++title", "siproduct_typecontiene X,custom_label_0= Y", "reemplazar endescription", "extraer talla de título". Potentes para cosas sencillas; para lógica compleja, Sheets + script. - Precedencia: reglas > suplementario > principal (configurable).
Errores de feed frecuentes y solución
| Error en Diagnóstico | Causa | Solución |
|---|---|---|
| Precio no coincide | Web con IVA/oferta/variante distinta | Sincronizar (API o fetch frecuente); datos estructurados; actualizaciones automáticas |
| Disponibilidad no coincide | Stock desactualizado | Igual; fetch diario mínimo |
| Identificador único faltante/incorrecto | Sin GTIN válido | GTIN real o identifier_exists: no si procede |
| Imagen genérica / con texto / pequeña | Imágenes de la web | Imágenes específicas, limpias, mínimo 500×500 px (obligatorio desde 31/01/2027) y ≥800 px recomendado |
| Categoría inválida | Ruta mal escrita | ID numérico de la taxonomía |
| Valor de talla/color faltante (ropa) | No exportados | Añadirlos (suplementario si hace falta) |
| Enlace a la página principal / no se puede rastrear | robots.txt, 404, redirecciones | Permitir Googlebot y AdsBot; URL directa |
| Título demasiado largo / mayúsculas | Plantilla | Reglas de título |
| Producto limitado por "rendimiento" | Calidad de datos baja (pocos atributos) | Enriquecer atributos |
💡 Truco ninja: trabaja el feed como una campaña, no como un archivo: mide qué productos reciben impresiones y cuáles no (informe de productos), mira los términos de búsqueda que disparan cada uno y reescribe los títulos con esas palabras. En cuentas reales, reescribir los títulos de los 50 productos de más gasto con la estructura "marca + producto + atributo buscado" sube impresiones y CTR sin tocar la puja — y es exactamente lo que el Shopping Ninja automatiza en su pestaña de títulos del feed (lección 6).
Qué debes recordar
- El feed es el anuncio: título, categoría, tipo e imágenes deciden impresiones y clics.
- Obligatorios exactos y sincronizados con la web (id estable,
precio con IVA, disponibilidad, GTIN real o
identifier_exists: no). - Los que mueven rendimiento: title,
google_product_categoryespecífica,product_type,sale_price, imágenes adicionales, highlights/detail, variantes conitem_group_idy custom_labels para la estructura. - Fuentes: plataforma/archivo para empezar, API para precio y stock al minuto, datos estructurados + actualizaciones automáticas como red.
- Suplementarios y reglas = optimizar el feed sin tocar la tienda.