Un feed de productos es un archivo que lista los productos que vendes, cada uno con los atributos que un canal necesita para anunciarlos: un id, un título, un enlace, una imagen, un precio, si hay stock. Google Merchant Center, Meta, TikTok, Pinterest, Microsoft y la mayoría de los marketplaces funcionan igual: publicas un archivo en una URL, ellos lo descargan con una frecuencia fija, y lo que contiene decide cuáles de tus productos se pueden mostrar y lo bien que compiten.
Esa es toda la idea. La dificultad nunca está en el concepto, sino en que el archivo tiene que seguir siendo correcto mientras tu catálogo, tus precios y tu stock no dejan de cambiar.
Qué contiene realmente un feed
Un feed es una lista de artículos, uno por cada producto que quieres anunciar. Cada artículo es un conjunto de atributos con nombre. En XML se ve así, con el formato de Google Merchant Center, al que se parecen la mayoría de los demás canales:
<item>
<g:id>SKU-1042</g:id>
<g:title>Northwind Trail Runner GTX zapatilla de trail impermeable – Pizarra</g:title>
<g:description>Zapatilla de trail running impermeable con membrana GORE-TEX…</g:description>
<g:link>https://store.example/p/trail-runner-gtx?variant=slate-42</g:link>
<g:image_link>https://cdn.example/trail-runner-gtx-slate.jpg</g:image_link>
<g:availability>in_stock</g:availability>
<g:price>89.88 EUR</g:price>
<g:brand>Northwind</g:brand>
<g:gtin>4006381333931</g:gtin>
<g:item_group_id>TRAIL-RUNNER-GTX</g:item_group_id>
<g:condition>new</g:condition>
</item>
Los mismos datos pueden ir en un CSV, donde cada atributo es una columna y cada producto una fila, o en JSON. El formato importa menos que los campos.
Los atributos que cargan con el peso
id identifica el producto dentro del feed. Debe ser único y, esta es la parte que da problemas, estable.
Si cambias el id de un producto, el canal lo trata como un producto totalmente nuevo: su historial, su aprendizaje
y el rendimiento que hubiera acumulado vuelven a empezar de cero. Google admite hasta 50 caracteres aquí.
title es lo que lee el comprador y lo que el canal compara con las búsquedas. Google admite hasta 150
caracteres, y los primeros 70 aproximadamente son los que la gente suele ver. Un título no es un eslogan: marca,
producto y el atributo que distingue esta variante.
description puede llegar a 5.000 caracteres según la especificación de Google. Influye más en la
correspondencia con las búsquedas que en los compradores; escribe con sencillez y prescinde de la puntuación de
marketing.
link es la página de destino. Debe mostrar el mismo producto, al mismo precio y con la misma disponibilidad
que el feed: es la causa más común de los rechazos que toman a la gente por sorpresa.
image_link es la imagen principal. Google va a subir el tamaño mínimo de imagen a 500 × 500 píxeles, con
aplicación a partir del 31 de enero de 2027, así que vale la pena comprobar antes qué sirve realmente el CDN de tu
tienda.
availability le dice al canal si el producto se puede comprar. Google acepta in_stock, out_of_stock,
preorder y backorder. Meta espera su propia redacción para la misma idea, que es una de las razones por las que
un único archivo para todos los canales resulta incómodo.
price es un número y una moneda, como 89.88 EUR. Que ese número incluya o no el IVA depende del país en el
que anuncias y de cómo guarda los precios tu tienda: una fuente frecuente de feeds que están mal justo en un
mercado.
gtin, mpn y brand son los identificadores. Un GTIN es el número del código de barras (EAN, UPC,
JAN o ISBN). Los canales lo usan para reconocer que tu "Trail Runner GTX" es la misma zapatilla que venden otras
tres tiendas, y en eso se basan la comparación y la correspondencia entre productos. Envíalos cuando existan. Cuando
un producto de verdad no tiene, indícalo con identifier_exists: no en lugar de inventar un número.
item_group_id agrupa las variantes. Cada talla y color se envía como un producto propio, con su propio id,
precio y disponibilidad, y todos comparten un item_group_id para que el canal sepa que pertenecen a la misma
ficha.
De custom_label_0 a custom_label_4 son cinco campos libres que el comprador nunca ve. Existen para ti:
franjas de margen, estacionalidad, más vendidos, niveles de stock. Las estrategias de puja se construyen sobre
ellos, lo que los convierte en los campos más infravalorados de toda la especificación.
Cómo llega el archivo al canal
Publicas el feed en una URL. En Merchant Center o en Commerce Manager registras esa URL y una frecuencia de descarga: diaria o varias veces al día. El canal descarga el archivo, valida cada artículo y actualiza lo que sabe de tus productos.
De esto se derivan tres consecuencias que explican la mayoría de los problemas con los feeds:
- Nada es en tiempo real. Un cambio de precio llega a los anuncios en la siguiente descarga de un archivo regenerado correctamente. Si regeneras una vez al día y el canal descarga una vez al día, en el peor caso pasan casi dos días.
- El archivo tiene que ser siempre válido. Un archivo a medio escribir, un tiempo de espera agotado a mitad de la descarga o una exportación vacía no producen un aviso amable; pueden hacer que los productos desaparezcan.
- La validación se hace por artículo. Un producto al que le falta un atributo obligatorio no rompe el feed; ese producto queda fuera. Por eso el número de artículos aceptados importa más que "el feed ha funcionado".
De dónde salen los datos
Todas las plataformas de tienda pueden exportar productos. Shopify, WooCommerce, Magento, PrestaShop, BigCommerce y las plataformas turcas (Ticimax, ikas, IdeaSoft, T-Soft) ofrecen una API o una exportación que se puede programar. Los ERP y los proveedores te entregan archivos CSV. Algunos equipos envían en cambio los productos desde sus propios sistemas a través de una API.
Lo que casi nunca ocurre es que la exportación sea exactamente lo que un canal quiere. Carencias típicas:
- El título es el nombre interno del producto, no algo que un comprador buscaría.
- Las categorías son las tuyas; el canal quiere su propia taxonomía.
- Los precios se guardan sin IVA, y el canal necesita el precio que pagan los compradores.
- Los productos agotados siguen en la exportación.
- La descripción contiene HTML del editor de la tienda.
- Las variantes son una sola fila con una lista de tallas separadas por comas, en vez de una fila cada una.
Corregir esto en la tienda suele ser imposible (la tienda está bien para la tienda), y corregirlo a mano en una hoja de cálculo funciona hasta que la siguiente exportación lo sobrescribe. Ese hueco, entre la exportación que tienes y el archivo que quiere cada canal, es lo que llamamos gestión de feeds.
Cómo es una buena configuración
Una configuración que aguanta el contacto con un catálogo real tiene cuatro partes:
Un solo catálogo. Importa todos los orígenes a una única lista de productos normalizada, de modo que una regla que escribas se aplique a todo, venga de la plataforma que venga.
Transformaciones que se vuelven a aplicar cada vez. No una edición puntual, sino una regla: construye el título con la marca, el nombre del producto y el color; mapea la categoría "Zapatillas > Running" a la categoría 187 de Google; añade un 20% de IVA al precio; deja fuera los productos sin imagen. Las reglas se ejecutan sobre todos los productos en cada regeneración, así que la siguiente importación no puede deshacerlas.
Validación antes de publicar. Comprueba los campos obligatorios y los valores permitidos mientras se genera el archivo, para que te enteres de un problema por tu propia herramienta y no por un rechazo tres días después.
Una programación con red de seguridad. Regenera a menudo; sigue sirviendo el último archivo correcto cuando falla una generación; niégate a borrar todo el catálogo porque la exportación de un proveedor llegó cortada.
Un ejemplo práctico
Toma una variante de esa zapatilla de trail. La tienda exporta:
| Campo | Valor |
|---|---|
| sku | SKU-1042 |
| name | Trail Runner GTX |
| colour | Pizarra |
| price_net | 74.90 |
| stock | 0 |
| category | Zapatillas > Running |
Cuatro reglas lo convierten en algo que un canal acepta:
- Plantilla de título:
{brand} {name} – {colour}→ Northwind Trail Runner GTX – Pizarra. - Precio:
price_net × 1.20, redondeado →89.88 EUR. - Mapeo de categorías: una tabla de equivalencias convierte
Zapatillas > Runningen la187de Google. - Filtro:
stock = 0→ el producto queda fuera del feed por completo, porque anunciar una zapatilla que nadie puede comprar cuesta dinero y molesta a los compradores.
Mañana la tienda repone la zapatilla y cambia el precio. No hay nada que editar: la siguiente sincronización trae los nuevos datos, las mismas cuatro reglas se vuelven a ejecutar y el canal descarga un archivo correcto.
Qué hacer primero
Si lo estás configurando desde cero:
- Empieza por Google Merchant Center, aunque no sea tu canal principal. Su especificación es la más estricta de las habituales, y un catálogo que satisface a Google está casi listo para todos los demás.
- Pon en orden los identificadores antes de optimizar nada. GTIN, marca, MPN.
- Haz títulos que se puedan buscar, no títulos ingeniosos.
- Excluye lo que no se debe anunciar (sin stock, sin imagen, por debajo de un umbral de margen) en lugar de dejar que el canal lo rechace por ti.
- Después usa las etiquetas personalizadas para agrupar productos de cara a la puja, y solo entonces empieza a afinar.
Nada de esto es difícil en principio. Es repetitivo, no perdona los pequeños errores y nunca se termina: justo el tipo de trabajo que vale la pena automatizar.
Preguntas frecuentes
¿Qué diferencia hay entre un feed de productos y un catálogo?
El catálogo son tus datos de producto: todo lo que sabes sobre lo que vendes. Un feed es un archivo generado a partir de ese catálogo para un destino concreto, con los campos y el formato que ese destino espera. Un solo catálogo suele generar varios feeds.
¿Con qué frecuencia hay que actualizar un feed de productos?
Tan a menudo como cambian los precios y el stock. Una vez al día es el mínimo para la mayoría de las tiendas; cada hora o cada 30 minutos es lo normal cuando el stock se mueve rápido. No sirve de nada regenerar el archivo más a menudo de lo que el canal lo descarga, ni descargarlo más a menudo de lo que lo regeneras.
¿Necesito GTIN en mi feed?
Envíalos siempre que el fabricante los asigne: los canales los usan para relacionar tu producto con el mismo producto de otros vendedores, y los productos sin identificadores compiten peor. Para los productos que de verdad no tienen, como los artesanales o los de marca propia, indícalo de forma explícita con el atributo identifier_exists en lugar de inventar números.
¿Puedo usar un mismo feed para Google y Meta?
Puedes, y muchas tiendas empiezan así, pero los dos piden una redacción distinta para los mismos datos (los valores de disponibilidad, por ejemplo) y campos obligatorios distintos. Una vez que el catálogo está en un solo lugar, generar un archivo por canal a partir de él no cuesta más esfuerzo y evita las concesiones.
Publica este feed con FeedManager
Conecta tu tienda, da forma a los datos con reglas y deja que cada canal descargue un archivo válido — el plan Free cubre 500 productos sin tarjeta de crédito.
Beta privada — cuentas por invitación.