Magento 2 Facebook Product Feed

View Demo

Your site is not the only place to advertise and sell your products. Facebook offers humongous marketing opportunities. Taking advantage of them is a smart choice for any business.

Magento 2 Facebook Feed lets you easily generate product feeds for Facebook Dynamic Ads or Facebook Store.

  • Generate product feeds for Facebook Dynamic Ads or Facebook Store
  • Export as many feeds and products as you need
  • Use templates, duplicate for similar channels, or build from scratch
  • Validate feeds against your custom rules before export
  • Filter variables with conditions
  • Schedule feed generation and delivery

ℹ️ Important: This sub-module is included in the Advanced Product Feeds extension.

Buying this item gives you access to all feeds including Facebook, Instagram, Google Shopping, and others in one powerful package.

Hyvä
Magento Cloud
Mage-OS
Compatible with:
Community:
2.3.* - 2.4.9
Enterprise:
2.3.* - 2.4.9


Business Value

  • Opportunity: Facebook has over 3,59 billion active users worldwide with 33 minutes of average time a user spends on this social media platform. It is a perfect Find a new audiAds on Facebook have one of the most advanced targeting options on the market, too. You can take advantage of both Facebook’s traffic and its tools by either marketing your products with its Dynamic Ads or creating your own Facebook Store.
  • Problem: You have to regularly export your products to Facebook in order to advertise and sell products there. This means that you have to generate a product feed and automate it.
  • Solution: Magento 2 Facebook Feed is a comprehensive solution for product feed generation and automation. It lets you generate product feeds for either Facebook Dynamic Ads or Facebook Store, customize them, automate their generation and delivery, use analytics to track their performance, and so much more.

How it Works

This feature lets you generate a product feed for Facebook Dynamic Ads or Facebook Store. Get a Facebook Shop integration Magento 2 feed which you can then import to the social network. We have templates that work out-of-the-box, but you can extensively customize them or even create your own ones. Feed generation and delivery can be automated, and there is also an extensive analytics suite.

Main Advantages

Export as Many Feeds and Products as You Need

Concentrate on your business, not your quota. You can update with as many products as you need to as often as you need to.

Facebook’s unlimited product import feature ensures that businesses, whether they are recently launched startups or established endeavors, can keep their product catalogs in sync with market dynamics. The result of using the Facebook product feed Magento 2 is a digital storefront that can promptly respond to changing consumer preferences, emerging trends, or seasonal shifts.

Use Ready Templates or Create Your Own Feeds

This feature includes ready-to-go Facebook Dynamic Ads and Facebook Store feed templates. Just set up the extension, choose the corresponding marketplace, shopping engine or advertisement network, and generate the feed to start marketing.

If you need more control over the feed, you can further customize it with our advanced set of patterns and variables. For example, instead of displaying the regular price, it may be required to display the Final Price with Tax or a Special Price. You can duplicate a template to reuse its configuration for similar channels.

Our Magento 2 Facebook shop extension offers full freedom when configuring the product feed. Create an individual template tailored to any sales channel, or generate a custom feed without a template when your channel requires a unique structure.

Filter Variables with Conditions

Consider a scenario where an online store offers a vast array of products. Each its product category has specific attributes, and tailoring the shopping experience for customers becomes imperative.

Our Magento 2 Facebook shop integration extension offers robust filtering options. Businesses can effortlessly filter out specific products based on a multitude of conditions.

Whether it's about showcasing a dedicated product set to a specific demographic during a particular season, or a response to market trends - this feature enables businesses to curate their offerings with surgical precision.

Validate Feeds Before Export

Make sure your file meets Facebook’s requirements before you upload it. The validator works with any feed and helps you catch issues early, so your catalog passes review faster.

Set up checks in Content Settings > Validation Rule, generate the feed, and run validation. If a rule is present, the check can run automatically, and you can also start it manually at any time. The result is a clear report with line numbers and plain-language messages.

The validator looks for common problems such as title length, missing required fields, character encoding, price and currency formats, and dimensions, along with any custom constraints you include in the rule. Open the product or attribute, correct the data, regenerate the feed, and validate again to publish accurate information on the first try.

Program Feed Generation and Delivery

Do you update your products regularly? Manually updating product feeds can be a time-consuming task, prone to errors and inconsistencies.

Our Magento Facebook plugin simplifies the task by offering a feed generation schedule based on Cron system utility.

Furthermore, our module continues feed automation with an automated feed delivery support. Easily configure to deliver the product feed to Facebook via FTP or SFTP, ensuring the secure and efficient transmission of product catalog data.

Magento product feed Facebook reports

Get additional view on the Facebook feed Magento 2 success. By tracking the number of clicks and orders made after customers are redirected from the marketplace, businesses gain insights into the effectiveness of the product feed.

Our extension provides comprehensive reports that break down data by Feed, SKU, Day, Week, Month, and Year.

To send Meta the views, add-to-carts and purchases these ads bring, from the browser and from your server, add our Facebook Pixel & Conversions API extension.

No hidden fees
Our developers install the extension on your store and configure it for your setup, free of charge.
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 0
Earn points for your review about this extension modules. $1 = 10 points
Write Your Own Review

check-circle You submitted your review for moderation.

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

Why do I need a Magento Facebook shop integration?

Facebook allows businesses to dynamically showcase their products or services to a highly targeted audience, enhancing visibility and driving sales.

The Magento Facebook product feed essentially acts as a bridge between an online store's inventory and Facebook's advertising platform. By implementing Magento 2 Facebook store integration using this feed, businesses can seamlessly display their products on Facebook, reaching potential customers with tailored advertisements.

chevron-down chevron-right

Does the Magento 2 Facebook feed require manual update?

What makes our Magento 2 Facebook product feed extension exceptionally powerful is its ability to automatically update the feed. This means that any changes made to the inventory, such as new products or updated prices, are reflected in the ads, ensuring that customers always see the latest offerings.

chevron-down chevron-right

Does the Magento Facebook extension provides a product feed efficacy report?

Our Magento Facebook store integration tool offers tracking capabilities for the Magento Facebook feed via special arguments, which are appended to the product URLs.

The feed efficacy report includes such columns as Number of Clicks, indicating how many times customers redirected from the marketplace to your site.

Number of Orders quantifies the conversions that occurred after customers were redirected. Knowing this figure not only gauges the effectiveness of your marketing but also helps in inventory planning.

Revenue signifies the total earnings from the orders placed after marketplace redirection. Understanding your revenue trends can aid in strategic decision-making.

Revenue per Click is a metric that calculates the average revenue amassed for each individual click. This metric is a testament to the quality of your incoming traffic. A high revenue per click indicates that the visitors are not just browsing but making substantial purchases. This insight is invaluable as it enables you to focus your marketing efforts on channels that bring in high-value customers.

chevron-down chevron-right

Can this Magento 2 Facebook business extension generate a feed for a different service?

You absolutely can! In addition to Magento Facebook integration, our module offers **more than 50** templates for popular shopping services, including Amazon, Google Shopping, and eBay.

Changelog
Version 1.16.0Oct 21, 2026
Parquet feed type — Choose Parquet in the Type selector of a feed or template to publish your catalog as an Apache Parquet file, the columnar format read by data warehouses and analytics tools. Columns and their types (text, numbers, prices, lists) come from the template's declarations, and each value is converted to its column's type. The file is written in row groups across the export's passes, so large catalogs export without hitting time limits, and the output is checked against files written by the standard pyarrow library.
Parquet preview — Previewing a Parquet feed shows its column schema and a table of the rows it will write.
Parquet validation — bin/magento mirasvit:feed:validate checks a Parquet feed's file structure, and your field validation rules are applied to the rows of the file the feed published, read back row group by row group.
Custom JSON and Custom Parquet starter templates — The Custom Feeds block on the New Feed screen now offers blank JSON and Parquet templates alongside Custom XML, CSV and TXT, with typed price and weight fields and a list of additional images ready to edit. Existing stores get them on setup:upgrade.
Schedule a feed by cron expression — The feed's Scheduled task section has a new Schedule mode: Fixed times (the existing days-and-times picker, still the default) or Custom cron expression, which takes a standard five-field cron expression such as */15 8-18 * * 1-5. The expression is required in this mode and validated on save with the wrong field named, and a plain-language preview of when it will run updates as you type. The next run time is shown for both modes, and the schedule wording is translated into every supported locale.
Bundle Regular Price attribute — A new Bundle Regular Price product attribute exports a bundle's regular price calculated from its default selections, converted to the store's display currency like the other prices.
JSON Lines is now part of the JSON type — The standalone JSONL type is no longer offered in the Type selector; choose JSON with its "one object per line" framing instead. Existing JSONL feeds keep working and are shown as JSONL (legacy), but a new feed can no longer be created from a JSONL template, either in the admin or through the REST API.
Faster exports for feeds using attribute set, dynamic attribute, dynamic variable or category mapping values — These were loaded again for every product (a category mapping alone could cost over 20 database queries per product). They are now loaded once per feed export and reused, and an edited category mapping is picked up on the next export instead of an outdated copy being used.
Scheduled feeds start on time — The feed export cron job now runs every minute instead of every 30 minutes, so a cron-expression schedule fires in the minute it matches. A check that finds nothing due writes no history entry, and a feed that is still generating is skipped instead of being logged as an error. Looking up the last cron run is also a single lightweight query.
Google Merchant Center upload is offered only for CSV, TXT and XML feeds — The Google Merchant options no longer appear for JSON and Parquet feeds, which Merchant Center does not accept.
⚠️ New columns cron_mode, cron_expression and cron_started_at in the mst_feed_feed table, added by setup:upgrade.
Two exports of the same feed can no longer run at once and corrupt the file — On shared filesystems without file locking (NFS, AWS EFS), the per-feed export lock silently did nothing, so two exports of one feed could interleave their output (for example, duplicated <?xml?> headers). The lock is now held in the database and works on every filesystem. It is also released correctly when the lock file cannot be opened, and it nests safely on Magento 2.3, which allows only one database lock at a time, so scheduled and queued feeds keep exporting there.
A scheduled feed whose run failed or was stopped is no longer restarted right away — It now waits for its next scheduled time.
Feed prices are in the store's display currency and labelled with it — A configurable product's regular price and the price of products whose variants are all out of stock were exported in the base currency while other prices were converted. Every final price and regular price the feed outputs is now converted, and the bundled templates name the display currency next to them (Ceneje now fills in its currency code and regular price, and Fyndiq's old price reads the regular price).
Bundled templates no longer hardcode a currency — Fourteen templates printed a fixed code such as USD or RON, or left the currency empty, so stores with another base currency published mislabelled or unpriced feeds. They now use the store's base currency (Rozetka keeps UAH, its only currency).
Prices in bundled templates are rounded — The Ceneje, Kwanko, Fnac and VidaXL templates, and the new Custom JSON and Custom Parquet templates, printed converted prices unrounded (for example 24.0278 instead of 24.03). They now format them as prices, which also keeps Parquet price columns from coming out empty.
Custom JSON and Custom Parquet logos now match the style of the other Custom template logos.
Dynamic Variables are validated correctly — The syntax check reported every variable as invalid, including ones with correct code. It now checks the PHP code properly, without running it.
A missing Dynamic Variable file is reported instead of exporting a blank value — When a variable's PHP file is missing (for example after a server migration that did not copy var/), the feed exported the value empty with no warning. The export now finishes with a warning naming the affected variables, and the problem is written to the log. This check no longer re-reads the file for every product.
Saving a JSON or JSONL feed or template from the admin form no longer loses its content.
The XML editor of a JSON feed shows and saves the template you wrote, not its compiled internal version.
A feed validated with both field rules and declared-type checks no longer fails its export.
Parquet reliability — An interrupted Parquet export no longer publishes wrong rows; a number too large for a 32-bit float column is written as empty and reported instead of being stored as infinity; a damaged or truncated Parquet file is reported as a validation error instead of passing as clean; and a file the validation cannot read is written to the log instead of being silently ignored.
Fixed a PHP 8.5 deprecation notice caused by a template element without a declared type.
Fixed the AI Clear values confirmation ignoring its "overridden values" checkbox when the checkbox ID contained special characters.
Version 1.15.16Oct 14, 2026
"is not" condition for multiselect attributes in feed filters. Product filter conditions on a multiselect attribute (for example Activity or Material) now offer the is not operator. With one or more values selected, it keeps only products that have none of them: "Activity is not Hike, Sports" drops every product tagged Hike or Sports. Left empty, it keeps products that have any value set for the attribute and drops those where it is blank, which was not possible before. The filter gives the same result whether products are checked one by one or filtered directly in the database, and an unexpected stored value is safely ignored instead of being treated as a match.
The Library of Patterns in the feed template editor no longer fails to open. Depending on which other scripts happened to load first on the admin page, the widget could stop with a "_ is not defined" error in the browser console and stay unusable. It now loads the library it depends on itself, so it works on every page load.
Version 1.15.15Oct 6, 2026
A replaced feed or template logo now shows the new image straight away. Each logo is stored under the same file name every time you upload one, so the admin's link to it never changed and the browser or CDN kept showing the old, cached picture after a replacement. The logo link now changes whenever the image does, so the new logo appears at once. Clearing or replacing a logo also used to leave the old file behind in pub/media, and that stale picture could come back on the next upload; the old file is now deleted. This works on remote media storage such as Amazon S3 too.
Duplicating a feed or template no longer puts the original's logo at risk. A duplicate pointed at the same logo file as the original, so saving the copy or clearing its logo deleted the original feed's or template's logo as well. A copy of one of the bundled templates could delete the bundled logo (for example the Bing logo) in the same way. A duplicate now gets its own copy of the logo, and saving a feed or template only ever deletes a logo file that belongs to it, which also protects copies made before this update. Re-saving an existing feed also no longer replaces its own logo with a template logo of the same name; a feed takes its logo from a template only when it is created from one.
A {% capture %} block that loops over context.products now renders its content. A product loop placed inside a {% capture %} (for example, to compute a timestamp shown in the feed header) was mistaken for the feed's main product loop: once it had gone through the products it stopped the whole export, so the captured value and everything after it came out empty on every run. JSON Lines feeds built from column patterns were hit the same way, because each column is wrapped in a capture. Loops inside a capture now run through to the end and the rest of the feed renders normally; the main product loop works as before.
Products are no longer silently missing from a feed when an export is split into several runs. A large export pauses when it reaches its time limit (or is stopped) and continues in the next run. If that pause happened while a product loop nested inside the main product loop was running, as it does in JSON Lines feeds built from column patterns, the product being written at that moment was skipped and never appeared in the feed. Only the main product loop can now pause the export, and it does so between products, so every product's row is written in full.
Version 1.15.14Oct 2, 2026
Configurable and grouped products whose variants are all out of stock no longer export a price of 0. Magento only counts in-stock variants when it works out the price of a configurable or grouped product, so once every variant sold out the feed's price, regular price and final price came out as 0. Google Merchant Center then suspended the item for a £0 price, and services that read the feed, such as Klaviyo, picked it up as a free product. When no in-stock variant is left, the price is now calculated from all enabled variants, ignoring stock, so the product keeps its real price in the feed. Products with at least one variant in stock are priced exactly as before.
Unexpected errors in the feed and AI profile admin screens no longer show database details to the admin. When saving an AI profile, clearing its stored values, previewing it, or previewing a feed's JSON output ran into an unexpected error, such as a database failure, the raw technical message was shown on screen, including the SQL error code and the full database query. The raw message is no longer shown on any of these screens. Saving an AI profile, clearing its values and the feed JSON preview now show a short, translated message saying what failed, and the full details are written to Magento's exception log (var/log/exception.log) for your developer. Messages that explain what to fix in the form or template, such as "Choose a kind before previewing", are still shown as before. The new messages are translated into all 15 bundled languages.
Version 1.15.13Sep 30, 2026
Feeds that export category paths generate faster on large catalogs. The full category path (for example Men > Tops > Jackets) was rebuilt from the database for every product, even when thousands of products share the same few categories, so a large feed made one database query per product just for that column. Each path is now built once per category and store view during an export and reused for the rest of it. Category names still follow the feed's store view, and the output is unchanged.
AI optimization now works through products in a predictable order. Each AI run takes a limited batch of the products that still need work, but that batch was picked in whatever order the database happened to return rows, so which products got processed in a given run was unpredictable. The batch is now always the products with the lowest IDs that still need work, so the catalog is worked through steadily from one run to the next.
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 Magento to Facebook shop 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 Facebook store Magento, so you can find answers for all your burning questions.

Unencrypted source code of our products

You can customize Facebook shop Magento 2 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 Facebook Magento has been tested in a Magento Cloud environment and is fully compatible with it.

Loading...