berrypath / magento2-berrypath-product-feed
Scheduled product feeds for Magento 2 shopping channels, marketplaces and product discovery.
Product Feed for Magento 2
Magento 2 module for scheduled product feeds for shopping channels,
marketplaces and product discovery.
Create separate feeds for shopping channels, product discovery tools,
marketplaces and guided-selling platforms. Each feed can target its own store
view, channel type and output format, including XML, CSV and JSON. Feed files
are generated to Magento media storage, can be refreshed manually or through
Magento cron, and can be enriched with selected product attributes and
channel-specific options such as Google Shopping shipping data.
Screenshots
Manage multiple feeds per channel, store view and output format:

Configure each feed with its own type, format, CDATA setting and generated live
file link:

Choose product data options and optional Magento product attributes per feed:

Schedule automatic feed generation through Magento cron:

Installation
composer require berrypath/magento2-berrypath-product-feed
bin/magento module:enable BerryPath_ProductFeed
bin/magento setup:upgrade
bin/magento cache:flush
For local app/code development, place it at:
app/code/BerryPath/ProductFeed
Configuration
Catalog > BerryPath > Product Feeds
Generated feed files are written to:
pub/media/berrypath/product-feed/feed_{feed_id}.{format}
Each feed has its own store view, market code, locale code, feed type,
output format, CDATA setting, product selection rules and URL. The
preview URL in the admin is limited to the first 25 products. The live link in
the admin points to the last generated file and exports all products.
Use Generate Feed from the feed edit page, or the grid mass action, to write
the feed file to pub/media/berrypath/product-feed. Saving feed options keeps
the existing live file available. Generate again when the live file should
reflect changed options.
Each feed can also be generated automatically through Magento cron. Configure
the refresh day and one or more refresh times on the feed edit page, under
Schedule.
CLI generation:
bin/magento berrypath:product-feed:list
bin/magento berrypath:product-feed:generate 1
bin/magento berrypath:product-feed:generate --all
Output formats:
- XML
- CSV
- JSON
XML output wraps text-heavy fields such as title, description, product type and
brand in CDATA sections by default. This can be disabled per feed.
Product selection options can be configured per feed. Defaults keep disabled
products out, keep catalog/search-hidden products out, keep out-of-stock products
in, and skip variant rows when their parent product is inactive.
The Conditions tab uses Magento's standard rule builder for feed filtering.
Leave it empty to include every product that matches the product data options.
Feed Types
The default feed type is Product Feed and the default output format is XML.
Every feed type can be exported as XML, CSV or JSON.
| Feed type | XML format | Notes |
|---|---|---|
| Product Feed | <product_feed> |
Generic full product dump. Default. |
| Google Shopping | RSS 2.0 + g: namespace |
g:id, g:title, g:price, g:availability, optional g:shipping. |
| Meta (Facebook) | RSS 2.0 + g: namespace |
Google-compatible feed with space-form availability (in stock). |
RSS 2.0 + g: namespace |
Pinterest catalogs use the Google-compatible feed. | |
| Microsoft / Bing | RSS 2.0 + g: namespace |
Microsoft Merchant Center (Bing Shopping); adds g:seller_name. |
| Snapchat | RSS 2.0 + g: namespace |
Snap catalogs accept the Google-compatible feed. |
| TikTok | <catalog_feed> |
Rows keyed on sku_id. |
| Criteo | <products><product> |
Criteo field names: producturl, bigimage, bare price/retailprice, instock, categoryid. |
| OpenAI Product | <openai_product_feed> |
Emits item_id, is_eligible_search, seller_name, target_countries. |
Google Shopping, Meta, Pinterest, Microsoft / Bing and Snapchat share the same
RSS 2.0 output with the Google g: namespace, since those channels all ingest
the Google-compatible product feed. Shipping, condition and sale-price options
apply to every Google-compatible channel.
Current Feed Fields
The feed includes core product data such as ID, SKU, type, name, URL, image,
price, final price, currency, salability, visibility, tax class, categories and
review summary data. Configurable, grouped and bundle product prices use the
Magento price index so parent products do not export 0.00 prices when indexed
prices are available.
Possible Channel Usage
The Google-compatible channels (Google, Meta, Pinterest, Microsoft / Bing,
Snapchat) cover the core RSS format, namespace and shared attributes. TikTok,
Criteo and OpenAI use their own field mapping. Some merchants may still need
extra channel-specific enrichment such as Google product category mapping,
GTIN/MPN/brand mapping, promotion feeds or custom title and description
optimization.
BerryPath
BerryPath helps ecommerce teams build guided selling flows, product finders and
guided product advice experiences. Learn more at berrypath.eu.
For embedding BerryPath advice flows in Magento category pages, product pages
and CMS/widget placements, use the companion module:
- Package:
berrypath/magento2-berrypath-flow
No changelog yet
The vendor hasn't published a changelog. Tagged releases appear in the Versions tab.
| Version | Stability | QA Status | Compatibility | Released |
|---|---|---|---|---|
| 1.0.4 | stable | Fail | Magento 2.4.7-2.4.9 Details | 2026-07-01 13:53:32 |
| 1.0.3 | stable | Not tested | Not yet tested Details | 2026-07-01 13:44:55 |
| 1.0.2 | stable | Not tested | Not yet tested Details | 2026-07-01 12:51:24 |
| 1.0.1 | stable | Not tested | Not yet tested Details | 2026-07-01 12:30:22 |
| 1.0.0 | stable | Not tested | Not yet tested Details | 2026-06-30 12:19:36 |
Requires 1
| Package | Constraint |
|---|---|
| php | >=8.1 |
Suggests 1
| Package | Reason |
|---|---|
| berrypath/magento2-berrypath-flow | Magento 2 Guided Selling module. |
Compatibility
Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.
Code Quality
Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge. A phpcs finding can't make a module incompatible.
Static analysis
Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.
PHPStan
Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases.
Tests
Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.
Unit tests
| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | ||
| 2.4.8 | N/A | N/A | ||
| 2.4.9 | N/A | N/A |
Integration tests
| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | ||
| 2.4.8 | N/A | N/A | ||
| 2.4.9 | N/A | N/A |
Security
Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.
More from berrypath
View vendorTurn an existing module into recurring revenue.
If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.