Advanced Product Feeds for Magento 2

View Demo

Promote your products and achieve higher sales by using the power of marketplaces and comparison shopping engines with magento data feed extension. You can automatically generate and deliver feeds of your product catalog to those services with Magento Product Feeds extension.

This tool is unbelievably quick to use and is also outstandingly flexible. It's compatible with all major shopping and advertising services, including Google Shopping.

Feeds go straight to Google Merchant Center through Google's API, and AI profiles can rewrite titles, map Google categories and fill in missing attributes before your catalog ever reaches a marketplace.

Simply install the module, generate your very own product feed, present your catalog to a wider audience, and boost your sales right now!

  • Optimize titles and attributes with AI
  • Leverage the most popular shopping channels
  • Use 130+ feed templates
  • Submit feeds to Google Merchant Center directly
  • Customize the feed with filters and patterns
  • Validate feeds before export with built-in checks
  • Automate feed generation and delivery
  • Analyze feed performance reports
Marketplace Approved
Hyvä
Magento Cloud
Mage-OS
Compatible with:
Community:
2.3.* - 2.4.9
Enterprise:
2.3.* - 2.4.9

Business Value

Once you get your products listed on the most popular shopping engines and marketplaces, you will be able to attract a far greater number of new customers!

  • The Fastest to Set up: Easily create feeds for your product catalog by using prebuilt templates. You'll never have to create a feed from scratch again with the Product Feed for Magento 2. It includes 130+ templates for all major shopping search engines and marketplaces.

    On top of that, it doesn't matter how many products you have in your store. Our module will quickly generate a feed with any number of products, completely hassle-free!

  • The Most Flexible: The feed will always perfectly fit your needs. You can add as many fields to the feed as necessary, and customize every single one of them.

    That's not everything: the module is also amazingly versatile! There's a wide variety of product filters available. Patterns, dynamic attributes and dynamic variables offer unprecedented customization opportunities. You can export any product's attribute, alter prices, remap categories, automate generation and delivery, and use built-in analytics.

    And when the problem is the product data itself rather than the feed structure, AI profiles rewrite titles and descriptions, map Google categories and fill missing attributes, on your own AI key and without slowing generation down.

Effortless Feed Setup

Launch in minutes with curated presets

Product feed templates in Mirasvit Advanced Product Feeds Magento 2 extension

The Magento 2 product feed extension includes 130+ templates for Bing, eBay, TikTok, Pinterest, Instagram, and many other search engines and marketplaces. Of course, our module allows you to generate a Magento Google product feed for a Google Shopping service.

The list keeps up with where shopping is going: there is a ready ChatGPT template for OpenAI's commerce platform, alongside the marketplaces and price comparison engines you would expect.

Generate a Magento 2 Facebook product feed with this extension in order to attract an audience from the most popular social media in the world.

Every template is preconfigured with all required variables, so no manual setup is needed. To reuse a configuration for similar channels, duplicate a template and keep the original unchanged.

Templates are ready to use right after installation. Each feed can be generated for any store view individually.

If your channel requires a unique structure, you can also create a fully custom feed from scratch instead of using a template.

Find the right starting point faster

Filter for feed templates in Mirasvit Advanced Product Feeds Magento 2 extension

Begin on a home screen with a curated list of popular marketplaces and shopping engines. Use the A–Z index as a quick filter or type a template name to jump straight to the one you need.

Clear grouping of actions keeps navigation simple, so choosing a preset and moving into configuration stays straightforward even with large catalogs.

AI Feed Optimization

Fix the product data marketplaces actually judge you on

Most weak feed performance comes down to the data itself: titles written for a product page instead of a search query, variants with no color or size, categories nobody ever mapped. AI optimization is a library of named profiles, and each profile repairs one of those fields across your catalog.

A profile does one of three jobs. It rewrites text, such as a product title or description. It maps your store category to a Google product category. Or it fills structured attributes like color, size and material from everything the catalog already knows about the product.

Four profiles ship ready to use: a Google Shopping title rewrite, a shopping-intent description, Google category mapping, and apparel attribute enrichment. Start from one of them or write your own prompt.

The title profile follows Google's real limit of 150 characters, not the 70 that gets quoted everywhere. 70 is roughly what a shopper sees; Google still indexes and matches on all 150. So the profile uses the full length and puts the identifying details first, where they do the most work.

Nothing in your feed template has to change

Assign a profile to your feeds and every reference to the target attribute picks up the optimized value. The template stays exactly as it was: a column that exported the product name yesterday exports the optimized name today.

When you want one field optimized and another left alone, reference the profile in a single column by its code, written as ai:<profile code>. A profile that fills several attributes exposes one reference per attribute, so you can take the color it derived without taking the size.

Where a profile is switched off, or simply has no value for a product yet, the feed emits the original value exactly as it does today. Turning optimization on cannot quietly empty a column.

See the bill before you pay it

Optimization runs on the AI provider you already configured in Mirasvit Core, so you spend on your own key. There is no separate subscription and no markup on our side.

Before enabling a profile, preview it on a handful of real products. You get the values it would generate, an estimate of the tokens involved, and how many calls the full run actually takes. Once it is running, the profile list shows coverage as a percentage next to the tokens spent so far.

Category mapping costs far less than the size of your catalog suggests. Products are grouped by the prompt they render, so the bill follows the number of distinct category and attribute-set pairs: a store with 300 categories costs roughly 300 calls whether it holds 3,000 products or 300,000.

Each profile either fills only what is empty or overwrites what is there. Category mapping defaults to fill-only, so your manual mappings always win and only the products you never mapped are ever sent.

Your exports stay exactly as fast as they are now

Optimization runs in the background on cron and every result is stored. Feed generation reads ready-made values and never waits on an AI call, so adding a profile does not add a second to your export time.

Under manual approval, generated values are held until you approve them and the live feed keeps serving the previous value in the meantime. Any single value can be overridden by hand or sent back for re-optimization.

Before a campaign launch, cover the whole catalog on demand with the mirasvit:feed:ai:optimize command instead of waiting for the background schedule to work through it.

Complete Control

You can change anything

Feed columns in Mirasvit Advanced Product Feeds Magento 2 module

There's no limit to how many fields you can add to the feed. Easily edit new fields from a drop-down menu or directly modify the code of the fields.

This applies to both the templates and the feeds you create yourself.

Use existing feeds as a configuration template. Duplicate and modify them to your needs.

Preview your feed before synchronizing it with the shopping engine.

Easy Configuration Management

Backup and restore product feeds configuration

Import and export of feed configuration in Mirasvit Advanced Product Feeds Magento 2 extension

Quickly import and export the feeds configuration. The extension allows you to export and restore information on the following objects:

  • Templates of the feeds
  • Created filters
  • Dynamic attributes
  • Dynamic categories
  • Dynamic variables

The Magento product feed export extension can export all configuration to YAML files. You can keep them as a local backup in your Magento root directory. Alternatively, copy those files to another location.

Speed up the setup process of your stores with this feature.

Flexible Filters

Export only necessary products

Product filters in Mirasvit Advanced Product Feeds Magento 2 module

The module gives you unlimited filtering options of exported products. For instance, you can:

  • Filter by price.
  • Hide out-of-stock products.
  • Filter by parent categories.
  • Filter by SKU.
  • Hide products without images.
  • Filter by any other attribute, like color or manufacturer.
  • Filter by parent product attributes if the product is configurable, grouped or bundled.

Create conditions that fill the feed with products that you need. For example, export to the feed only such products that have a higher price than a certain value.

Use filters to avoid exporting to the feed all the products that you do not want to promote, like those that have no listed price, are out of stock, have no images, etc.

Exceptional Customization Options

Put your products in the right categories for any marketplace

Use the dynamic categories option to perfectly match the categories of your store with the categories of the marketplaces you create product feeds for.

With the advance product feed for Magento 2, you can adjust the taxonomy of your store with the categories shopping engines provide in several clicks. To map categories of your store, you simply need to select from the drop-down menu for the corresponding categories of the shopping engine.

Complement the patterns with dynamic attributes

Dynamic attributes let you create brand new attributes or alter the existing values depending on the conditions you specify or the values of other attributes. This greatly expands your customization options.

A store can have such dynamic attributes as product availability, shipping cost, stock status or others. For example, you can set the shipping price to $2 USD for products lighter than 20 lbs, and to $4 USD for products heavier than 20 lbs.

Take off the training wheels

Dynamic variables are even more robust than dynamic attributes. They let you use PHP functions to make sure that any possible variable fits your needs down to the last point.

Using dynamic variables lets you add more flexibility to your Magento product data feed. For any product, get a Global Trade Item Number (GTIN), change its final price, show the available quantity from all stocks, etc.

With dynamic variables, you can easily add a dynamically changing field of special price when the product's final price becomes lower than its regular value.

Pattern Library

The module lets you customize the output of your product feed with programmatic patterns. These patterns are shortcodes for calling and editing attributes from your Magento database.

Magento Advanced Product Feeds extension provides two general types of patterns for attributes and product values. When using them, you can apply attribute code, filters, basic php functions, calculations and links to parent products within those patterns.

Build your feed with patterns by selecting them from a drop-down menu. Use the pattern preview button available in the pattern library to get a glance on the output you will get when using the particular pattern attribute.

With the help of patterns, make your product feed to stand out in shopping search engines and marketplaces, attracting even more customers to your online store.

Fine Tune Your Feed

The most common way to use patterns is to fetch specific values within configurable products. For example:

  • Return the parent product's value.
  • Export simple products with the 'not visible individually' attribute.
  • Export simple products with the link to a parent product.

They also come in handy if you need to alter the variables. For instance:

  • Show the 1.5x price of your products in shopping search engine feeds.
  • Make shipping free for products that cost more than 1000 USD (or any other price).
  • Manage product inventory numbers.

Feed Automation

Catch issues before export

Feed validator in Mirasvit Advanced Product Feeds Magento 2 extension

The validator checks any feed against defined validation rules and shows a clear report, helping you meet marketplace requirements.

Set rules in the feed editor at Content Settings > Validation Rule. Typical checks include title length, presence of required fields, character encoding, expected value types or formats, etc.

If a rule is present, validation runs automatically after generation, and a Quality Control status appears on the Feed Information tab. You can also run validation manually to review errors with line numbers, correct product data, and regenerate the data.

Your feed will always be up to date

Our extension supports several ways of updating the product feed and one of them is done automatically via cron job. You can set up the feed generation schedule at any time or day of the week.

Let's say you need to renew your Magento 2 Google product feed on Mondays and Wednesdays at 7AM. The Product Feed Magento extension can perform this automatically on schedule, making the process much more efficient.

Access any feed by its unique URL

Every generated product feed in your store gets its own unique link for access. Use this link for tracking purposes, for example, in Google Analytics. The extension can automatically add Google Analytics parameters to the product feed URL.

Depending on the shopping engine, this link can contain a txt, csv or xml file. The latter one can be used as a Magento rss product feed.

Send feeds straight to Google Merchant Center

You do not have to upload a file anywhere. Configure your Merchant ID and service account key once, switch Merchant Center on for a feed, and the extension submits it through Google's Merchant API.

Every feed carries its own settings: target countries, content language, feed label, how often Merchant Center re-fetches it on its own schedule, and whether the upload fires automatically after each generation or only when you press Submit.

Products are not the only thing you can send. Pick the content type on the feed and submit supplemental data, local and regional inventory, promotions, product reviews or merchant reviews. Feeds created from a built-in Google template arrive with the right type already selected.

The Google Shopping Promotions template publishes your active cart price rules, so percentage discounts, fixed discounts, free shipping and free gifts appear next to your products in Shopping results. For everything specific to that channel, see our Magento 2 Google Shopping feed page.

Merchant Center upload needs PHP 8.1 or newer and Google's own SDK installed alongside the extension. When the SDK is missing, the admin shows you the exact command to install it and cron skips the upload step rather than failing the whole export.

You can schedule the upload

Automate the delivery of your product feed to the shopping engines. Get the service's FTP, FTPS or SFTP credentials, add them to the feed, set the transfer mode and you're good to go. The extension will automatically deliver the files of the product feed.

Use the Test Connection button to verify the correct communication of your store with the servers of the shopping engine.

Remain in control

The extension can send an email after each successful feed generation and delivery, or after multiple failed ones. You won't have to sacrifice control for convenience.

Full Feed History

Always know your feeds have synchronized successfully

In addition to notification emails, on feed generation you can get detailed information on it in a feed history tab. Track when the feed update was created, what source triggered the update, see the type of action that was made to the feed and general details of the process.

Product Analytics

Take advantage of your data

Use a built-in reporting tool to track general effectiveness for all your feed for any given time period. Alternatively, you can watch the performance of any specific feed.

Enable and disable tracking clicks and orders for each feed individually. You will be able to see how many clicks and orders you received from a particular product feed during the reporting period.

Display all details regarding your product feeds in the grid. Use product filters to narrow down the scope of view on the available data. You can track almost any parameter of your product feeds, including revenue, revenue per click, sold SKUs, etc.

Visualize any of the information in the grid on the interactive graphical chart. Adjust this chart to your needs by selecting its most suitable form: pie chart, diagram, histogram, etc.

Export generated reports to CSV and Excel XML files.

Use one of the most powerful tools available

You can review feed reports in your Google Analytics account. Just set the desired UTM parameters and monitor them in Google Analytics reports.

Specify such parameters as campaign source (google, newsletter4, etc.), campaign medium (cpc, banner, email), campaign name and term. Additionally identify paid keywords of the campaign.

If you've already been tracking your campaigns in Google Analytics, you can carry on seamlessly.

Command Line Interface Support

Work with your product feeds in the terminal

Our Magento product feed extension provides two ways of managing your feeds. You can do it in the backend admin panel of your store or using the command line interface.

With the command line interface, you get the possibility to take the following actions in your product feeds:

  • Generate all active feeds
  • Generate feed with a specified ID
  • Make a delivery of all active feeds
  • Make a delivery of the feed with a specified ID
  • Validate the file a feed actually produced, in plain text or JSON
  • Run AI optimization until the catalog is covered

The validation command is built for automation: it reports every check with the number of products examined and exits with an error code when one fails, so you can wire it into a deployment or monitoring script and find out about a malformed feed before the marketplace does.

Full Template List

Here is every template that ships with the extension, 130+ of them, from Google Shopping and ChatGPT to the regional price comparison engines that matter in one country and nowhere else. Find the one you need with quick search, an A–Z index, or the curated list of popular marketplaces on the home screen.

  • 2Performant
  • AbeBooks
  • Adcell
  • AdForm
  • AdRoll
  • Allegro
  • Alza
  • Arukereso
  • Awin
  • Bantoa
  • Bazaraki
  • Become
  • Beslist
  • BidOrBuy
  • Billiger
  • Bing Feed (Microsoft Advertising)
  • Bol
  • Bonanza
  • Cdon Availability
  • Cdon Media
  • Cdon Price
  • Cdon Product
  • Ceneje
  • Ceneo
  • ChatGPT
  • Check24
  • Ciao
  • CJ
  • Compari
  • Comparis
  • Criteo
  • Custom CSV
  • Custom TXT
  • Custom XML
  • Domodi
  • Drezzy
  • eBay
  • eMAG
  • Facebook Dynamic Ads
  • FashionChick
  • FashionUp
  • Faslet
  • Favi
  • Fishpond
  • Fnac
  • Fruugo
  • Fyndiq
  • Geizhals
  • GetPrice
  • Glami
  • Google Shopping
  • Google Shopping (configurable products)
  • Google Shopping CSV Feed
  • Google Shopping Local Inventory Feed
  • Google Shopping Promotions
  • Google Shopping Regional Inventory Feed
  • Google Shopping Review
  • Google Shopping TXT Feed
  • Google Shopping Update
  • Guenstiger
  • Hepsiburada
  • Heureka
  • Hotline
  • Houzz
  • Idealo DE
  • Instagram
  • Instagram (XML)
  • Joom
  • Kaufland
  • Kelkoo
  • Klaviyo
  • Kogan
  • KuantoKusta
  • Kurpirkt
  • Kwanko
  • Lamoda
  • Le Guide
  • Marktplaats
  • Miinto
  • Okazii
  • Okazje
  • OnBuy
  • Overstock
  • Pigu Product
  • Pigu Stock and Prices
  • Pinterest
  • Pinterest (XML)
  • Price.ro
  • PriceGrabber
  • PriceMe
  • PriceRunner
  • PriceSpy
  • Prisjakt
  • Rakuten
  • Rozetka
  • SALESmanago
  • Salidzini
  • ShareASale
  • Shopbot
  • Shopee
  • Shopenauer
  • ShopMania
  • Shopping24
  • ShopPrice
  • Shopzilla
  • Skapiec
  • Skroutz
  • Snapchat
  • Spartoo
  • Storefront Social Facebook
  • Stylight
  • Target Circle
  • TikTok
  • TikTok (XML)
  • TradeDoubler
  • TradeTracker
  • Trovaprezzi
  • Trovaprezzi (XML)
  • Tweakwise
  • Twenga
  • Vergleiche
  • VidaXL
  • Walmart (Inventory)
  • Webgains
  • Webgains (XML)
  • Wine-Searcher
  • Wish
  • Yahoo! (formerly Yahoo! Gemini)
  • Yatego
  • Zalora
  • Zbozi

You are not limited to the predefined list of comparison shopping engines. Create your own templates for any marketplace you need.

Install Advanced Product Feeds and increase your sales on marketplaces and comparison shopping engines!
No hidden fees
Lifetime access to source code
Access to free support and updates for 1 year
Updates and support prolongation - $108

Pay today $179 for the first year.

Then $108 for updates and support services per year.

Cancel anytime.

30 days money back guarantee
See it in action!
Pick a quick tutorial to learn about various aspects of this extension
Customer Reviews 264
Earn points for your review about this extension modules. $1 = 10 points
Write Your Own Review

check-circle You submitted your review for moderation.

tbb.agency Verified Buyer
From Barcelona, Spain
Using the module for 3 days
Solid upgrade after years of real use
We’ve been using Mirasvit’s Google Shopping Product Feed extension for years on several Magento 2 projects and it has always done its job without surprises. Stable, predictable and easy to keep running in production.

We recently switched to Advanced Product Feeds and the move made sense straight away. The upgrade via Composer was smooth, no issues after deployment, and everything worked as expected. The extra control over feed rules and structure is a big plus, especially when dealing with larger or multi-store catalogs.

From a Magento 2 developer point of view, it feels like a mature module built by people who actually understand real-world Magento setups. So far, we’re very happy with it.

----------------

Llevamos años utilizando el módulo Google Shopping Product Feed de Mirasvit en varios proyectos Magento 2 y siempre ha sido una solución muy estable, sin sorpresas en producción y fácil de mantener.

Hace poco dimos el salto a Advanced Product Feeds y la decisión fue bastante natural. La actualización vía Composer fue limpia, no hubo incidencias tras pasar a producción y el módulo empezó a funcionar desde el primer momento. La flexibilidad extra a la hora de definir reglas y feeds se nota, sobre todo en catálogos grandes o multi-store.

Desde la experiencia de un desarrollador Magento 2, se nota que es un módulo maduro y bien pensado para entornos reales. De momento, muy satisfechos con el cambio.
Also installed:
Advanced Reports,  Reward Points,  Affiliate,  Automatic Related Products,  Full Page Cache Warmer,  Google PageSpeed Optimizer,  Extended Shopping Cart Rules and 8 more
George Verified Buyer
From Hendon, United Kingdom
Using the module for over 3 years
Used for 5 years and no problems
It had been some time since we updated this extension and for Magento technical reasons. The latest update was easily installed through Composer and went straight into production without any issues. I have been using this extension for a long time and it ticks all the boxes you could need. The updates are always progressive and kept on top of. I would say it is the best out there at this point in time.
Also installed:
Elastic Search Ultimate,  Layered Navigation,  Advanced SEO Suite,  GDPR,  Reward Points,  Blog MX,  Google Tag Manager and 16 more
Lukasz Verified Buyer
From Gdańsk, Poland
Using the module for 20 days
Very good extension
Probably the best product feed extension on the market. Easy to configuration.
Also installed:
Blog MX,  Advanced SEO Suite,  Improved Sorting,  Mass Product Actions,  Order Management,  Admin Bookmarks,  Product Labels and 16 more
Jason Verified Buyer
From Ottawa, Canada
Using the module for 6 months
Best in clas
Before i bought this module i tried a few module that where priced lower. they did not perform well and i ended up buying this one, it perfom as expectd and has advanced analytics tracking, this is the best on the market.
Also installed:
Google PageSpeed Optimizer,  Automatic Related Products
Adam Verified Buyer
From Katowice, Poland
Using the module for over 3 years
Very usefull module
Usefull module for feeds, we are using it for few projects.
Also installed:
Blog MX
Manual & Support
Need more help?

Save time by starting your support request online and we'll connect you to an expert.

Frequently asked questions
chevron-down chevron-right

Does the extension submit feeds to Google Merchant Center automatically?

Yes. Configure your Merchant ID and service account key once, switch Merchant Center on for a feed, and the extension submits it through Google's Merchant API. No file uploads, no FTP.

Each feed sets its own target countries, content language, feed label, how often Merchant Center re-fetches it, and whether the upload runs automatically after every generation or only when you press Submit. Besides the products feed you can send supplemental data, local and regional inventory, promotions, product reviews and merchant reviews.

Merchant Center upload requires PHP 8.1 or newer and Google's own SDK installed alongside the extension. If it is missing, the admin shows the exact install command and cron skips the upload step instead of failing the export.

chevron-down chevron-right

Which marketplaces and channels have ready-made templates?

130+ templates ship with the extension, covering Google Shopping, Bing, eBay, TikTok, Pinterest, Snapchat, Instagram, Facebook, Criteo, Klaviyo, ChatGPT for OpenAI's commerce platform, and a long list of regional price comparison engines: Ceneo, Heureka, Glami, Skroutz, Kaufland, Allegro, eMAG, Idealo, Kelkoo and others. The full list is on this page.

For a channel with no ready template, build one with the Custom CSV, TXT or XML template and the pattern library. Any structure a marketplace asks for can be produced that way, and you can save it as your own reusable template.

chevron-down chevron-right

What does AI optimization actually change in my feed?

It changes the product data, not the feed structure. An AI profile targets one field and does one of three jobs: rewrite text such as a title or description, map your store category to a Google product category, or fill structured attributes like color, size and material from what the catalog already knows.

Assign a profile to a feed and every reference to that attribute picks up the optimized value, with no edit to the feed template. Where a profile is off or has no value for a product yet, the feed emits the original value exactly as before.

chevron-down chevron-right

Does AI optimization slow down feed generation?

No. Optimization runs in the background on cron and every result is stored, so feed generation reads ready-made values and never waits on an AI call. Exports take exactly as long as they did before you added a profile.

When you need coverage before a campaign rather than on the background schedule, run the mirasvit:feed:ai:optimize command to work through the catalog on demand.

chevron-down chevron-right

How much does AI optimization cost, and how do I keep it under control?

It runs on the AI provider you already configured in Mirasvit Core, so you spend on your own key. There is no separate subscription and no markup from us.

Before enabling a profile, preview it on real products: you see the values it would generate, the token estimate, and how many calls the full run takes. Once it runs, the profile list shows coverage as a percentage next to the tokens spent.

Category mapping is cheaper than catalog size suggests. Products are grouped by the prompt they render, so cost follows the number of distinct category and attribute-set pairs: a store with 300 categories costs roughly 300 calls whether it holds 3,000 products or 300,000.

chevron-down chevron-right

Can I review AI-generated values before they reach a live feed?

Yes. Set a profile to manual approval and generated values are held until you approve them, while the live feed keeps serving the previous value in the meantime.

The results grid shows the original and the optimized value side by side, with the state and tokens used for each. Approve them in bulk, override any single value by hand, or send one back for re-optimization.

chevron-down chevron-right

Can I export to a channel that has no ready template?

Yes. Start from the Custom CSV, TXT or XML template and build the structure the channel asks for. Patterns let you call any attribute, apply filters and basic PHP functions, run calculations, and pull values from a parent product, so the output can match almost any specification.

Dynamic attributes and dynamic variables cover the rest: conditional values, shipping rules, GTIN lookups, stock totals across sources. Save the result as your own template and reuse it for similar channels.

Changelog
Version 1.15.2Aug 12, 2026
JSONL — a new feed format for data pipelines — pick JSONL as the feed type and every product is exported as one JSON object per line, instead of a CSV row or an XML node. You build it in the same column editor you already use for CSV: each column's header becomes the key, and its value comes from an attribute or a pattern exactly as before. Values are escaped as valid JSON, so a quote or a line break in a description can no longer break the line. A column set to All Attributes emits every attribute the product has, keyed by the attribute's store label. This is the format most warehouses and ingestion tools (BigQuery, Snowflake, marketplace bulk APIs) expect, and unlike a single large JSON file it can be read line by line, so a partner never has to load the whole catalog into memory to process it.
Compress the generated file (gzip) — a Compress output (gzip) switch on the feed's General tab, available for CSV, TXT and JSONL feeds. The finished file is packed and published as, for example, products.csv.gz, which for a typical catalog is several times smaller — faster to upload, cheaper to transfer, and accepted directly by most channels and data pipelines. Compression is streamed, so turning it on does not increase the memory a large export needs. Quality-control validation still checks the real published file: the archive is unpacked before the rules run, including on stores that keep media on remote storage such as AWS S3. An export that produced no products yields a valid empty archive rather than an unreadable zero-byte file. Note: enabling this changes the feed's filename and therefore its URL — update anything that fetches the previous address.
⚠️ The feeds table gains an is_compressed column, added automatically by setup:upgrade.
Version 1.15.1Aug 11, 2026
Real numbers, booleans and nulls in the JSON output of an XML feed — until now every value in the generated .json arrived as a string, a field with one nested element became a single object where two made a list, and an empty value simply disappeared. A partner asking for a price as a number or a stock flag as true/false could not be served by any template. You now say what a value is where you write it, the same way an XML schema does: mark the element xsi:type="xs:decimal", xs:integer or xs:boolean and it is converted, mark it xsi:nil="true" and it comes out as null, mark it xsi:type="array" and it is always a list even when the product has only one of them. Nothing is guessed from the value itself, so an SKU of 0012333 keeps its leading zeros and a text attribute reading "true" stays text. A value that does not match the type you declared is left as a string rather than turned into 0 or false, so a typo in a template cannot silently corrupt a feed. Feeds that declare nothing produce exactly the same JSON as before.
JSON tab in the feed preview — with Generate JSON enabled, the preview now shows the JSON alongside the XML, so the output can be checked while the template is being written instead of after a full export. If the JSON cannot be produced, the preview shows why, on the same screen where the template is fixed.
A template whose output is a series of top-level elements rather than one enclosing element is now converted to JSON as well — previously the .json for such a feed could not be produced at all.
Templates that use prefixed tags such as <g:id> without declaring the prefix on the root — which is what shopping channels expect — no longer produce parser warnings during export.
When the generated XML was broken (a truncated file, unbalanced tags, an empty result), the export finished quietly and left the previous, now stale .json published next to the new .xml. The export now stops with a message naming the tag and the line in your template output that caused it.
A value declared as a decimal ships in its shortest form — a price formatted as 9999.00 becomes 9999 — while a genuine fraction such as 34.50 keeps it, and a number too large for the platform's integer range stays text instead of being replaced by a wrong one.
⚠️ Upgrading from an older version could stop with a fatal error when a stored feed validation schema was not parseable on its own; such records are now skipped and the upgrade completes.
Version 1.15.0Jul 31, 2026
AI-assisted feed optimization — Your catalog was written for your product pages; shopping channels want something else. That gap is why Merchant Center disapproves items, why variants collapse into one listing, and why products miss the searches they should win. Point an AI profile at a field and the extension fills what is missing:
Two new console commands, for stores that automate their feed pipeline:
show the group count on a preview
delete a stored value from the results grid
generate a batch on demand from the AI results grid
working preview, coverage in the grid, and no one-option questions
shipped AI profiles follow Google's title guidance and see the whole product
results grid, approve gate, real preview, spend surface, Validator hand-off (pm[#844]())
category-mapping executor with cross-run phrase cache (pm[#841]())
batched text-rewrite and attribute-enrichment executors (pm[#840]())
AI optimization run model — orchestrator, drip cron, CLI catch-up (pm[#839]())
AI export seam — generation reads stored optimized values (pm[#842]())
merge PROP-0218 branch (pm[#838]() engine) into S7
merge S7 AI profile library admin (pm[#843]())
AI profile library admin (pm[#843]() / PROP-0218 S7)
merge AI engine foundation slice (pm[#838]()) into PROP-0218 branch
AI engine foundation services for feed optimization (pm[#838]())
AI feed optimization data model (S1)
AWS S3 / remote media storage support — Feeds now generate, validate, and display correctly on stores that keep media on a remote backend such as AWS S3. Previously the feed logo was reported as missing, feed generation could fail outright, the public feed URL pointed at a private bucket path that browsers couldn't open, and quality-control validation of the generated file failed. Now logos are detected on the remote, the feed is built locally and only the finished file is stored remotely, the feed URL is a proper browsable media URL, and validation reads the file through the storage backend so it works even on private buckets.
The Advanced Product Feeds admin menu no longer lists every feed you have created. On a store with a few dozen feeds the menu grew long enough to push the section links off the screen; the Feeds grid reaches any one of them in a click, with the search and filters the menu cannot offer.
Button labels across the extension's admin screens now read in Title Case, and every button that creates something is phrased the same way — Add New Feed, Add New Template, Add New Filter, Add New Profile, Add New Attribute, Add New Category Mapping, Add New Variable. Previously these six differed from one another, and labels such as Clear values or Test connection were cased differently again. Field and column labels are unchanged.
Nine categories in the shipped Google product taxonomy had corrupted characters (for example Piñatas instead of Piñatas, Sauté Pans instead of Sauté Pans). They appeared mis-spelled in the Category Mapping autocomplete and could not be selected reliably; the taxonomy file now uses the correct encoding.
The Feed Templates grid now honours the admin role restriction that guards the page it lives on. The grid's own data and export routes were not covered by that check, so an admin role without access to the feed section could still read or export the list by calling them directly.
The Delete button was missing from the Filters form, so a filter could only be deleted from the grid. Its Save button also offered no Save & Close, unlike every other form in the extension — the form now carries the same split Save, both while creating a filter and while editing one.
give the AI profile and filter forms the Save split button they declared
satisfy phpstan, and assert what the two AI acceptance tests can actually observe
say that assigning a profile to a feed rewrites the feed's own attributes
say which ai: tokens a feed can use, and stop hiding half of them
drive Save through the form adapter, which is what actually binds
a plain Save click works again, and a state is just its badge
preview lists every attribute asked about, answered or not
preview's Original column covers every attribute the profile fills
declare skipped in the run-totals return shape
set the prompt placeholder through config, not a settings element
recognise Enter by key as well as keyCode
give a typed attribute name the option fields the list renders
one label per attribute field, and pick a text rewrite's target too
say when a profile is generating for a feed that never reads it
eight defects the QA pass found in AI optimization
bring the unit suite back to green
stop offering category mapping the pacing it ignores
preview costs what the launch it previews would cost
preview an enrichment profile before saving it
an ETA that counts the work a launch does for free
make the coverage bar's two numbers add up
the Tokens column no longer multiplies enrichment spend by its outputs
the Original column shows the attribute the row is about
stop recording "the product does not say" as a failure
an enrichment column no longer emits a different attribute
do not treat the filters placeholder as a filter
stop the validation report's filters leaking between feeds
send a missing profile id back to the library, not to Edit
let the results-grid row menu out of the grid wrapper
sort the numbered attribute groups naturally
refuse a batch size the executor would only clamp
make the AI preview endpoint POST-only
run the assignment checks on mass enable
offer Fix with AI on an XML feed's fields
a wrong field count took feed generation down with a 500
record a fill-mode skip, or the profile never converges
stop the results-grid filters leaking between profiles
save the inline override the results grid actually posts
point the declared State filter at the filters container
give the State filter its options
show a value held for approval in the results grid
keep a results-grid mass action on the grid, and let select-all mean it
gate the AI and template grids at the dataSource, not just the page
cast the serializer result so the json filter keeps its string return
connection() must not native-type its return, or the resource tests TypeError
the AI drip was dead on a stock MySQL, and a retarget generated nothing
the split-button option ids collided with the UI form's own save selectors
make the rewrite reply-shape a constant so the scanner stops asking for __()
satisfy the phpstan and translation-scan gates
point ParamsExportCest at the labels this branch renamed
the AI templates must escape through $block — $escaper does not exist on 2.3
the smaller findings — context leak, GET-triggered bulk delete, escaping, store labels
re-optimize has to blank the stored hash, or it queues nothing
bound a launch by its wall clock, and stop bisecting failures that are not the reply's
one insertOnDuplicate per column set, so a mixed portion cannot lose values
one Save control on the profile form, and one place that resolves scope
Save and Delete on the AI profile form, and show a launch in progress
make the AI screens usable — three groups, real defaults, honest grid
sentence-case admin labels across every screen, not just the AI ones
admin labels use sentence case, per the field-label convention
make the profile chooser actually render, and stop pre-selecting Blank
split AI profile creation into choose-then-form, like a new feed
place AI Optimization in both menus, and give its screens their stylesheets
AI assignment substitution must cover method-backed attributes (pm[#842]())
one-line notices on Is active and Code, none on Apply to feeds
explain Is active, Code and Apply to feeds on the profile form
AI-assisted feed optimization. A library of named AI profiles that rewrite or enrich selected feed fields — product titles, descriptions, Google category mapping, and structured attributes such as colour, size and material — using the AI provider you already configured for Mirasvit Core. Optimization runs in the background and its results are stored, so feed generation reads ready-made values and never waits on an AI call: your exports stay exactly as fast as before. Assign a profile to your feeds and every reference to the target attribute picks up the optimized value with no change to the feed itself, or reference ai:<code> on a single column when you want one field optimized and another left alone. Profiles preview on a handful of real products before you enable them, report the tokens they have used and the tokens still needed, and can hold generated values for your approval before any of them reaches a live feed. Where a profile is switched off, or has no value for a product yet, the feed emits the original value exactly as it does today.
A Fix with AI action on the feed validation report, which turns a flagged missing or invalid field into a prefilled optimization profile in one step.
A console command, mirasvit:feed:ai:optimize, for covering a large catalog on demand instead of waiting for the background schedule — useful before a campaign launch.
Button labels across the extension's admin screens now read in Title Case, and every button that creates something is phrased the same way — Add New Feed, Add New Template, Add New Filter, Add New Profile, Add New Attribute, Add New Category Mapping, Add New Variable. Previously these six differed from one another, and labels such as Clear values or Test connection were cased differently again. Field and column labels are unchanged.
Saving an AI profile that no feed uses yet no longer shows a warning about spending tokens without changing feed output. Generating ahead of wiring a feed up is an ordinary step, and the profile screen already states that it covers every store view until a feed narrows it, and shows the tokens spent.
Nine categories in the shipped Google product taxonomy had corrupted characters (for example Piñatas instead of Piñatas, Sauté Pans instead of Sauté Pans). They appeared mis-spelled in the Category Mapping autocomplete and could not be selected reliably; the taxonomy file now uses the correct encoding.
The Delete button was missing from the Filters form, so a filter could only be deleted from the grid. The Save button on the Filters and AI profile forms also offered no Save & Close, unlike every other form in the extension — both forms now carry the same split Save, and it is available while creating a record as well as while editing one.
Version 1.14.9Jul 24, 2026
The Test Connection button no longer uploads anything to your FTP/SFTP destination. It used to place a deliverer.txt file there — actually a copy of one of the module's own PHP files — which exposed source code and, on stores whose remote folder is watched by a feed consumer (such as OpenAI Ads Manager), was picked up and ingested as a bogus feed. The test now only verifies that the server is reachable, the credentials work, and the destination path exists, leaving the folder untouched. Failed tests also report the reason more clearly, distinguishing a wrong SFTP login from an invalid SFTP path.
CSV and tab-delimited feeds no longer lose the last row's empty trailing columns. If the final product in the feed had no value for the last few columns, those columns were trimmed away, so the closing row had fewer columns than the header — and marketplaces that read values by column position misread or rejected that product. Every row now has the full set of columns.
Feed generation no longer fails for products with an empty list field. When a template used the first or last filter on something a product had no values for (for example a product with no gallery images), the export aborted with a fatal error; such fields now simply come out empty and the feed generates to the end.
Test Connection for FTP/SFTP no longer leaves any file on your destination folder. The button used to upload the module's own source code as a deliverer.txt file to the remote directory — on stores whose remote folder is watched by a feed consumer, that stray file could be ingested as a bogus feed, and it exposed PHP source. Test Connection now only checks that it can reach, sign in to, and open the configured folder, without writing anything to it.
Fixed the Indonesian "Last %1 days" date-range label, which showed a literal %1 instead of the number of days because of a stray space in the translation.
AWS S3 / remote media storage support — Feeds now generate, validate, and display correctly on stores that keep media on a remote backend such as AWS S3. Previously the feed logo was reported as missing, feed generation could fail outright, the public feed URL pointed at a private bucket path that browsers couldn't open, and quality-control validation of the generated file failed. Now logos are detected on the remote, the feed is built locally and only the finished file is stored remotely, the feed URL is a proper browsable media URL, and validation reads the file through the storage backend so it works even on private buckets.
Version 1.14.8Jul 23, 2026
Testing an FTP/SFTP feed connection no longer leaves a leftover file behind. The Test Connection button used to upload a deliverer.txt file to the destination folder and never remove it; it now writes a temporary file only to confirm write access and deletes it once the test passes, so the target directory stays clean.
Reasons to choose Mirasvit
Client focusing and satisfaction

These are our primary. A major portion of our new clients come from referrals from our existing clients. Our professional team of developers, marketers and support staff have invested the best knowledge and experience in the field into our work, so you know you can come back to us again and again.

Remarkable support

One year free and high quality support. We go to great lengths to provide maximum satisfaction with every module you have purchased in our store. By helping you with installation, configuration, answering your every question, we do all our best to eliminate any possible problems.

Risk-free Investment

30-days money back guarantee. If you are not satisfied with our extension performance for any reason, we provide a full refund.

Constant improvements and upgrades

We constantly add new features to all our modules, and are always interested in hearing your opinion and implementing your suggested features in our future developments.

Comprehensive Documentation

We provide an expanded user guide for every aspect of our extension, so you can find answers for all your burning questions.

Unencrypted source code of our products

You can customize extension according to your needs and requirements.

Usability and Performance

The Module is easy to install and upgrade, just follow our step-by-step user guide. Additionally, the extension is ready to use with the Hyvä theme.

Ready for Magento Cloud

No core modifications. The extension has been tested in a Magento Cloud environment and is fully compatible with it.

Loading...