Generación de feed por tienda — Idiomas, divisas y países
Configura para qué idiomas y países se genera el feed del catálogo de productos, y qué divisa recibe cada mercado.
Disponible desde la v2.0.0
Descripción general
El módulo genera hasta tres archivos XML de feed por tienda: un feed principal, un feed de idiomas opcional y un feed de países opcional. Tú decides qué idiomas y países están activos, y el módulo genera los datos de producto correctos — nombres traducidos, descripciones, URLs y precios en la divisa adecuada — para cada uno.
Facebook e Instagram requieren una única URL de catálogo por mercado. Al activar idiomas y países adicionales aquí, evitas gestionar instalaciones separadas del módulo o duplicar catálogos manualmente. Una sola ejecución de generación produce todos los archivos que necesitan tus cuentas publicitarias.
Si tu tienda vende en un solo idioma y una sola divisa, solo necesitas configurar el feed principal. Los feeds de idiomas y de países son opcionales y solo se generan cuando al menos un idioma o país está activado por debajo de los valores predeterminados.
Configuración
- Ve a Módulos > Gestor de módulos, encuentra Facebook & Instagram Product Catalogue Feed Pro y haz clic en Configurar.
- Haz clic en la pestaña Feed Generation. Si gestionas varias tiendas, aparecerá una pestaña independiente para cada una.
- Configura los campos descritos a continuación y haz clic en Save Configuration.

Configuración del feed principal
| Campo | Valores | Descripción |
|---|---|---|
| Generate this shop? | Habilitado / Deshabilitado | Aparece únicamente en configuraciones multi-tienda. Cuando está deshabilitado, esta tienda se omite completamente durante la generación del feed — no se escriben archivos y las URLs del feed de la tienda devuelven contenido vacío. |
| Feed Default Language | Cualquier idioma activo | El idioma utilizado para los nombres de producto, descripciones y URLs en el feed principal. |
| Feed Default Currency | Cualquier divisa activa | La divisa utilizada para los precios de producto en el feed principal. Establécela en tu divisa principal de venta. |
| Default Feed URL | (solo lectura) | La URL que registras en Facebook Ads Manager > Catálogos. Haz clic en ella para copiarla al portapapeles. |
El feed principal se genera siempre mientras la tienda esté habilitada. Utiliza el idioma y la divisa predeterminados que elijas aquí, independientemente de cualquier configuración adicional de idiomas o países.
Idiomas adicionales
Esta sección aparece únicamente cuando tu tienda tiene más de un idioma activo.
| Campo | Valores | Descripción |
|---|---|---|
| Generate [Nombre del idioma] | Habilitado / Deshabilitado | Cuando está habilitado, los datos de producto en ese idioma se incluyen en el feed de idiomas. Puedes activar tantos idiomas como tengas activos. |
| Language Feed URL | (solo lectura) | La URL para el feed de idiomas. Usa esta URL — no la del feed principal — al registrar el catálogo específico por idioma en Facebook. |
Activa un idioma aquí solo si tienes nombres de producto, descripciones y URLs traducidos en tu tienda para ese idioma. Si faltan las traducciones, el feed recurrirá al contenido del idioma predeterminado.
Los idiomas ya seleccionados como Feed Default Language se excluyen automáticamente del feed de idiomas para evitar entradas duplicadas.
Anulación de divisa/precios por país
Esta sección aparece únicamente cuando tu tienda tiene más de un país activo.
| Campo | Valores | Descripción |
|---|---|---|
| [Nombre del país] (activar/desactivar) | Habilitado / Deshabilitado | Cuando está habilitado, se incluye una sección específica para ese país en el feed de países con los precios en la divisa que selecciones. |
| Currency | Cualquier divisa activa | La divisa que se utilizará para los precios de producto al generar el feed de países para este país. |
| Associated Language | Cualquier idioma activo | El idioma utilizado para los nombres de producto, descripciones y — de forma importante — las URLs de producto en el feed de este país. Facebook usa la URL para dirigir a los compradores directamente a la página de producto correcta. |
| Country Feed URL | (solo lectura) | La URL para el feed de países. Registra esta URL en Facebook cuando necesites precios o divisas específicos por país. |
Integración con el catálogo de Facebook
| Campo | Descripción |
|---|---|
| Catalogue Number | El ID de tu catálogo de productos de Facebook. Solo es visible cuando el módulo Facebook Pixel Plus también está instalado. Encuéntralo en Facebook Ads Manager > Catálogos — aparece debajo del nombre de tu catálogo. Pégalo aquí para que los dos módulos puedan intercambiar datos. |
Cómo funciona
Tres feeds, una sola ejecución de generación
Cada vez que se genera el feed — ya sea manualmente, mediante cron o a través de la URL de generación — el módulo escribe hasta tres archivos XML por tienda:
- Feed principal (
fpf-{shop-name}-{hash}.xml): Siempre se produce. Contiene todos los productos activos en el idioma y divisa predeterminados. - Feed de idiomas (
fpf-{shop-name}-lang-{hash}.xml): Solo se produce si al menos un idioma está habilitado en la sección de Idiomas adicionales. Contiene los mismos productos traducidos a cada idioma habilitado. - Feed de países (
fpf-{shop-name}-country-{hash}.xml): Solo se produce si al menos un país está habilitado en la sección de Países. Contiene los precios recalculados en la divisa asignada a cada país.
Los tres archivos comparten el mismo catálogo de productos. Activar más idiomas o países no duplica los productos — genera representaciones localizadas adicionales de los mismos artículos.
Cómo se almacenan los datos de idiomas y países
Al guardar la configuración de Feed Generation, el módulo almacena los idiomas habilitados como un objeto JSON compacto en un único registro de base de datos (FPF_{shop_id}_LANGS). Los ajustes de país — el indicador de habilitado, la divisa y el idioma asociado — se guardan juntos en un segundo registro JSON (FPF_{shop_id}_COUNTRIES). Este diseño hace que la generación del feed lea solo dos filas de la base de datos para conocer toda la matriz de idiomas y países, manteniendo la generación rápida incluso con muchos idiomas configurados.
Comportamiento multi-tienda
Cada tienda tiene su propia pestaña Feed Generation con ajustes independientes. El indicador Generate this shop? (visible solo en modo multi-tienda) te permite excluir completamente una tienda de la generación sin eliminar su configuración. El idioma predeterminado, la divisa y cualquier ajuste de idioma o país se almacenan por tienda y nunca se comparten entre tiendas.
URLs y seguridad
Las URLs del feed contienen un hash MD5 derivado de la clave de cookies de tu tienda. Esto las hace imposibles de adivinar sin necesidad de configuración adicional. Si necesitas proteger los feeds con mayor seguridad, utiliza los ajustes de Feed Protection (autenticación HTTP básica) en la pestaña Feed Protection — estos se aplican a los tres tipos de feed.
Ejemplos de uso
Ejemplo: Tienda francesa que vende en Francia, Bélgica y Suiza
Establece el Feed Default Language en francés y el Feed Default Currency en EUR. Activa Suiza en la sección de Países y selecciona CHF como su divisa con francés como idioma asociado. El feed principal cubre Francia y Bélgica (ambos en EUR); el feed de países cubre Suiza con precios en CHF. Registra ambas URLs de feed en la configuración de tu catálogo de Facebook.
Ejemplo: Tienda española con traducciones al inglés y alemán
Establece el idioma predeterminado en español. Activa inglés y alemán en la sección de Idiomas adicionales. Los tres idiomas se incluyen en el feed — español en el feed principal, inglés y alemán en el feed de idiomas. Registra la URL del feed de idiomas en Facebook junto a la URL del feed principal para servir a los compradores en cada idioma.
Ejemplo: Configuración multi-tienda con una tienda B2B y una tienda B2C
En una configuración multi-tienda, cada pestaña de tienda es independiente. Activa el indicador Generate this shop? solo para la tienda B2C. La tienda B2B queda excluida de toda generación de feeds, evitando que los precios mayoristas aparezcan en tu catálogo de Facebook.
Notas importantes
- El indicador Generate this shop? solo aparece en modo multi-tienda. En instalaciones de una sola tienda, la generación está siempre activa.
- La URL del feed de idiomas y la URL del feed de países son idénticas para todas las tiendas — el módulo usa los mismos nombres de archivo con hash entre tiendas. Si gestionas varias tiendas, sus feeds se escriben en archivos separados con el nombre del slug de la tienda.
- Las entradas de país solo aparecen en esta sección si el país está activo y asociado a la tienda actual en el panel de administración de PrestaShop (Internacional > Localizaciones > Países).
- Deshabilitar todas las tiendas en una configuración multi-tienda hace que la generación se interrumpa inmediatamente sin ningún resultado.
- El Associated Language para un país afecta tanto al contenido del producto (nombres, descripciones) como a las URLs de producto en el feed de países. Si tu tienda tiene URLs específicas por idioma (p. ej.
/de/para alemán), asigna el idioma correcto para que el enlace del feed resuelva correctamente para los compradores de ese país.
Resolución de problemas
| Problema | Solución |
|---|---|
| Las secciones de Idiomas o Países no aparecen | La sección se oculta cuando tu tienda tiene solo un idioma activo o un único país activo. Añade más idiomas o países en Internacional > Traducciones e Internacional > Localizaciones y luego regresa a esta pestaña. |
| La URL del feed de países devuelve un archivo vacío | Aún no hay países habilitados, o todos los países habilitados tienen cero productos tras los filtros de categoría/exclusión. Activa al menos un país y regenera. |
| Los precios de un país aparecen en la divisa incorrecta | Comprueba el desplegable Currency para ese país en la sección de Países. Asegúrate de que la divisa seleccionada está activa en Internacional > Localización > Divisas. |
| Tras guardar, la selección de idioma vuelve al valor anterior | El formulario conserva el último estado guardado del almacén JSON. Si el desplegable parece reiniciarse, borra la caché del navegador y recarga la página de configuración. |
| Multi-tienda: solo se genera el feed de una tienda | Verifica que Generate this shop? esté habilitado para todas las tiendas que deseas incluir. Este ajuste es global — no se ve afectado por el selector de contexto de tienda del panel de administración. |
| El campo Catalogue Number no aparece | Este campo solo aparece cuando el módulo Facebook Pixel Plus (facebookconversiontrackingplus) está instalado y activo. |
Preguntas frecuentes
¿Tengo que registrar las tres URLs de feed en Facebook?
Registra únicamente las URLs de los feeds que hayas configurado realmente. Si no has activado ningún idioma adicional, omite la URL del feed de idiomas. Si no has activado ningún país, omite la URL del feed de países. Registrar en Facebook una URL de feed vacía o inexistente provocará errores en el catálogo.
¿Qué ocurre con el feed si cambio el idioma predeterminado después de la primera generación?
La siguiente ejecución de generación reconstruye el feed principal en el nuevo idioma predeterminado. El archivo anterior se reemplaza. Si Facebook ya había importado el feed anterior, actualizará su catálogo en la próxima importación programada.
¿Puedo tener una divisa predeterminada diferente para cada idioma?
No mediante el feed de idiomas — este usa la misma divisa predeterminada que el feed principal, traduciendo únicamente el contenido de texto. Para servir divisas diferentes, usa el feed de países y asigna a cada país su propia divisa en el desplegable Currency.
¿Cómo afecta el Associated Language de un país a las URLs de producto?
Facebook usa la URL de producto del feed para dirigir a los compradores a la página de producto correcta. Si tu tienda tiene URLs específicas por idioma (p. ej. /fr/ para francés, /en/ para inglés), configura el idioma asociado para que coincida y el enlace del feed resuelva correctamente para los compradores de ese país.
Si activo en Idiomas adicionales el mismo idioma que ya uso como predeterminado, ¿aparecerá dos veces?
No. El módulo excluye automáticamente el idioma predeterminado del feed de idiomas durante la generación, aunque esté activado en la sección de Idiomas adicionales.
¿Activar muchos países ralentizará la generación del feed?
Cada país habilitado añade un recorrido adicional por tu catálogo de productos durante la generación. Para catálogos grandes, considera usar los ajustes de generación por ciclos (pestaña Generation Options) para distribuir el trabajo entre varias solicitudes, o configura un cron job para la generación desatendida.
Funcionalidades relacionadas
- Generation Options — Configura el tamaño de ciclo, tiempos de espera y el máximo de productos por ejecución
- Feed Protection — Protege tus URLs de feed con autenticación HTTP básica
- Automatic Generation (Cron Jobs) — Programa la generación del feed sin intervención manual